有人在Reddit上发帖询问:有没有哪条命令是你希望自己在几年前就掌握的,下面的回复中提到的一些命令,看看你知道几个,当然,也欢迎补充你的。

units

单位转换程序:

You have: cm^3 You want: gallons * 0.00026417205 / 3785.4118 You have: 1|2 inch You want: cm * 1.27 / 0.78740157 

后台运行命令

如果你希望让某条命令在退出SSH后依然保持运行状态,ZSH用户可以在命令后加上&|或是&!,也可以设置Shell的nohup属性,这样所有后台任务都将忽略hangup信号。

取得运行中进程的输出

~$ touch log ~$ gdb -p 22499 (gdb) p close(1) # This closes the stdout of the running process (gdb) p open("/home/.../log", 1) # This will open the log-file with O_WRITE (gdb) c 

fc

fc命令会根据$EDITOR变量打开一个编辑器,让你编辑上一条命令,你还可以使用Ctrl-x,Ctrl-e来编辑当前行的命令。

bindkey

绑定键盘快捷键,执行下面这条命令后,你就可以使用Ctrl-j回到上一条命令:

bindkey "^j" history-search-backward 

lsof

关于lsof,可以查看我们之前的一篇介绍文章”Unix调试的瑞士军刀:lsof“。

man ascii

以8进制,10进制以及16进制显示ASCII码表

^find^replace

$ /etc/init.d/foo stop $ ^stop^start  

下面是一条等价命令:

!:s/foo/bar # 替换第一个 !:gs/foo/bar # 替换全部 

cd –

看个例子:

cd /some/complicated/directory cd ~/foo cp some_file `cd -` 

更简单的:

cp some_file ~- 

:w ! sudo tee %

当你在vi中修改了半天配置文件,然后发现没有写权限,没有比这更令人感到挫败了,此时你需要这条命令。

来源: 黑客志 | 那些你希望在N年前就掌握的命令

- EOF -