Bash 是我们经常与之打交道的 Shell 程序,本文针对其使用技巧进行了搜罗。相信在你看过这些内容之后,定会在 Bash 的世界里游刃有余。
mkdir /path/to/exampledir
cd !$
本例中,第一行命令将创建一个目录,而第二行的命令则转到刚创建的目录。这里,!$的作用就是重复前一个命令的参数。事实上,不仅是命令的参数可以重复,命令的选项同样可以。另外,Esc + . 快捷键可以切换这些命令参数或选项。
du -h -a -c $(find . -name *.conf 2>&-)
注意$()中的部分,这将告诉 Bash 运行 find 命令,然后把返回的结果作为 du 的参数。
diff <(ps axo comm) <(ssh user@host ps axo comm)
该命令将比较本地系统和远程系统中正在运行的进程。请注意<()中的部分。
find . -name *.conf -print0 | xargs -0 grep -l -Z mem_limit | xargs -0 -i cp {} {}.bak
该命令将备份当前目录中的所有 .conf 文件。
ps aux | grep init
这里,|操作符将 ps aux 的输出重定向给 grep init。
ps aux | tee filename | grep init
及:
ps aux | tee -a filename | grep init
command1 | command2 | ... | commandN > tempfile1
cat tempfile1 | command1 | command2 | ... | commandN > tempfile2
ps aux 2>&1 | grep init
这里的数字代表: