最牛逼的的shell命令

参考

远程diff

[root@jiangyi01.sqa.zmf /home/ahao.mah/ALIOS_QA/tools/iperf]
#ssh ahao.mah@dnstest02.tbc cat /home/ahao.mah/iperf.sh | diff -yW 150 iperf2.sh -

清空或创建一个文件

> file.txt

在以普通用户打开的VIM当中保存一个ROOT用户文件

:w !sudo tee %

快速备份一个文件

cp filename{,.bak}

echo {a,b,c}{a,b,c}

#echo {a,b,c}{a,b,c}{a,b,c}
aaa aab aac aba abb abc aca acb acc baa bab bac bba bbb bbc bca bcb bcc caa cab cac cba cbb cbc cca ccb ccc

重置终端

如果你试过不小心cat了某个二进制文件,很可能整个终端就傻掉了,可能不会换行,没法回显,大堆乱码之类的,这时候敲入reset回车,不管命令有没有显示,就能回复正常了。
实际上reset命令只是输出了一些特殊字符,我们看BusyBox里面最简单的reset程序的实现:
printf("\033c\033(K\033[J\033[0m\033[?25h");
输出的这些字符对Shell是有特殊意义的:
\033c: "ESC c" - 发送重置命令;
\033(K: "ESC ( K" - 重载终端的字符映射;
\033[J: "ESC [ J" - 清空终端内容;
\033[0m: "ESC [ 0 m" - 初始化字符显示属性;
\033[?25h: "ESC [ ? 25 h" - 让光标可见;
其中字符显示属性经常用来设定打印字符的颜色等,可参考这个博文。

reset

在午夜的时候执行某命令

echo cmd | at midnight

显示一个文件并且在每行开头添加行号

$ cat test.txt | nl
     1  line 1 
     2  line 2
posted @ 2017-01-05 15:44  苏小北1024  阅读(632)  评论(0编辑  收藏  举报