Linux與Unix Shell編程指南 讀書筆記 (2) 後臺運行與重定向

第三章  後臺執行命令

1. crontab

    作用:調度進程,自動運行作業。
    新建crontab文件。編輯$HOME下的.profile,加入 EDITOR=vi; export EDITOR
    然後新建一個davecron文件,加入
    #echo the date to the console every
    #15 minutes
    0,15,45 * * * * /bin/echo 'date' > /dev/console
    其中crontab格式爲 分 時 日 月 星期 命令.中間用空格間隔。*表示連續的時間間隔
    提交crontab文件。crontab davecron
    列出crontab文件。crontab -l
    備份crontab文件。crontab -l > $HOME/mycron
    編輯crontab文件。crontab -e
    刪除crontab文件。crontab -r
    恢復crontab文件。crontab mycron
    

2. at

    作用:向守護進程提交作業,使其在稍後的時間運行。
    使用命令提示符.
    $ at 21:10(now + 10 minutes)
    at> find / -name "passwd" -print
    at> ctrl + D
    使用命令行。提交腳本使用-f選項。
    $ at 3.00pm tomorrow -f /home/lisp/hello.sh
    列出提交的作業。at -l
    清除一個作業。atrm job jobID

3. &

    作用:後臺運行作業。
    command &  。爲了不被輸出結果乾擾,使用command > out.file 2>&1 &
    ps 查看進程
    kill PID 殺死進程 
    nohup command &  後臺運行程序,退出賬戶也不會掛起 
    一次提交多個任務. 將任務通過管道連接,並寫入一個腳本中,然後執行腳本文件
    $ cat > quarterend
    cat /home/accounts/lisp | /apps/bin/trials.awk | sort | lp
    ctrl + D

    $ chmod 744 quarterend
    $ nohup ./quarterend > out.file 2>&1 &

第四章 文件名置換


    * 匹配任意字符
    ? 匹配任何單個字符
    [...] 匹配方括號中的任何字符

    舉例: ls [!0-9]?a*.sh

          ababc.sh   c3a.sh

第五章 shell輸入與輸出


1. echo

    顯示文本或變量,或者把字符串輸入到文件。

2. read

    從鍵盤或文件的某一行文本中讀入信息,並將其賦給一個變量。

3. cat

    顯示文件內容,創建文件等。不過它會一次顯示全部文件,想要分頁可以用more

4. 管道

    通過管道將一個命令的輸出傳遞給另一個命令當做輸入。
    $ ls | grep hi.doc

5. tee

    將輸出的一個副本輸送到標準輸出,另一個副本拷貝到相應文件。
    who | tee who.out  將who的結果輸出並且輸出到who.out。
    -a 選項表示追加模式

6. 標準輸入 輸出和錯誤

    標準輸入 0 (文件描述符)
    標準輸出 1
    標準錯誤 2
    

7. 文件重定向

    重定向標準輸出 ls -l >>file (追加)
    重定向標準輸入 sort < name.txt
    重定向標準錯誤 cat myfile 2>file
    結合輸入輸出 cat >result <myfile
    結合輸出錯誤 cat myfile 1>result 2>error
    合併輸出錯誤 cat myfile >result 2>&1

8. exec

    使用exec命令,任何現有環境都被清楚,並重新啓動一個shell。
    exec *.sh
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章