您的位置:首页 - 教程 - Linux - 正文
Linux 学习笔记

Linux 学习笔记

1. Linux内核

主要是五个子系统组成: 进程调度、内存管理、虚拟文件系统、网络接口、进程间通信。

a. 进程调度(SCHED):主要控制进程对CPU的访问。Linux使用了比较简单的基于优先级的进程调度算法选择新的进程。

b. 内存管理(MM):允许多个进程安全的共享主内存区域。支持虚拟内存,当程序运行的内存总量大于实际内存时,操作系统会将其它的程序块保留在磁盘中,由操作系统负责内存与磁盘的程序块交换。

c. 虚拟文件系统(VFS):隐藏了各种硬件的具体细节,为所有设备提供了同意的接口,VFS提供了多达数十种不同的文件系统。虚拟文件系统可以分为逻辑文件系统和设备驱动程序。逻辑文件系统指Linxu所支持的文件系统,如ext2、fat等。设备驱动程序指为每一种硬件控制器所编写的设备驱动程序模块。

d. 网络接口(NET):可以分为网络协议和网络驱动程序。网络协议负责实现每一种可能的网络传输协议。网络设备驱动程序负责与硬件设备通讯。

e. 进程间通讯(IPC):支持进程间各种通信机制,处于中心位置的进程调度,所有其它子系统都依赖它。

2. 电源管理

电源管理可以将电源有效分配给系统的不同组件。通过降低组件闲置时的能耗,能够延长电源的寿命。主要分为:挂起、休眠、关机、重启。

a. 挂起:只保留内存运行,如遇断电的情况,挂起会丢失在内存中的数据。

b. 休眠:把内存中的所偶数据保存到硬盘中的交换分区(swap),并关闭电脑所有设备,所以休眠断电的情况下数据不会丢失。

c. 关机和重启:如果数据没保存,都会丢失数据。

d. 总结:挂起比休眠唤醒速度快,但是能耗高。

e. 命令操作

sudo pm-hibernate # 休眠

sudo pm-suspend # 待机

sudo pm-suspend-hybrid # 混合待机或睡眠

sudo pm-powersave # 省电模式

3.用户与群组

3.1 用户类型

用户登陆后,系统是通过UID来识别用户的, 用户信息存储在 /etc/passwd

用户类型分为及UID范围,如下:

超级管理员 0 # 具有整个系统的使用权限,默认禁止该账户直接登陆。

系统用户 1-499 # 默认时普通用户,但可以使用sudo命令得到root权限。

普通用户 500-65535 # 只能执行普通操作

3.2 群组

Linux中每一个用户属于一个群组(group),每个群组斗都有一个标识符,GID

所有群组和对应的GID都存放在 /etc/group 中。

4.文件与目录

4.1 文件

文件: 是存储在某种长期储存设备或临时存储设备中的一段数据流。

文件类型:

文本文件,是由一些字符的串行组成的。

二进制文件, 一般指除了文本文件以外的文件。

注意1:在Linux中,带有扩展名的文件,只能代表程序的关联,并不能说明文件是可以执行,从这方面来说,Linux的扩展名没有太大的意义。只要属性中有运行权限,那么就表示这个文件具有可以执行的权限,但是最终能不能成功运行,还得看文件的内容。并且在Linux扩展名不区分大小写。

注意2:文件名字前面有"." 表示隐藏文件。

神奇的命令

w

显示某一时间用户的行为

who

显示当前登陆的用户信息

pwd

打印当前用户所在的目录

mkdir

mkdir <DIR> #建立一个空目录

rm

rm <DIR> #删除一个空目录,如果非空,则会报错

rm -rf <DIR> #递归删除文件夹DIR,也就是删除DIR及其中的所有文件、文件夹。

ls

ls #列出当前目录文件(不包括隐藏文件)

ls -a #列出当前目录文件(包括隐藏文件)

ls -l #列出当前目录下文件的详细信息

ls -la #显示当前目录下所有文件和文件夹,包括隐藏文件,并显示文件详细信息

cp

cp test.text test2.text #复制到同一目录下,并命名为test.text

cp test.text /home/sun/ #复制到/home/sun文件夹下,保留原文件名

mv

mv file1 file2 #移动重命名文件名

touch

touch FILE  #若FILE文件不存在,此命令创建空文件FILE;若FILE文件已存在,则更新“访问时间”“

head FILE  #显示文件的前10行

head -n 30 FILE #显示文件的前30行

tail

tail FILE  #显示文件的末10行

tail -f FILE  #动态地显示文件的末10行。如果文件改变,则显示内容也即时改变。

tar

tar cf FILE.tar FILES #把一些文件打包,这将只打包不压缩

tar xf FILE.tar #解包文件

tar czf FILE.tar.gz FILES #打包文件并以gzip压缩

tar xzf FILE.tar.gz #解压缩并解包.tar.gz文件

tar cjf FILE.tar.bz2 FILES #打包文件并以bzip压缩,bzip压缩得到的文件比gzip更小

tar xjf FILE.tar.bz2 #解压缩并解包.tar.bz2文件

gizp

gzip FILE #将文件压缩到gz格式

gzip -d FILE.gz #解压缩gz文件。

find

find DIR -name FILENAME #在指定的文件夹(不指定则为当前工作目录)下寻找特定名称的文件。

find / -name xorg.conf #在系统的所有目录中寻找叫做”xorg.conf“的文件或文件夹

find /etc -name xorg.conf* #在/etc下的所有目录中寻找以”xorg.conf“开头的文件或文件夹

ln

ls -s FILE LINK #创建文件LINK作为FILE的软链接。软链接只是一种快捷方式,当原文件改变地址时会失效

ln -s FILE LINK #同样也是软链接

ln FILE LINK #硬链接,源文件地址改变时链接不会失效,不能跨文件系统创建硬链接

grep

grep PATTERN FILES #在文件中搜寻特定片段

grep -r PATTERN DIR #在文件夹中递归地寻找文件中的特定片段

COMMAND | grep PATTERN #在COMMAND的输出中寻找特定片段。

lspci | grep VGA #在lspci的结果中搜寻带有VGA字样的行。


评论: