那些你希望在N年前就掌握的命令

有人在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中修改了半天配置文件,然後發現沒有寫權限,沒有比這更令人感到挫敗了,此時你需要這條命令。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章