Linux会记录我们执行过的命令,这些命令都保存在家目录的bash_history文件中
!是命令历史有关的一个特殊字符,常用的应用有三个:
!!执行上一条命令
!n n是数字,表示执行命令历史中的第n条指令
!字符串(字符串大于等于1) 例如!pw表示执行命令历史中最近一次以pw开头的命令
tab键可以补全一个指令、一个路径或者一个文件名;连续按两次会把所有的命令或者文件名都列出来
alias是bash特有的功能之一,可以通过alias把一个常用的并且很长的指令另取名为一个简单易记的指令,若不需要了可以使用unalias命令解除别名功能。
在bash下可以使用*来匹配零个或多个字符,用?匹配一个字符。例:
输入重定向用于改变命令的输入,输出重定向(比较常用)用于改变命令的输出。输入重定向的命令是<,输出重定向的命令是>。还有错误重定向命令2>以及追加重定向命令>>。例:
管道符可以将前一个指令 的输出作为后一个指令的输入。
当运行进程时,可以用Ctrl+Z使它暂停,然后使用fg命令恢复,或是利用bg命令使它到后台运行,也可以使用Ctrl+C使它终止。
当暂停多个任务时会有编号,使用jobs命令可以查看有几个任务,这种情况使用bg或者fg命令时需要在后面加编号。
命令env
使用这个命令可以列出系统预设的全部系统变量。
命令set
同env。但是set还可以显示用户自定义的变量
命令cut
用于截取某一个字段,格式为cut -d ‘分隔字符’ 【-cf】n ,n是数字,这个命令有如下几个选项
命令sort
用于做排序,格式为sort 【-t 分隔符】【-kn1,-nru】,n1和n2指的是数字。
命令wc
用于统计文档的行数、字符数或词数。常用选项有-l(统计行数)、-m(统计字符数)、-
w(统计词数);如果wc后面不跟任何选项,直接跟文档,则会把行数、词数和字符数依次输出。
命令uniq
用于删除重复的行,常用选项-c表示统计重复的行数,并把行数写在前面。使用uniq前必须给文件排序,不然命令没有用。
命令tee
后面跟文件名,作用类似于重定向>,但比重定向多一个功能,可以把文件写入后面所跟的文件时,还显示在屏幕上,该命令通常用于管道符 | 后。
命令tr
用于替换字符,常用来处理文档中出现的特殊符号。常用选项有如下两个
命令split
用于切割文档,常用选项为
-b 表示依据大小来分割文档,单位为byte。
-l 表示依据行数来分割文档。
特殊符号$可以用作变量前面的标识符,还可以跟!结合使用,例如