1. trap命令允許你來指定shell腳本要觀察哪些linux信號並從shell中攔截。如果腳本收到了trap命令中列出的信號,它會阻止它被shell處理,而在本地處理它。
2. trap命令的格式是: trap commands signals
3. 當&符放到命令後時,它會將命令和bash shell分離開來,並將它作為系統上的獨立後臺進程運行。
4. nohup命令運行了另外一個命令來阻斷所有發送給該進程的SIGHUP信號。這會在退出終端會話時阻止進程退出。
5. nohup命令的格式: nohup 命令 &
為了保護該命令產生的輸出,nohup命令會自動將STDOUT和STDERR的消息重定向到一個名為nohup.out的文件中。
6. 如果用nohup運行了另一個命令,輸出會追加到現有的nohup.out文件中。在運行同目錄中的多個命令時,要小心了,因為所有的輸出都會發送到通一個nohup.out文件。
7. job命令查看shell當前正在處理的作業。
8. jobs命令參數:
9. job命令輸出中的加號和減號,帶加號的作業會被當做默認的作業。帶減號的作業則會在當前默認作業完成處理時成為下一個默認作業。任何時候都只有一個帶加號的作業和一個帶減號的作業,不管shell中有多少個正在運行的作業。
10.bg命令加上作業號可以以後臺模式啟動一個作業。由於作業是以後臺模式重啟的,命令行界面的提示符會出現,允許輸入其他命令。
fg命令加上作業號可以以前臺模式重啟作業。由於作業是以前臺模式運行的,命令行界面的提示符不會出現。
11.內核負責將CPU時間分配給系統上運行的每個進程,實際上每次只有一個進程可以運行在CPU上,所以內核將CPU時間輪流分配給每個進程。
12.調度優先級是個整數值,從-20(最高優先級)到+20(最低優先級)。默認情況下。bash shell以優先級0來啟動所有進程。
13.nice命令允許在啟動時調整一個命令的調度優先級。要讓命令以更低的優先級運行,只要用nice的-n命令行來指定新的優先級級別。
14.nice命令阻止普通系統用戶來增加命令的優先級。
15.renice命令能改變系統上已運行命令的優先級,它允許指定運行進程的PID來改變它的優先級。
16.renice命令也有一些限制:
(1) 用戶只能對屬於自己的進程執行renice;
(2) 用戶只能通過renice降低進程的優先級;
(3) root用戶可以通過renice來調整任何進程的優先級到任何級別。
17.linux系統提供了多個在預選時間運行腳本的方法:at命令和cron表。
18.at命令的基本格式: at[ -f filename ] time
-f參數來指定讀取命令的文件名,time參數指定了linux系統何時運行該作業。
19.at命令能識別多種不同的時間格式:
(1) 標準的小時和分鐘格式,比如10:15;
(2) ~AM/~PM指示符,比如10:15~PM;
(3) 特定可命名的時間,比如now、noon、midnight等。
如果指定了一個已經過去的時間,at命令會在第二天該時間運行該作業。
除了指定運行作業時間,也可以指定特定的日期,通過不同的日期格式:
(1) 標準日期格式,比如MMDDYY、MM/DD/YY或DD.MM.YY;
(2) 文本日期,比如Jul 4 等,加不加年份均可。
也可以指定時間增量:
(1) 當前時間+25 min;
(2) 明天10:15~PM;
(3) 10:15 + 7 天。
20.在使用at命令時,改作業會被提交到作業隊列中。只對不同的優先級,存在26中不同的作業隊列。作業隊列通常用小寫字母a~z來引用。作業隊列的字母排序越高,作業運行的優先級就越低。如果想以更高優先級運行作業。可以用-q參數指定不同的隊列字母。
21.batch命令是允許腳本在後面某個時間運行的另一種方法。
22.可以在at命令中用-m選項來生成一封E-mail消息,說明作業完成了,即使腳本並未產生任何輸出。
23.atq命令查看系統中有哪些作業在等待
atrm命令刪除等待中的作業,只要指定想要刪除的作業號就行了。但只能刪除自己提價的要執行的作業,不能刪除其他人提交的作業。
24.linux系統使用cron程序來計劃要定期執行的作業。cron程序會在後臺運行並檢查特殊的稱做cron時間表的表,來獲得計劃執行的作業。
25.cron時間表的格式如下:
min hour dayofmonth month dayofweek command
cron時間表允許用特定值、值範圍或者是通配符(星號)來指定條目。
26.設置一個命令在每個月的最後一天的中午12點執行,常用的方法是加一條使用date命令的if-then語句來檢查明天的日期是不是01:
00 12 * * * if [`date +%d -d tomorrow ` = 01 ]; then; command 就會在每天中午12點來檢查是不是當月的最後一天,如果是,cron將會運行該命令。
27.命令列表必須指定要運行的命令或腳本的全路徑名。可以添加任何想要的命令行參數和重定向符號,作為定期命令行。
28.cron程序會用提交作業的用戶帳戶運行腳本。因此,用戶必須有訪問該命令和命令中指定的輸出文件的權限。
29.crontab命令來處理cron時間表。要列出已有的cron時間表,用-l參數。要為cron時間表添加條目,用-e參數。
30.如果創建的腳本不要求有精確的執行時間,用預配置的cron腳本目錄會更方便。有4個基本目錄:hourly、daily、monthly和weekly。
31.cron程序不會回去再運行哪些錯過的作業,但anacron程序知道作業錯過了計劃好的運行,它會儘快運行該作業。這個功能通常用於進行常規日誌維護腳本。
32. anacron程序只會處理位於cron目錄的程序。它用時間戳來決定作業是否在適合的計劃間隔內運行了。每個cron目錄都有個時間戳文件。
33.anacron時間表的基本格式: period delay identifier command
period條目定義了作業多久運行一次,以天為單位。Delay條目會指定系統啟動後多少分鐘後anacron程序開始運行錯過的腳本。Command條目包含了run-parts程序和一個cron腳本目錄名。
anacron程序不會運行位於/etc/cron.hourly的腳本。這是因為anacron程序不會處理執行時間需求小於一天的腳本。
Identifier條目是一種特別的非空白字符字符串。它用於唯一識別日誌消息和錯誤E-mail中的作業。
34.linux本地開機文件位置:
35. .bash_profile文件會在用戶每次登錄到系統時運行腳本,.bashrc文件會在啟動每個shell實例時運行腳本。