您当前的位置: 首页 > 学无止境 > 心得笔记 网站首页心得笔记
马哥Linux运维学习笔记-bash特性详解(1)
发布时间:2018-04-30 10:18:29编辑:雪饮阅读()
sort
用于对内容进行标准输出排序,默认按照ascll码表升序排序.
每行字符从左到右与其它行进行比对,若某行的一个字符和另外一行的同位置的一个字符比较,若相同,则继续向从该行该字符后面的字符再次和另外那行那个字符后面的字符进行比较,依次类推.
-n:
该参数不按ascll码表排序,而是按照数值本身大小排序
-r:
反向排序,默认是升序,则反向就是降序
-t:
字段分隔符
-k:
指定字段,结合-t就可以按指定字段进行排序了,如:
sort -n -t: -k3 /etc/passwd
-u:
去除重复行,两个行如果不相邻,就算重复了,也不算做重复行
-f:
排序时不区分字符大小写
uniq:
去除重复行,两个行如果不相邻,就算重复了,也不算做重复行
-d:
只显示重复行
-D:
显示所有重复行
-c:
去除重复行并统计每行出现的频次,比如某行频次为1,则代表该行没有重复,大于1则表示重复了。
wc
用于统计行数、单词数、字节数(包含空白字符)
默认执行后,第一字段为行数、第二字段为单词数、第三字段为字节数
-l:行数
-w:单词数
-c:字节数
-L:最长一行包含多少字符
tr:
用于字符转换或删除
需要两个参数,一个是进行匹配的字符集,一个是处理为字符集。
执行后会进入标准输入,用户每换行时会将之前行进行参数1与参数2匹配后一一对应处理。
如:
单个字符:
tr 'ab' 'AB'
运行后会将标准输入中每行中遇到的a字符或b字符替换成A字符或B字符
指定范围的字符:
tr 'a-b' 'A-B'
-d:将会删除匹配到的字符
如
tr -d 'ab'
命令执行后,每行输入的字符中若有a或b,都会被删除。
pstree:
使用pstree命令能够显示进程树。
安装pstree:
yum install psmisc
csh
和bash一样也是一种外壳程序也是一种shell
shell之间可以交叉运行,比如bash运行下,还可以运行csh,csh运行下又可以运行bash
ksh
和bash一样也是一种外壳程序也是一种shell
bash
ctrl+a:跳到命令行首
ctrl+e:跳到行尾
ctrl+d:删除当前光标选中的字符
ctrl+u:直接删除当前光标前面的所有字符
ctrl+k:删除光标及光标后面的命令字符
ctrl+←或ctrl+→:光标一次跳一个单词
ctrl+l:清屏
tab:
在命令记得不是太清楚的时候,只需要输入命令开头的n个字母,然后按tab就可以自动补全,如果以n个字母开头的命令不止一个此时按两次tab就会给你一个列表,然后你就能找到了。
同理该键还可以在你输入文件路径的时候有同样的作用。
有时候在提示列表元素比较多的时候,会提示你是否要全部列出。按y就全部列出,按n则退出提示列表。
history
命令历史
-c:
清空命令历史
-d:
删除命令历史中指定索引行号所对应的命令
如
history -d 4
用户家目录.bash_history文件中存储着上次关机时候保存的命令历史
-w:
手动保存命令历史至命令历史文件中,即.bash_history中
!n:
使用!加上命令索引可执行该索引对应的命令,如
!1
执行命令历史中索引为1的命令
!-n:
执行命令历史中倒数第n条命令
!!:
执行上一条命令
!string:
执行命令历史中与string匹配的命令,匹配规则如:
若命令历史中正好只有一个命令和string一样,则匹配成功
若命令历史中有多个和string匹配的命令,则匹配失败
若string正好是命令历史中某条命令的子串,且string只属于它的子串,则匹配成功。
!$:
引用上条命令的最后一个参数,如
cat /etc/passwd
cat !$
第二条命令引用了第一条命令的路径参数
esc.:
按下esc键,然后松开再按下点,就可以直接获取到上条命令最后的参数,并自动补全到你当前位置,若获取的上条命令最后的参数还是命令,如获取的是!$,则会继续向上索取,直到完全解析后再补全到你当前位置。
alt.:
同时按住alt加点,和上面esc功能一样,但是只在真实终端上支持,模拟终端中并不支持。
关键字词:linux,bash