建議收藏:好用的 Unix

name arg1 arg2

  • # 要再次運行相同的命令
  • !!
  • ## 以root用戶運行最後運行的命令
  • sudo !!
  • !!會運行最近使用的命令。要運行最近運行的以“foo”開頭命令:

    1. !foo
    2. # 以root用戶運行上一次以“service”開頭的命令
    3. sudo !service

    !$用於運行帶上最後一個參數的命令:

    1. # 編輯 nginx.conf
    2. sudo vi /etc/nginx/nginx.conf
    3. # 測試 nginx.conf
    4. /sbin/nginx -t -c /etc/nginx/nginx.conf
    5. # 測試完 "/sbin/nginx -t -c /etc/nginx/nginx.conf"你可以用vi再次編輯這個文件了
    6. sudo vi !$

    左右可以滑動

    12、在終端上提醒你必須得走了

    如果你需要提醒離開你的終端,輸入下面的命令:

    1. leave +hhmm

    這裡:

    • hhmm - 時間是以hhmm的形式,hh表示小時(12時制或者24小時制),mm代表分鐘。所有的時間都轉化成12時制,並且假定發生在接下來的12小時。

    13、甜蜜的家

    想要進入剛才進入的地方?運行:

    1. cd -

    需要快速地回到你的家目錄?輸入:

    1. cd

    變量CDPATH定義了目錄的搜索路徑:

    1. export CDPATH=/var/www:/nas10

    現在,不用輸入cd */var/www/html/ 這樣長了,我可以直接輸入下面的命令進入 /var/www/html:

    1. cd html

    要編輯一個正在用less瀏覽的文件,可以按下v。你就可以用變量$EDITOR所指定的編輯器來編輯了:

    1. less *.c
    2. less foo.html
    3. ## 按下v鍵來編輯文件 ##
    4. ## 退出編輯器後,你可以繼續用less瀏覽了 ##

    15、列出你係統中的所有文件和目錄

    要看到你係統中的所有目錄,運行:

    1. find / -type d | less
    2. # 列出$HOME 所有目錄
    3. find $HOME -type d -ls | less

    要看到所有的文件,運行:

    1. find / -type f | less
    2. # 列出 $HOME 中所有的文件
    3. find $HOME -type f -ls | less

    16、創建目錄樹

    你可以用mkdir加上-p選項一次創建一顆目錄樹:

    1. mkdir -p /jail/{dev,bin,sbin,etc,usr,lib,lib64}
    2. ls -l /jail/

    17、將文件複製到多個目錄中

    不必運行:

    1. cp /path/to/file /usr/dir1
    2. cp /path/to/file /var/dir2
    3. cp /path/to/file /nas/dir3

    運行下面的命令來複制文件到多個目錄中:

    1. echo /usr/dir1 /var/dir2 /nas/dir3 | xargs -n 1 cp -v /path/to/file

    左右可以滑動

    留下創建一個shell函數作為讀者的練習。

    18、快速找出兩個目錄的不同

    diff命令會按行比較文件。但是它也可以比較兩個目錄:

    1. ls -l /tmp/r
    2. ls -l /tmp/s
    3. # 使用 diff 比較兩個文件夾
    4. diff /tmp/r/ /tmp/s/

    Fig. : Finding differences between folders

    19、文本格式化

    你可以用fmt命令重新格式化每個段落。在本例中,我要用分割超長的行並且填充短行:

    1. fmt file.txt

    你也可以分割長的行,但是不重新填充,也就是說分割長行,但是不填充短行:

    1. fmt -s file.txt

    20、可以看見輸出並將其寫入到一個文件中

    如下使用tee命令在屏幕上看見輸出並同樣寫入到日誌文件my.log中:

    1. mycoolapp arg1 arg2 input.file | tee my.log

    tee可以保證你同時在屏幕上看到mycoolapp的輸出並寫入文件 my.log。

    原文:http://www.cyberciti.biz/open-source/command-line-hacks/20-unix-command-line-tricks-part-i/

    譯文:LCTT 譯者: geekpi


    分享到:


    相關文章: