首页 > 代码库 > 总结自己使用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文件

比如。在备份server文件的时候。往往是选在下半夜server訪问量非常少的时候,这个时候你还在梦乡呢,所以,对错误的信息进行重定向非常重要。

这样第二天你上班仅仅要看看错误的文件就能够知道哪里出问题了

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个小技巧