GEEK学习笔记— —Linux常用命令

Posted Sin_Geek

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了GEEK学习笔记— —Linux常用命令相关的知识,希望对你有一定的参考价值。

cat命令

连接文件并打印到标准输出设备上,cat经常用来显示文件的内容。
注意:当文件较大时,文本在屏幕上迅速闪过(滚屏),用户往往看不清所显示的内容。因此,一般用more等命令分屏显示。为了控制滚屏,可以按Ctrl+S键,停止滚屏;按Ctrl+Q键可以恢复滚屏。按Ctrl+C(中断)键可以终止该命令的执行,并且返回Shell提示符状态。

语法

cat(选项)(参数) 

选项

-n或-number #有1开始对所有输出的行数编号; 
-b或--number-nonblank #和-n相似,只不过对于空白行不编号; 
-s或--squeeze-blank #当遇到有连续两行以上的空白行,就代换为一行的空白行; 
-A #显示不可打印字符,行尾显示“$”; 
-e #等价于"-vE"选项; 
-t #等价于"-vT"选项; 

参数

文件列表:指定要连接的文件列表。

cd命令

用来切换工作目录至dirname。 其中dirname表示法可为绝对路径或相对路径。若目录名称省略,则变换至使用者的home directory(也就是刚login时所在的目录)。另外,~也表示为home directory的意思,.则是表示目前所在的目录,..则表示目前目录位置的上一层目录。

语法

cd (选项) (参数)

选项

-p #如果要切换到的目标目录是一个符号连接,直接切换到符号连接指向的目标目录 
-L #如果要切换的目标目录是一个符号的连接,直接切换到字符连接名代表的目录,而非符号连接所指向的目标目录。 
- #当仅实用"-"一个选项时,当前工作目录将被切换到环境变量"OLDPWD"所表示的目录。

参数

#指定要进入的目录。 

chmod命令

用来变更文件或目录的权限。在UNIX系统家族里,文件或目录权限的控制分别以读取、写入、执行3种一般权限来区分,另有3种特殊权限可供运用。用户可以使用chmod指令去变更文件与目录的权限,设置方式采用文字或数字代号皆可。符号连接的权限无法变更,如果用户对符号连接修改权限,其改变会作用在被连接的原始文件。
权限范围的表示法如下:

u User #即文件或目录的拥有者; 
g Group #即文件或目录的所属群组; 
o Other #除了文件或目录拥有者或所属群组之外,其他用户皆属于这个范围; 
a All #即全部的用户,包含拥有者,所属群组以及其他用户; 
r 读取权限 #数字代号为“4”; 
w 写入权限 #数字代号为“2”; 
x 执行或切换权限 #数字代号为“1”; 
- 不具任何权限 #数字代号为“0”; 

语法

chmod(选项)(参数) 

选项

-c或——changes #效果类似“-v”参数,但仅回报更改的部分; 
-f或--quiet或——silent #不显示错误信息; 
-R或——recursive #递归处理,将指令目录下的所有文件及子目录一并处理; 
-v或——verbose #显示指令执行过程; 
--reference=<参考文件或目录> #把指定文件或目录的所属群组全部设成和参考文件或目录的所属群组相同; 
<权限范围>+<权限设置> #开启权限范围的文件或目录的该选项权限设置; 
<权限范围>-<权限设置> #关闭权限范围的文件或目录的该选项权限设置; 
<权限范围>=<权限设置> #指定权限范围的文件或目录的该选项权限设置;

参数

权限模式 #指定文件的权限模式; 
文件 #要改变权限的文件。

例子

chmod u+x,g+w f01  #为文件f01设置自己可以执行,组员可以写入的权限 
chmod u=rwx,g=rw,o=r f01 #等同与下一行,对文件F01设置自己可以读写执行,组员可以读写,其他人员只读的权限 
chmod 764 f01 
chmod a+x f01  #对文件f01的u,g,o都设置可执行属性

free命令

可以显示当前系统未使用的和已使用的内存数目,还可以显示被内核使用的内存缓冲区。

语法

free(选项)

选项

-b #以Byte为单位显示内存使用情况; 
-k #以KB为单位显示内存使用情况; 
-m #以MB为单位显示内存使用情况; 
-o #不显示缓冲区调节列; 
-s<间隔秒数> #持续观察内存使用状况; 
-t #显示内存总和列; 
-V #显示版本信息。

grep命令

grep(global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。

选项

-a #不要忽略二进制数据。 
-A<显示列数> #除了显示符合范本样式的那一行之外,并显示该行之后的内容。 
-b #在显示符合范本样式的那一行之外,并显示该行之前的内容。 
-c #计算符合范本样式的列数。 
-C<显示列数>或-<显示列数> #除了显示符合范本样式的那一列之外,并显示该列之前后的内容。 
-d<进行动作> #当指定要查找的是目录而非文件时,必须使用这项参数,否则grep命令将回报信息并停止动作。 
-e<范本样式> #指定字符串作为查找文件内容的范本样式。 
-E #将范本样式为延伸的普通表示法来使用,意味着使用能使用扩展正则表达式。 
-f<范本文件> #指定范本文件,其内容有一个或多个范本样式,让grep查找符合范本条件的文件内容,格式为每一列的范本样式。 
-F #将范本样式视为固定字符串的列表。 
-G #将范本样式视为普通的表示法来使用。 
-h #在显示符合范本样式的那一列之前,不标示该列所属的文件名称。 #
-H #在显示符合范本样式的那一列之前,标示该列的文件名称。 
-i #胡列字符大小写的差别。
-l #列出文件内容符合指定的范本样式的文件名称。 
-L #列出文件内容不符合指定的范本样式的文件名称。 
-n #在显示符合范本样式的那一列之前,标示出该列的编号。 
-q #不显示任何信息。 
-R/-r #此参数的效果和指定“-d recurse”参数相同。 
-s #不显示错误信息。 
-v #反转查找。 
-w #只显示全字符合的列。 
-x #只显示全列符合的列。 
-y #此参数效果跟“-i”相同。 
-o #只输出文件中匹配到的部分。

less命令

作用与more十分相似,都可以用来浏览文字档案的内容,不同的是less命令允许用户向前或向后浏览文件,而more命令只能向前浏览。用less命令显示文件时,用PageUp键向上翻页,用PageDown键向下翻页。要退出less程序,应按Q键。

语法

less(选项)(参数) 

选项

-e #文件内容显示完毕后,自动退出; 
-f #强制显示文件; 
-g #不加亮显示搜索到的所有关键词,仅显示当前显示的关键字,以提高显示速度; 
-l #搜索时忽略大小写的差异; 
-N #每一行行首显示行号; 
-s #将连续多个空行压缩成一行显示; 
-S #在单行显示较长的内容,而不换行显示; 
-x<数字> #将TAB字符显示为指定个数的空格字符。

参数

文件 #指定要分屏显示内容的文件。

ls命令

用来显示目标列表,在Linux中是使用率较高的命令。ls命令的输出信息可以进行彩色加亮显示,以分区不同类型的文件。

语法

ls(选项)(参数) 

选项

-a #显示所有档案及目录(ls内定将档案名或目录名称为“.”的视为隐藏,不会列出); 
-A #显示除隐藏文件“.”和“..”以外的所有文件列表; 
-C #多列显示输出结果。这是默认选项; 
-l #与“-C”选项功能相反,所有输出信息用单列格式输出,不输出为多列; 
-F #在每个输出项后追加文件的类型标识符,具体含义,“*”表示具有可执行权限的普通文件,“/”表示目录,“@”表示符号链接,“|”表示命令管道FIFO,“=”表示sockets套接字。当文件为普通文件时,不输出任何标识符; 
-b #将文件中的不可输出的字符以反斜线“”加字符编码的方式输出; 
-c #与“-lt”选项连用时,按照文件状态时间排序输出目录内容,排序的依据是文件的索引节点中的ctime字段。与“-l”选项连用时,则排序的一句是文件的状态改变时间; 
-d #仅显示目录名,而不显示目录下的内容列表。显示符号链接文件本身,而不显示其所指向的目录列表; 
-f #此参数的效果和同时指定“aU”参数相同,并关闭“lst”参数的效果; 
-i #显示文件索引节点号(inode)。一个索引节点代表一个文件; 
--file-type #与“-F”选项的功能相同,但是不显示“*”; 
-k #以KB(千字节)为单位显示文件大小; 
-l #以长格式显示目录下的内容列表。输出的信息从左到右依次包括文件名,文件类型、权限模式、硬连接数、所有者、组、文件大小和文件的最后修改时间等;
-m #用“,”号区隔每个文件和目录的名称; 
-n #以用户识别码和群组识别码替代其名称; 
-r #以文件名反序排列并输出目录内容列表; 
-s #显示文件和目录的大小,以区块为单位;
-t #用文件和目录的更改时间排序; 
-L #如果遇到性质为符号链接的文件或目录,直接列出该链接所指向的原始文件或目录; 
-R #递归处理,将指定目录下的所有文件及子目录一并处理; 
--full-time #列出完整的日期与时间; 
--color[=WHEN] #使用不同的颜色高亮显示不同类型的。

参数

#指定要显示列表的目录,也可以是具体的文件。 

mkdir命令

用来创建目录。该命令创建由dirname命名的目录。如果在目录名的前面没有加任何路径名,则在当前目录下创建由dirname指定的目录;如果给出了一个已经存在的路径,将会在该目录下创建一个指定的目录。在创建目录时,应保证新建的目录与它所在目录下的文件没有重名。 注意:在创建文件时,不要把所有的文件都存放在主目录中,可以创建子目录,通过它们来更有效地组织文件。最好采用前后一致的命名方式来区分文件和目录。例如,目录名可以以大写字母开头,这样,在目录列表中目录名就出现在前面。 在一个子目录中应包含类型相似或用途相近的文件。例如,应建立一个子目录,它包含所有的数据库文件,另有一个子目录应包含电子表格文件,还有一个子目录应包含文字处理文档,等等。目录也是文件,它们和普通文件一样遵循相同的命名规则,并且利用全路径可以唯一地指定一个目录。

语法

mkdir (选项)(参数) 

选项

-Z #设置安全上下文,当使用SELinux时有效; 
-m<目标属性>或--mode<目标属性> #建立目录的同时设置目录的权限; 
-p或--parents #若所要建立目录的上层目录目前尚未建立,则会一并建立上层目录; 
--version #显示版本信息。

参数

目录 #指定要创建的目录列表,多个目录之间用空格隔开。

more命令

是一个基于vi编辑器文本过滤器,它以全屏幕的方式按页显示文本文件的内容,支持vi中的关键字定位操作。more名单中内置了若干快捷键,常用的有H(获得帮助信息),Enter(向下翻滚一行),空格(向下滚动一屏),Q(退出命令)。 该命令一次显示一屏文本,满屏后停下来,并且在屏幕的底部出现一个提示信息,给出至今己显示的该文件的百分比:–More–(XX%)可以用下列不同的方法对提示做出回答: 按Space键:显示文本的下一屏内容。 按Enier键:只显示文本的下一行内容。 按斜线符|:接着输入一个模式,可以在文本中寻找下一个相匹配的模式。 按H键:显示帮助屏,该屏上有相关的帮助信息。 按B键:显示上一屏内容。 按Q键:退出rnore命令。

语法

more(语法)(参数) 

选项

-<数字> #指定每屏显示的行数; 
-d #显示“[press space to continue,‘q‘ to quit.]”和“[Press ‘h‘ for instructions]”; 
-c #不进行滚屏操作。每次刷新这个屏幕; 
-s #将多个空行压缩成一行显示; 
-u #禁止下划线; 
+<数字> #从指定数字的行开始显示。

参数

文件 #指定分页显示内容的文件。

sort命令

它将文件进行排序,并将排序结果标准输出。sort命令既可以从特定的文件,也可以从stdin中获取输入。

语法

sort(选项)(参数)

选项

-b #忽略每行前面开始出的空格字符; 
-c #检查文件是否已经按照顺序排序; 
-d #排序时,处理英文字母、数字及空格字符外,忽略其他的字符; 
-f #排序时,将小写字母视为大写字母; 
-i #排序时,除了040至176之间的ASCII字符外,忽略其他的字符; 
-m #将几个排序号的文件进行合并; 
-M #将前面3个字母依照月份的缩写进行排序; 
-n #依照数值的大小排序; 
-o<输出文件> #将排序后的结果存入制定的文件; 
-r #以相反的顺序来排序; 
-t<分隔字符> #指定排序时所用的栏位分隔字符; 
+<起始栏位>-<结束栏位> #以指定的栏位来排序,范围由起始栏位到结束栏位的前一栏位。

参数

#指定待排序的文件列表。

top命令

可以实时动态地查看系统的整体运行情况,是一个综合了多方信息监测系统性能和运行信息的实用工具。通过top命令所提供的互动式界面,用热键可以管理。

语法

top(选项) 

选项

-b #以批处理模式操作; 
-c #显示完整的治命令; 
-d #屏幕刷新间隔时间; 
-I #忽略失效过程; 
-s #保密模式; 
-S #累积模式; 
-i<时间> #设置间隔时间; 
-u<用户名> #指定用户名; 
-p<进程号> #指定进程; 
-n<次数> #循环显示的次数。

top交互命令

在top命令执行过程中可以使用的一些交互命令。这些命令都是单字母的,如果在命令行中使用了-s选项, 其中一些命令可能会被屏蔽。

h #显示帮助画面,给出一些简短的命令总结说明; 
k #终止一个进程; 
i #忽略闲置和僵死进程,这是一个开关式命令; 
q #退出程序; 
r #重新安排一个进程的优先级别; 
S #切换到累计模式; 
s #改变两次刷新之间的延迟时间(单位为s),如果有小数,就换算成ms。输入0值则系统将不断刷新,默认值是5s; f或者F #从当前显示中添加或者删除项目; 
o或者O #改变显示项目的顺序; 
l #切换显示平均负载和启动时间信息; 
m #切换显示内存信息; 
t #切换显示进程和CPU状态信息; 
c #切换显示命令名称和完整命令行; 
M #根据驻留内存大小进行排序; 
P #根据CPU使用百分比大小进行排序; 
T #根据时间/累计时间进行排序; 
w #将当前设置写入~/.toprc文件中。 

实例 top

top -09:44:56 up 16 days, 21:23, 1 user, load average: 9.59, 4.75, 1.92 Tasks: 145 total, 2 running, 143 sleeping, 0 stopped, 0 zombie Cpu(s): 99.8%us, 0.1%sy, 0.0%ni, 0.2%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 4147888k total, 2493092k used, 1654796k free, 158188k buffers Swap: 5144568k total, 56k used, 5144512k free, 2013180k cached

解释: top - 09:44:56[当前系统时间], 16 days[系统已经运行了16天], 1 user[个用户当前登录], load average: 9.59, 4.75, 1.92[系统负载,即任务队列的平均长度] Tasks: 145 total[总进程数], 2 running[正在运行的进程数], 143 sleeping[睡眠的进程数], 0 stopped[停止的进程数], 0 zombie[冻结进程数], Cpu(s): 99.8%us[用户空间占用CPU百分比], 0.1%sy[内核空间占用CPU百分比], 0.0%ni[用户进程空间内改变过优先级的进程占用CPU百分比], 0.2%id[空闲CPU百分比], 0.0%wa[等待输入输出的CPU时间百分比], 0.0%hi[], 0.0%st[], Mem: 4147888k total[物理内存总量], 2493092k used[使用的物理内存总量], 1654796k free[空闲内存总量], 158188k buffers[用作内核缓存的内存量] Swap: 5144568k total[交换区总量], 56k used[使用的交换区总量], 5144512k free[空闲交换区总量], 2013180k cached[缓冲的交换区总量],

uniq命令

用于报告或忽略文件中的重复行,一般与sort命令结合使用。

语法

uniq(选项)(参数) 

选项

-c或——count:在每列旁边显示该行重复出现的次数; 
-d或--repeated #仅显示重复出现的行列; 
-f<栏位>或--skip-fields=<栏位> #忽略比较指定的栏位; 
-s<字符位置>或--skip-chars=<字符位置> #忽略比较指定的字符; 
-u或——unique #仅显示出一次的行列; 
-w<字符位置>或--check-chars=<字符位置> #指定要比较的字符。

参数

输入文件 #指定要去除的重复行文件。如果不指定此项,则从标准读取数据; 
输出文件 #指定要去除重复行后的内容要写入的输出文件。如果不指定此选项,则将内容显示到标准输出设备(显示终端)。

这些命令在笔试面试中出现都曾出现过~更多Linux命令

以上是关于GEEK学习笔记— —Linux常用命令的主要内容,如果未能解决你的问题,请参考以下文章

Linux学习笔记--常用目录及其作用

liunx 常用命令学习笔记

linux学习笔记9--命令cat

《Linux学习并不难》Linux常用操作命令: cat命令显示文本文件内容

Linux第二周学习笔记

Linux学习笔记环境变量PATHcp命令mv命令文档查看cat/more/less/h