首页 > 代码库 > 总结自己使用shell命令行常用到的8个小技巧

总结自己使用shell命令行常用到的8个小技巧

原创blog,转载请注明出处

Shell是命令解释器

[root@localhost ~]# cat /etc/shells 
查看本系统共支持哪些shell


1 tab 命令补全

  这个几乎每次都能用到,比如我有个文件叫file.txt,如果这个目录下只有一个文件名以f开头,则我输入f然后tab就会自动补全出file.txt


2  两个快捷键

CTRL+L 清屏

CTRL+U 清除一行中(光标前的部分)

3 命令别名

alias:查看当前的别名


定义一个新的别名,这里定义删除目录的别名xrm


当然,这样定义仅仅是临时定义,并没有写入到文件中,每次重启后都要重新alias

可以讲自定义的别名写道配置文件~/.bashrc中


解除一个别名用unalias


4.输入输出重定向

就是把输出的内容写道另外一个地方,或者从一个地方获得一个输入

输出重定向:

[root@localhost ~]# ls -l >> /dev/null

将输出的内容重定向到/dev/null中,这里可以理解/dev/null为一个黑洞,重定向到这里的东西都不会打印出来


符号 >> 是清空原内容,然后写入

符号 > 是在原内容的末尾追加


输入重定向

符号 <

/dev/tty 这个文件常用来重定向到一个终端,对输入来说十分有用

read password < /dev/tty 从终端读取密码

比如我要广播file.txt中的内容


错误输出重定向,只有在遇到错误的时候才进行重定向

常用的处理是生成相关的log文件

例如,在备份服务器文件的时候,往往是选在下半夜服务器访问量很少的时候,这个时候你还在梦乡呢,所以,对错误的信息进行重定向很重要。这样第二天你上班只要看看错误的文件就可以知道哪里出问题了

cp –R /usr /backup/ 2> /bak.error


5 管道

管道就是把一个输出作为另一个输入,常用在分步处理

例如

ls -/etc |more;对文件内容分页浏览
ls –l/etc | grep init;用命令执行结果里提取
ls –l /etc | grep init | wc –l;其中wc用于计算有多少行


这里简单讲解下wc命令

wc命令用来统计多少行,多少个单词,多少个字符

wc #会依次输出 行数,单词数,字符个数

wc -l #行数

wc -w#单词数

wc -c #字符个数


6 命令连接符

&& 前一个命令执行成功,后一个命令才会执行

|| 前一个命令执行失败,后一个命令才会执行


 7 命令替换符号

在键盘tab上边的那个·,注意不是引号

遇到命令替换符号,会把命令替换符号内的语句当成命令执行,然后把执行结果返回给上一层



8 读取文件的开头或者结尾

head -n 文件前几行 

tail  -n file 文件后几行 

tail -f file 持续观察一个文件的结尾,适合动态观察log文件


当然,我们也可以配合grep,只查看包含指定字符的log信息

[root@localhost ~]#tail -f file | grep --line-buffered your_pattern 
最后,附上之前写的awk,grep,sed的链接

grep命令详解-9个经典的使用场景

sed命令详解

awk命令快速入门


总结自己使用shell命令行常用到的8个小技巧