一、壓縮管理
1 bunzip2
1.1 功能說明
.bz2 文件的解壓縮程序。
1.2 語法
bunzip2 [-fkLsvV][.bz2 壓縮文件]
1.3 補充說明
bunzip2 可解壓縮.bz2 格式的壓縮文件。bunzip2 實際上是 bzip2 的符號連接,執行 bunzip2 與 bzip2 -d 的效果相同。
1.4 參數
-f 或–force 解壓縮時,若輸出的文件與現有文件同名時,預設不會覆蓋現有的文件。若要覆蓋,請使用此參數。
-k 或–keep 在解壓縮后,預設會刪除原來的壓縮文件。若要保留壓縮文件,請使用此參數。
-s 或–small 降低程序執行時,內存的使用量。
-v 或–verbose 解壓縮文件時,顯示詳細的信息。
-l,–license,-V 或–version 顯示版本信息。
2 bzip2
2.1 功能說明
.bz2 文件的壓縮程序。
2.2 語法
bzip2 [-cdfhkLstvVz][–repetitive-best][–repetitive-fast][- 壓縮等級][要壓縮的文件]
2.3 補充說明
bzip2 采用新的壓縮演算法,壓縮效果比傳統的 LZ77/LZ78 壓縮演算法來得好。若沒有加上任何參數,bzip2 壓縮完文件后會產生.bz2 的壓縮文件,并刪除原始的文件。
2.4 參數
-c 或–stdout 將壓縮與解壓縮的結果送到標準輸出。
-d 或–decompress 執行解壓縮。
-f 或–force bzip2 在壓縮或解壓縮時,若輸出文件與現有文件同名,預設不會覆蓋現有文件。若要覆蓋,請使用此參數。
-h 或–help 顯示幫助。
-k 或–keep bzip2 在壓縮或解壓縮后,會刪除原始的文件。若要保留原始文件,請使用此參數。
-s 或–small 降低程序執行時內存的使用量。
-t 或–test 測試.bz2 壓縮文件的完整性。
-v 或–verbose 壓縮或解壓縮文件時,顯示詳細的信息。
-z 或–compress 強制執行壓縮。
-L,–license,
-V 或–version 顯示版本信息。
–repetitive-best 若文件中有重復出現的資料時,可利用此參數提高壓縮效果。
–repetitive-fast 若文件中有重復出現的資料時,可利用此參數加快執行速度。
-壓縮等級 壓縮時的區塊大小。
3 cpio
3.1 功能說明
備份文件。
3.2 語法
cpio [-0aABckLovV][-C 《輸入/輸出大小》][-F 《備份檔》][-H 《備份格式》][-O 《備份檔》][–block-size=《區塊大小》][–force-local][–help][–quiet][–version]
或 cpio [-bBcdfikmnrsStuvV][-C 《輸入/輸出大小》][-E 《范本文件》][-F 《備份檔》][-H 《備份格式》][-I 《備份檔 》][-M 《 回傳信息 》][-R 《 擁有者 》《:/?!贰?所屬群組 》][–block-size=《 區塊大小 》][–force-local][–help][–no-absolute-filenames][–no-preserve-owner][–only-verify-crc][–quiet][–sparse][–version][范本樣式…]
或 cpio [-0adkiLmpuvV][-R 《 擁有者 》《:/。》《 所屬群組 》][–help][–no-preserve-owner][–quiet][–sparse][–version][目的目]
3.3 補充說明
cpio 是用來建立,還原備份檔的工具程序,它可以加入,解開 cpio 或 tra 備份檔內的文件。
3.4 參數
-0 或–null 接受新增列控制字符,通常配合 find 指令的“-print0”參數使用。
-a 或–reset-access-time 重新設置文件的存取時間。
-A 或–append 附加到已存在的備份檔中,且這個備份檔必須存放在磁盤上,而不能放置于磁帶機里。
-b 或–swap 此參數的效果和同時指定“-sS”參數相同。
-B 將輸入/輸出的區塊大小改成 5210 Bytes。
-c 使用舊 ASCII 備份格式。
-C《區塊大小》或–io-size=《區塊大小》 設置輸入/輸出的區塊大小,單位是 Byte。
-d 或–make-directories 如有需要 cpio 會自行建立目錄。
-E《范本文件》或–pattern-file=《范本文件》 指定范本文件,其內含有一個或多個范本樣式,讓 cpio 解開符合范本條件的文件,格式為每列一個范本樣式。
-f 或–nonmatching 讓 cpio 解開所有不符合范本條件的文件。
-F《備份檔》或–file=《備份檔》 指定備份檔的名稱,用來取代標準輸入或輸出,也能借此通過網絡使用另一臺主機的保存設備存取備份檔。
-H《備份格式》 指定備份時欲使用的文件格式。
-i 或–extract 執行 copy-in 模式,還原備份檔。
-l《備份檔》 指定備份檔的名稱,用來取代標準輸入,也能借此通過網絡使用另一臺主機的保存設備讀取備份檔。
-k 此參數將忽略不予處理,僅負責解決 cpio 不同版本間的兼容性問題。
-l 或–link 以硬連接的方式取代復制文件,可在 copy-pass 模式下運用。
-L 或–dereference 不建立符號連接,直接復制該連接所指向的原始文件。
-m 或 preserve-modification-time 不去更換文件的更改時間。
-M《回傳信息》或–message=《回傳信息》 設置更換保存媒體的信息。
-n 或–numeric-uid-gid 使用“-tv”參數列出備份檔的內容時,若再加上參數“-n”,則會以用戶識別碼和群組識別碼替代擁有者和群組名稱列出文件清單。
-o 或–create 執行 copy-out 模式,建立備份檔。
-O《備份檔》 指定備份檔的名稱,用來取代標準輸出,也能借此通過網絡 使用另一臺主機的保存設備存放備份檔。
-p 或–pass-through 執行 copy-pass 模式,略過備份步驟,直接將文件復制到目的目錄。
-r 或–rename 當有文件名稱需要更動時,采用互動模式。
-R《擁有者》《:/。》《所屬群組》或
----owner《擁有者》《:/?!贰端鶎偃航M》 在 copy-in 模式還原備份檔,或 copy-pass 模式復制文件時,可指定這些備份,復制的文件的擁有者與所屬群組。
-s 或–swap-bytes 交換每對字節的內容。
-S 或–swap-halfwords 交換每半個字節的內容。
-t 或–list 將輸入的內容呈現出來。
-u 或–unconditional 置換所有文件,不論日期時間的新舊與否,皆不予詢問而直接覆蓋。
-v 或–verbose 詳細顯示指令的執行過程。
-V 或–dot 執行指令時,在每個文件的執行程序前面加上“?!疤?/p>
–block-size=《區塊大小》 設置輸入/輸出的區塊大小,假如設置數值為 5,則區塊大小為 2500,若設置成 10,則區塊大小為 5120,依次類推。
–force-local 強制將備份檔存放在本地主機。
–help 在線幫助。
–no-absolute-filenames 使用相對路徑建立文件名稱。
–no-preserve-owner 不保留文件的擁有者,誰解開了備份檔,那些文件就歸誰所有。
-only-verify-crc 當備份檔采用 CRC 備份格式時,可使用這項參數檢查備份檔內的每個文件是否正確無誤。
–quiet 不顯示復制了多少區塊。
–sparse 倘若一個文件內含大量的連續 0 字節,則將此文件存成稀疏文件。
–version 顯示版本信息。
4 gunzip
4.1 功能說明
解壓文件。
4.2 語法
gunzip [-acfhlLnNqrtvV][-s 《壓縮字尾字符串》][文件…] 或 gunzip [-acfhlLnNqrtvV][-s 《壓縮字尾字符串》][目錄]
4.3 補充說明
gunzip 是個使用廣泛的解壓縮程序,它用于解開被 gzip 壓縮過的文件,這些壓縮文件預設最后的擴展名為“.gz”。事實上 gunzip 就是 gzip 的硬連接,因此不論是壓縮或解壓縮,都可通過 gzip 指令單獨完成。
4.4 參數
-a 或–ascii 使用 ASCII 文字模式。
-c 或–stdout 或–to-stdout 把解壓后的文件輸出到標準輸出設備。
-f 或-force 強行解開壓縮文件,不理會文件名稱或硬連接是否存在以及該文件是否為符號連接。
-h 或–help 在線幫助。
-l 或–list 列出壓縮文件的相關信息。
-L 或–license 顯示版本與版權信息。
-n 或–no-name 解壓縮時,若壓縮文件內含有遠來的文件名稱及時間戳記,則將其忽略不予處理。
-N 或–name 解壓縮時,若壓縮文件內含有原來的文件名稱及時間戳記,則將其回存到解開的文件上。
-q 或–quiet 不顯示警告信息。
-r 或–recursive 遞歸處理,將指定目錄下的所有文件及子目錄一并處理。
-S《壓縮字尾字符串》或–suffix《壓縮字尾字符串》 更改壓縮字尾字符串。
-t 或–test 測試壓縮文件是否正確無誤。
-v 或–verbose 顯示指令執行過程。
-V 或–version 顯示版本信息。
5 gzip
5.1 功能說明
壓縮文件。
5.2 語法
gzip [-acdfhlLnNqrtvV][-S 《壓縮字尾字符串》][-《壓縮效率》][–best/fast][文件…] 或 gzip [-acdfhlLnNqrtvV][-S 《壓縮字尾字符串》][-《壓縮效率》][–best/fast][目錄]
5.3 補充說明
gzip 是個使用廣泛的壓縮程序,文件經它壓縮過后,其名稱后面會多出”.gz”的擴展名。
5.4 參數
-a 或–ascii 使用 ASCII 文字模式。
-c 或–stdout 或–to-stdout 把壓縮后的文件輸出到標準輸出設備,不去更動原始文件。
-d 或–decompress 或----uncompress 解開壓縮文件。
-f 或–force 強行壓縮文件。不理會文件名稱或硬連接是否存在以及該文件是否為符號連接。
-h 或–help 在線幫助。
-l 或–list 列出壓縮文件的相關信息。
-L 或–license 顯示版本與版權信息。
-n 或–no-name 壓縮文件時,不保存原來的文件名稱及時間戳記。
-N 或–name 壓縮文件時,保存原來的文件名稱及時間戳記。
-q 或–quiet 不顯示警告信息。
-r 或–recursive 遞歸處理,將指定目錄下的所有文件及子目錄一并處理。
-S《壓縮字尾字符串》或----suffix《壓縮字尾字符串》 更改壓縮字尾字符串。
-t 或–test 測試壓縮文件是否正確無誤。
-v 或–verbose 顯示指令執行過程。
-V 或–version 顯示版本信息。
-《壓縮效率》 壓縮效率是一個介于 1-9 的數值,預設值為“6”,指定愈大的數值,壓縮效率就會愈高。
–best 此參數的效果和指定“-9”參數相同。
–fast 此參數的效果和指定“-1”參數相同。
6 split
6.1 功能說明
切割文件。
6.2 語法
split [–help][–version][-《行數》][-b 《字節》][-C 《字節》][-l 《行數》][要切割的文件][輸出文件名]
6.3 補充說明
split 可將文件切成較小的文件,預設每 1000 行會切成一個小文件。
6.4 參數
-《行數》或-l《行數》 指定每多少行就要切成一個小文件。
-b《字節》 指定每多少字就要切成一個小文件。
-C《字節》 與-b 參數類似,但切割時盡量維持每行的完整性。
–help 顯示幫助。
–version 顯示版本信息。
[輸出文件名] 設置切割后文件的前置文件名,split 會自動在前置文件名后再加上編號。
7 tar
7.1 功能說明
備份文件。
7.2 語法
tar [-ABcdgGhiklmMoOpPrRsStuUvwWxzZ][-b 《區塊數目》][-C 《目的目錄》][-f 《備份文件》][-F 《Script 文件》][-K 《文件》][-L 《媒體容量》][-N 《日期時間》][-T 《范本文件》][-V 《卷冊名稱》][-X 《范本文件》]
[-《設備編號》《存儲密度》][–after-date=《日期時間》] [–atime-preserve]
[–backuup=《備份方式》] [–checkpoint][–concatenate][–confirmation][–delete]
[–exclude=《范本樣式》] [–force-local][–group=《群組名稱》]
[–help][–ignore-failed-read][–new-volume-script=《Script 文件》]
[–newer-mtime][–no-recursion][–null][–numeric-owner][–owner=《用戶名稱》]
[–posix][–erve][–preserve-order][–preserve-permissions][–record-size=《區塊數目》]
[–recursive-unlink][–remove-files][–rsh-command=《執行指令》]
[–same-owner][–suffix=《備份字尾字符串》][–totals][–use-compress-program=《執行指令》]
[–version][–volno-file=《編號文件》][文件或目錄…]
7.3 補充說明
tar 是用來建立,還原備份文件的工具程序,它可以加入,解開備份文件內的文件。
7.4 參數
-A 或–catenate 新增溫暖件到已存在的備份文件。
-b《區塊數目》或–blocking-factor=《區塊數目》 設置每筆記錄的區塊數目,每個區塊大小為 12Bytes。
-B 或–read-full-records 讀取數據時重設區塊大小。
-c 或–create 建立新的備份文件。
-C《目的目錄》或–directory=《目的目錄》 切換到指定的目錄。
-d 或–diff 或–compare 對比備份文件內和文件系統上的文件的差異。
-f《備份文件》或–file=《備份文件》 指定備份文件。
-F《Script 文件》或–info-script=《Script 文件》 每次更換磁帶時,就執行指定的 Script 文件。
-g 或–listed-incremental 處理 GNU 格式的大量備份。
-G 或–incremental 處理舊的 GNU 格式的大量備份。
-h 或–dereference 不建立符號連接,直接復制該連接所指向的原始文件。
-i 或–ignore-zeros 忽略備份文件中的 0 Byte 區塊,也就是 EOF。
-k 或–keep-old-files 解開備份文件時,不覆蓋已有的文件。
-K《文件》或–starting-file=《文件》 從指定的文件開始還原。
-l 或–one-file-system 復制的文件或目錄存放的文件系統,必須與 tar 指令執行時所處的文件系統相同,否則不予復制。
-L《媒體容量》或-tape-length=《媒體容量》 設置存放每體的容量,單位以 1024 Bytes 計算。
-m 或–modification-time 還原文件時,不變更文件的更改時間。
-M 或–multi-volume 在建立,還原備份文件或列出其中的內容時,采用多卷冊模式。
-N《日期格式》或–newer=《日期時間》 只將較指定日期更新的文件保存到備份文件里。
-o 或–old-archive 或–portability 將資料寫入備份文件時使用 V7 格式。
-O 或–stdout 把從備份文件里還原的文件輸出到標準輸出設備。
-p 或–same-permissions 用原來的文件權限還原文件。
-P 或–absolute-names 文件名使用絕對名稱,不移除文件名稱前的“/“號。
-r 或–append 新增文件到已存在的備份文件的結尾部分。
-R 或–block-number 列出每個信息在備份文件中的區塊編號。
-s 或–same-order 還原文件的順序和備份文件內的存放順序相同。
-S 或–sparse 倘若一個文件內含大量的連續 0 字節,則將此文件存成稀疏文件。
-t 或–list 列出備份文件的內容。
-T《范本文件》或–files-from=《范本文件》 指定范本文件,其內含有一個或多個范本樣式,讓 tar 解開或建立符合設置條件的文件。
-u 或–update 僅置換較備份文件內的文件更新的文件。
-U 或–unlink-first 解開壓縮文件還原文件之前,先解除文件的連接。
-v 或–verbose 顯示指令執行過程。
-V《卷冊名稱》或–label=《卷冊名稱》 建立使用指定的卷冊名稱的備份文件。
-w 或–interactive 遭遇問題時先詢問用戶。
-W 或–verify 寫入備份文件后,確認文件正確無誤。
-x 或–extract 或–get 從備份文件中還原文件。
-X《范本文件》或–exclude-from=《范本文件》 指定范本文件,其內含有一個或多個范本樣式,讓 ar 排除符合設置條件的文件。
-z 或–gzip 或–ungzip 通過 gzip 指令處理備份文件。
-Z 或–compress 或–uncompress 通過 compress 指令處理備份文件。
-《設備編號》《存儲密度》 設置備份用的外圍設備編號及存放數據的密度。
–after-date=《日期時間》 此參數的效果和指定”-N”參數相同。
–atime-preserve 不變更文件的存取時間。
–backup=《備份方式》或–backup 移除文件前先進行備份。
–checkpoint 讀取備份文件時列出目錄名稱。
–concatenate 此參數的效果和指定“-A”參數相同。
–confirmation 此參數的效果和指定“-w”參數相同。
–delete 從備份文件中刪除指定的文件。
–exclude=《范本樣式》 排除符合范本樣式的問家。
–group=《群組名稱》 把加入設備文件中的文件的所屬群組設成指定的群組。
–help 在線幫助。
–ignore-failed-read 忽略數據讀取錯誤,不中斷程序的執行。
–new-volume-script=《Script 文件》 此參數的效果和指定“-F”參數相同。
–newer-mtime 只保存更改過的文件。
–no-recursion 不做遞歸處理,也就是指定目錄下的所有文件及子目錄不予處理。
–null 從 null 設備讀取文件名稱。
–numeric-owner 以用戶識別碼及群組識別碼取代用戶名稱和群組名稱。
–owner=《用戶名稱》 把加入備份文件中的文件的擁有者設成指定的用戶。
–posix 將數據寫入備份文件時使用 POSIX 格式。
–preserve 此參數的效果和指定“-ps”參數相同。
–preserve-order 此參數的效果和指定“-A”參數相同。
–preserve-permissions 此參數的效果和指定“-p”參數相同。
–record-size=《區塊數目》 此參數的效果和指定“-b”參數相同。
–recursive-unlink 解開壓縮文件還原目錄之前,先解除整個目錄下所有文件的連接。
–remove-files 文件加入備份文件后,就將其刪除。
–rsh-command=《執行指令》 設置要在遠端主機上執行的指令,以取代 rsh 指令。
–same-owner 嘗試以相同的文件擁有者還原問家你。
–suffix=《備份字尾字符串》 移除文件前先行備份。
–totals 備份文件建立后,列出文件大小。
–use-compress-program=《執行指令》 通過指定的指令處理備份文件。
–version 顯示版本信息。
–volno-file=《編號文件》 使用指定文件內的編號取代預設的卷冊編號。
8 unzip
8.1 功能說明
解壓縮 zip 文件
8.2 語法
unzip [-cflptuvz][-agCjLMnoqsVX][-P 《密碼》][.zip 文件][文件][-d 《目錄》][-x 《文件》] 或 unzip [-Z]
8.3 補充說明
unzip 為.zip 壓縮文件的解壓縮程序。
8.4 參數
-c 將解壓縮的結果顯示到屏幕上,并對字符做適當的轉換。
-f 更新現有的文件。
-l 顯示壓縮文件內所包含的文件。
-p 與-c 參數類似,會將解壓縮的結果顯示到屏幕上,但不會執行任何的轉換。
-t 檢查壓縮文件是否正確。
-u 與-f 參數類似,但是除了更新現有的文件外,也會將壓縮文件中的其他文件解壓縮到目錄中。
-v 執行是時顯示詳細的信息。
-z 僅顯示壓縮文件的備注文字。
-a 對文本文件進行必要的字符轉換。
-b 不要對文本文件進行字符轉換。
-C 壓縮文件中的文件名稱區分大小寫。
-j 不處理壓縮文件中原有的目錄路徑。
-L 將壓縮文件中的全部文件名改為小寫。
-M 將輸出結果送到 more 程序處理。
-n 解壓縮時不要覆蓋原有的文件。
-o 不必先詢問用戶,unzip 執行后覆蓋原有文件。
-P《密碼》 使用 zip 的密碼選項。
-q 執行時不顯示任何信息。
-s 將文件名中的空白字符轉換為底線字符。
-V 保留 VMS 的文件版本信息。
-X 解壓縮時同時回存文件原來的 UID/GID。
[.zip 文件] 指定.zip 壓縮文件。
[文件] 指定要處理.zip 壓縮文件中的哪些文件。
-d《目錄》 指定文件解壓縮后所要存儲的目錄。
-x《文件》 指定不要處理.zip 壓縮文件中的哪些文件。
-Z unzip -Z 等于執行 zipinfo 指令。
9 zgrep
9.1 功能說明
這個命令的功能是在壓縮文件中尋找匹配的正則表達式,用法和 grep 命令相同,只不過操作的對象是壓縮文件。如果用戶想看看在某個壓縮文件中有沒有某一句話,便可用 zgrep 命令。
9.2 語法
zgrep [options] [files]
[options]同 grep 對應選項。
10 zip
10.1 功能說明
壓縮文件。
10.2 語法
zip [-options][-b 《工作目錄》][-ll][-n 《字尾字符串》][-t 《日期時間》][-《壓縮效率》][壓縮文件][文件…][-i 《范本樣式》][-x 《范本樣式》]
10.3 補充說明
zip 是個使用廣泛的壓縮程序,文件經它壓縮后會另外產生具有“.zip”擴展名的壓縮文件。
10.4 參數
-A 調整可執行的自動解壓縮文件。
-b《工作目錄》 指定暫時存放文件的目錄。
-c 替每個被壓縮的文件加上注釋。
-d 從壓縮文件內刪除指定的文件。
-D 壓縮文件內不建立目錄名稱。
-f 此參數的效果和指定“-u”參數類似,但不僅更新既有文件,如果某些文件原本不存在于壓縮文件內,使用本參數會一并將其加入壓縮文件中。
-F 嘗試修復已損壞的壓縮文件。
-g 將文件壓縮后附加在既有的壓縮文件之后,而非另行建立新的壓縮文件。
-h 在線幫助。
-i《范本樣式》 只壓縮符合條件的文件。
-j 只保存文件名稱及其內容,而不存放任何目錄名稱。
-J 刪除壓縮文件前面不必要的數據。
-k 使用 MS-DOS 兼容格式的文件名稱。
-l 壓縮文件時,把 LF 字符置換成 LF+CR 字符。
-ll 壓縮文件時,把 LF+CR 字符置換成 LF 字符。
-L 顯示版權信息。
-m 將文件壓縮并加入壓縮文件后,刪除原始文件,即把文件移到壓縮文件中。
-n《字尾字符串》 不壓縮具有特定字尾字符串的文件。
-o 以壓縮文件內擁有最新更改時間的文件為準,將壓縮文件的更改時間設成和該文件相同。
-q 不顯示指令執行過程。
-r 遞歸處理,將指定目錄下的所有文件和子目錄一并處理。
-S 包含系統和隱藏文件。
-t《日期時間》 把壓縮文件的日期設成指定的日期。
-T 檢查備份文件內的每個文件是否正確無誤。
-u 更換較新的文件到壓縮文件內。
-v 顯示指令執行過程或顯示版本信息。
-V 保存 VMS 操作系統的文件屬性。
-w 在文件名稱里假如版本編號,本參數僅在 VMS 操作系統下有效。
-x《范本樣式》 壓縮時排除符合條件的文件。
-X 不保存額外的文件屬性。
-y 直接保存符號連接,而非該連接所指向的文件,本參數僅在 UNIX 之類的系統下有效。
-z 替壓縮文件加上注釋。
-$ 保存第一個被壓縮文件所在磁盤的卷冊名稱。
-《壓縮效率》 壓縮效率是一個介于 1-9 的數值。
二、進程管理
1 crontab
1.1 功能說明
設置計時器。
1.2 語法
crontab [-u 《用戶名稱》][配置文件] 或 crontab [-u 《用戶名稱》][-elr]
1.3 補充說明
cron 是一個常駐服務,它提供計時器的功能,讓用戶在特定的時間得以執行預設的指令或程序。只要用戶會編輯計時器的配置文件,就可以使用計時器的功能。其配置文件格式如下:
Minute Hour Day Month DayOFWeek Command
1.4 參數
-e 編輯該用戶的計時器設置。
-l 列出該用戶的計時器設置。
-r 刪除該用戶的計時器設置。
-u《用戶名稱》 指定要設定計時器的用戶名稱。
2 kill
2.1 功能說明
刪除執行中的程序或工作。
2.2 語法
kill [-s 《信息名稱或編號》][程序] 或 kill [-l 《信息編號》]
2.3 補充說明
kill 可將指定的信息送至程序。預設的信息為 SIGTERM(15),可將指定程序終止。若仍無法終止該程序,可使用 SIGKILL(9)信息嘗試強制刪除程序。程序或工作的編號可利用 ps 指令或 jobs 指令查看。
2.4 參數
-l 《信息編號》 若不加《信息編號》選項,則-l 參數會列出全部的信息名稱。
-s 《信息名稱或編號》 指定要送出的信息。
[程序] [程序]可以是程序的 PID 或是 PGID,也可以是工作編號。
3 nohup
3.1 功能說明
不掛斷地運行命令。該命令可以在你退出帳戶/關閉終端之后繼續運行相應的進程。
3.2 語法
nohup Command [ Arg … ] [ & ]
nohup 命令運行由 Command 參數和任何相關的 Arg 參數指定的命令,忽略所有掛斷(SIGHUP)信號。在注銷后使用 nohup 命令運行后臺中的程序。要運行后臺中的 nohup 命令,添加&( 表示“and”的符號)到命令的尾部。
無論是否將 nohup 命令的輸出復位向到終端,輸出都將附加到當前目錄的 nohup.out 文件中。如果當前目錄的 nohup.out 文件不可寫,輸出復位向到 $HOME/nohup.out 文件中。如果沒有文件能創建或打開以用于追加,那么 Command 參數指定的命令不可調用。如果標準錯誤是一個終端,那么把指定的命令寫給標準錯誤的所有輸出作為標準輸出復位向到相同的文件描述符。
退出狀態:該命令返回下列出口值:
126 可以查找但不能調用 Command 參數指定的命令。
127 nohup 命令發生錯誤或不能查找由 Command 參數指定的命令。
否則,nohup 命令的退出狀態是 Command 參數指定命令的退出狀態。
如果使用nohup命令提交作業,那么在缺省情況下該作業的所有輸出都被復位向到一個名為nohup.out的文件中,除非另外指定了輸出文件:
nohup command 》 myout.file 2》&1 &在上面的例子中,輸出被復位向到myout.file 文件中。
3.3 例子
我們有個 test.php 需要在后臺運行,并且希望在后臺能夠定期運行,那么就使用 nohup:
nohup /root/test.php &
(nohup sh make.sh &)
4 ps
4.1 功能說明
報告程序狀況。
4.2 語法
ps [-aAcdefHjlmNVwy][acefghLnrsSTuvxX][-C 《指令名稱》][-g 《群組名稱》][-G 《群組識別碼》][-p 《程序識別碼》][p 《程序識別碼》][-s 《階段作業》][-t 《終端機編號》][t 《終端機編號》][-u 《用戶識別碼》][-U 《用戶識別碼 》][U 《 用戶名稱 》][-《 程序識別碼》][–cols 《 每列字符數 》][–columns 《 每列字符數》][–cumulative][–deselect][–forest][–headers][–help][–info][–lines 《顯示列數》][–no-headers][–group 《群組名稱》][-Group 《群組識別碼》][–pid 《程序識別碼》][–rows 《顯示列數》][–sid 《階段作業》][–tty 《終端機編號》][–user 《用戶名稱》][–User 《用戶識別碼》][–version][–width 《每列字符數》]
4.3 補充說明
ps 是用來報告程序執行狀況的指令,您可以搭配 kill 指令隨時中斷,刪除不必要的程序。
4.4 參數
-a 顯示所有終端機下執行的程序,除了階段作業領導者之外。
a 顯示現行終端機下的所有程序,包括其他用戶的程序。
-A 顯示所有程序。
-c 顯示 CLS 和 PRI 欄位。
c 列出程序時,顯示每個程序真正的指令名稱,而不包含路徑,參數或常駐服務的標示。
-C《指令名稱》 指定執行指令的名稱,并列出該指令的程序的狀況。
-d 顯示所有程序,但不包括階段作業領導者的程序。
-e 此參數的效果和指定“A”參數相同。
e 列出程序時,顯示每個程序所使用的環境變量。
-f 顯示 UID,PPIP,C 與 STIME 欄位。
f 用 ASCII 字符顯示樹狀結構,表達程序間的相互關系。
-g《群組名稱》 此參數的效果和指定“-G”參數相同,當亦能使用階段作業領導者的名稱來指定。
g 顯示現行終端機下的所有程序,包括群組領導者的程序。
-G《群組識別碼》 列出屬于該群組的程序的狀況,也可使用群組名稱來指定。
h 不顯示標題列。
-H 顯示樹狀結構,表示程序間的相互關系。
-j 或 j 采用工作控制的格式顯示程序狀況。
-l 或 l 采用詳細的格式來顯示程序狀況。
L 列出欄位的相關信息。
-m 或 m 顯示所有的執行緒。
n 以數字來表示 USER 和 WCHAN 欄位。
-N 顯示所有的程序,除了執行 ps 指令終端機下的程序之外。
-p《程序識別碼》 指定程序識別碼,并列出該程序的狀況。
p《程序識別碼》 此參數的效果和指定“-p”參數相同,只在列表格式方面稍有差異。
r 只列出現行終端機正在執行中的程序。
-s《階段作業》 指定階段作業的程序識別碼,并列出隸屬該階段作業的程序的狀況。
s 采用程序信號的格式顯示程序狀況。
S 列出程序時,包括已中斷的子程序資料。
-t《終端機編號》 指定終端機編號,并列出屬于該終端機的程序的狀況。
t《終端機編號》 此參數的效果和指定“-t”參數相同,只在列表格式方面稍有差異。
-T 顯示現行終端機下的所有程序。
-u《用戶識別碼》 此參數的效果和指定“-U”參數相同。
u 以用戶為主的格式來顯示程序狀況。
-U《用戶識別碼》 列出屬于該用戶的程序的狀況,也可使用用戶名稱來指定。
U《用戶名稱》 列出屬于該用戶的程序的狀況。
v 采用虛擬內存的格式顯示程序狀況。
-V 或 V 顯示版本信息。
-w 或 w 采用寬闊的格式來顯示程序狀況。
x 顯示所有程序,不以終端機來區分。
X 采用舊式的 Linux i386 登陸格式顯示程序狀況。
-y 配合參數“-l”使用時,不顯示 F(flag)欄位,并以 RSS 欄位取代 ADDR 欄位 。
-《程序識別碼》 此參數的效果和指定“p”參數相同。
–cols《每列字符數》 設置每列的最大字符數。
–columns《每列字符數》 此參數的效果和指定“–cols”參數相同。
–cumulative 此參數的效果和指定“S”參數相同。
–deselect 此參數的效果和指定“-N”參數相同。
–forest 此參數的效果和指定“f”參數相同。
–headers 重復顯示標題列。
–help 在線幫助。
–info 顯示排錯信息。
–lines《顯示列數》 設置顯示畫面的列數。
–no-headers 此參數的效果和指定“h”參數相同,只在列表格式方面稍有差異。
–group《群組名稱》 此參數的效果和指定“-G”參數相同。
–Group《群組識別碼》 此參數的效果和指定“-G”參數相同。
–pid《程序識別碼》 此參數的效果和指定“-p”參數相同。
–rows《顯示列數》 此參數的效果和指定“–lines”參數相同。
–sid《階段作業》 此參數的效果和指定“-s”參數相同。
–tty《終端機編號》 此參數的效果和指定“-t”參數相同。
–user《用戶名稱》 此參數的效果和指定“-U”參數相同。
–User《用戶識別碼》 此參數的效果和指定“-U”參數相同。
–version 此參數的效果和指定“-V”參數相同。
–widty《每列字符數》 此參數的效果和指定“-cols”參數相同。
5 renice
5.1 功能說明
調整優先權。
5.2 語法
renice [優先等級][-g 《程序群組名稱》…][-p 《程序識別碼》…][-u 《用戶名稱》…]
5.3 補充說明
renice 指令可重新調整程序執行的優先權等級。預設是以程序識別碼指定程序調整其優先權,您亦可以指定程序群組或用戶名稱調整優先權等級,并修改所有隸屬于該程序群組或用戶的程序的優先權。等級范圍從-20–19,只有系統管理者可以改變其他用戶程序的優先權,也僅有系統管理者可以設置負數等級。
5.4 參數
-g 《程序群組名稱》 使用程序群組名稱,修改所有隸屬于該程序群組的程序的優先權。
-p 《程序識別碼》 改變該程序的優先權等級,此參數為預設值。
-u 《用戶名稱》 指定用戶名稱,修改所有隸屬于該用戶的程序的優先權。
6 top
6.1 功能說明
顯示,管理執行中的程序。
6.2 語法
top [bciqsS][d 《間隔秒數》][n 《執行次數》]
6.3 補充說明
執行 top 指令可顯示目前正在系統中執行的程序,并通過它所提供的互動式界面,用熱鍵加以管理。
6.4 參數
b 使用批處理模式。
c 列出程序時,顯示每個程序的完整指令,包括指令名稱,路徑和參數等相關信息。
d《間隔秒數》 設置 top 監控程序執行狀況的間隔時間,單位以秒計算。
i 執行 top 指令時,忽略閑置或是已成為 Zombie 的程序。
n《執行次數》 設置監控信息的更新次數。
q 持續監控程序執行的狀況。
s 使用保密模式,消除互動模式下的潛在危機。
S 使用累計模式,其效果類似 ps 指令的“-S”參數。
7 who
7.1 功能說明
顯示目前登入系統的用戶信息。
7.2 語法
who [-Himqsw][–help][–version][am i][記錄文件]
7.3 補充說明
執行這項指令可得知目前有那些用戶登入系統,單獨執行 who 指令會列出登入帳號,使用的終端機,登入時間以及從何處登入或正在使用哪個 X 顯示器。
7.4 參數
-H 或–heading 顯示各欄位的標題信息列。
-i 或-u 或–idle 顯示閑置時間,若該用戶在前一分鐘之內有進行任何動作,將標示成“?!碧枺绻撚脩粢殉^ 24 小時沒有任何動作,則標示出“old”字符串。
-m 此參數的效果和指定“am i”字符串相同。
-q 或–count 只顯示登入系統的帳號名稱和總人數。
-s 此參數將忽略不予處理,僅負責解決 who 指令其他版本的兼容性問題。
-w 或-T 或–mesg 或–message 或–writable 顯示用戶的信息狀態欄。
–help 在線幫助。
–version 顯示版本信息。
三、網絡管理
1 Curl
Curl 是 Linux 下一個很強大的 http 命令行工具,其功能十分強大。
1.1 讀取網頁
$ curl http://www.linuxidc.com
1.2 保存網頁
$ curl http://www.linuxidc.com 》 page.html
$ curl -o page.html http://www.linuxidc.com
1.3 使用的 proxy 服務器及其端口:-x
$ curl -x 123.45.67.89:1080 -o page.html http://www.linuxidc.com
1.4 使用 cookie 來記錄 session 信息
$ curl -x 123.45.67.89:1080 -o page.html -D cookie0001.txt http://www.linuxidc.com
這個 option: -D 是把 http 的 response 里面的 cookie 信息存到一個特別的文件中去,這樣,當頁面被存到 page.html 的同時,cookie 信息也被存到了 cookie0001.txt 里面了。
1.5 下一次訪問的時候,繼續使用上次留下的 cookie 信息
使用 option 來把上次的 cookie 信息追加到 http request 里面去:-b
$ curl -x 123.45.67.89:1080 -o page1.html -D cookie0002.txt -b cookie0001.txt http://www.linuxidc.com
1.6 瀏覽器信息
$ curl -A “Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)” -x 123.45.67.89:1080 -o page.html -D cookie0001.txt http://www.linuxidc.com
76
1.7 referer
$ curl -A “Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)” -x 123.45.67.89:1080 -e “mail.linuxidc.com” -o page.html -D cookie0001.txt http://www.linuxidc.com
這樣就可以騙對方的服務器,你是從 mail.linuxidc.com 點擊某個鏈接過來的
1.8 下載文件
$ curl -o 1.jpg http://cgi2.tky.3web.ne.jp/~zzh/screen1.JPG
$ curl -O http://cgi2.tky.3web.ne.jp/~zzh/screen1.JPG
-O 可以按照服務器上的文件名,自動存在本地
$ curl -O http://cgi2.tky.3web.ne.jp/~zzh/screen[1-10].JPG
1.9 批量下載
$ curl -O http://cgi2.tky.3web.ne.jp/~{zzh,nick}/[001-201].JPG
這樣產生的下載,就是
~zzh/001.JPG
~zzh/002.JPG
…
~zzh/201.JPG
~nick/001.JPG
~nick/002.JPG
…
~nick/201.JPG
1.10 自定義文件名的下載
curl -o #2_#1.jpg http://cgi2.tky.3web.ne.jp/~{zzh,nick}/[001-201].JPG
這樣,自定義出來下載下來的文件名,就變成了這樣:
原來:~zzh/001.JPG —-》 下載后:001-zzh.JPG 原來:~nick/001.JPG —-》 下載后:001-nick.JPG
這樣一來就不怕文件重名啦
1.11 斷點續傳
$ curl -c -O http://cgi2.tky.3wb.ne.jp/~zzh/screen1.JPG
分塊下載,我們使用這個 option 就可以了:-r
舉例說明
比如我們有一個 http://cgi2.tky.3web.ne.jp/~zzh/zhao1.MP3 要下載,我們就可以用這樣的命令:
$ curl -r 0-10240 -o “zhao.part1” http:/cgi2.tky.3web.ne.jp/~zzh/zhao1.MP3 &
$ curl -r 10241-20480 -o “zhao.part1” http:/cgi2.tky.3web.ne.jp/~zzh/zhao1.MP3 &
$ curl -r 20481-40960 -o “zhao.part1” http:/cgi2.tky.3web.ne.jp/~zzh/zhao1.MP3 &
$ curl -r 40961- -o “zhao.part1” http:/cgi2.tky.3web.ne.jp/~zzh/zhao1.MP3
這樣就可以分塊下載啦。不過你需要自己把這些破碎的文件合并起來如果你用 UNIX 或蘋果,用 cat zhao.part* 》 zhao.MP3 就可以如果用的是 Windows,用 copy /b 來解決吧,呵呵
1.12 瀏覽 FTP
$ curl -u name:passwd ftp://ip:port/path/file
或者大家熟悉的
$ curl ftp://name:passwd@ip:port/path/file
1.13 FTP 上傳
上傳的 option 是 -T
比如我們向 ftp 傳一個文件:
$ curl -T localfile -u name:passwd ftp://upload_site:port/path/
1.14 HTTP 上傳
$ curl -T localfile http://cgi2.tky.3web.ne.jp/~zzh/abc.cgi
注意,這時候,使用的協議是 HTTP 的 PUT method
1.15 POST 模式讀取網頁
POST 模式的 option 則是 -d
比如,
$ curl -d “user=nickwolfe&password=12345” http://www.linuxidc.com/login.cgi
1.16 POST 模式下的文件上傳
比如
《form method=“POST” enctype=“multipar/form-data” action=“ http://cgi2.tky.3web.ne.jp/~zzh/up_file.cgi”》
《input type=file name=upload》
《input type=submit name=nick value=“go”》
《/form》
這樣一個 HTTP 表單,我們要用 curl 進行模擬,就該是這樣的語法:
$ curl -F upload=@localfile -F nick=go http://cgi2.tky.3web.ne.jp/~zzh/up_file.cgi
2 finger
2.1 功能說明
查找并顯示用戶信息。
2.2 語法
finger [-lmsp][帳號名稱…]
2.3 補充說明
finger 指令會去查找,并顯示指定帳號的用戶相關信息,包括本地與遠端主機的用戶皆可,帳號名稱沒有大小寫的差別。單獨執行 finger 指令,它會顯示本地主機現在所有的用戶的登陸信息,包括帳號名稱,真實姓名,登入終端機,閑置時間,登入時間以及地址和電話。
2.4 參數
-l 列出該用戶的帳號名稱,真實姓名,用戶專屬目錄,登入所用的 Shell,登入時間,轉信地址,電子郵件狀態,還有計劃文件和方案文件內容。
-m 排除查找用戶的真實姓名。
-s 列出該用戶的帳號名稱,真實姓名,登入終端機,閑置時間,登入時間以及地址和電話。
-p 列出該用戶的帳號名稱,真實姓名,用戶專屬目錄,登入所用的 Shell,登入時間,轉信地址,電子郵件狀態,但不顯示該用戶的計劃文件和方案文件內容。
3 ftp
3.1 功能說明
設置文件系統相關功能。
3.2 語法
ftp [-dignv][主機名稱或 IP 地址]
3.3 補充說明
FTP 是 ARPANet 的標準文件傳輸協議,該網絡就是現今 Internet 的前身。
3.4 參數
-d 詳細顯示指令執行過程,便于排錯或分析程序執行的情形。
-i 關閉互動模式,不詢問任何問題。
-g 關閉本地主機文件名稱支持特殊字符的擴充特性。
-n 不使用自動登陸。
-v 顯示指令執行過程。
4 ifconfig
4.1 功能說明
顯示或設置網絡設備。
4.2 語法
ifconfig [網絡設備][down up -allmulti -arp -promisc][add《地址》][del《地址》][《hw《網絡設備類型》《硬件地址》][io_addr《I/O地址》][irq《IRQ地址》][media《網絡媒介類型》][mem_start《內存地址》][metric《數目》][mtu《字節》][netmask《子網掩碼》][tunnel《地址》][-broadcast《地址》][-pointopoint《地址》][IP 地址]
4.3 補充說明
ifconfig 可設置網絡設備的狀態,或是顯示目前的設置。
如果提示找不到命令,可用/sbin/ifconfig。
4.4 參數
add《地址》 設置網絡設備 IPv6 的 IP 地址。
del《地址》 刪除網絡設備 IPv6 的 IP 地址。
down 關閉指定的網絡設備。
《hw《網絡設備類型》《硬件地址》 設置網絡設備的類型與硬件地址。
io_addr《I/O 地址》 設置網絡設備的 I/O 地址。
irq《IRQ 地址》 設置網絡設備的 IRQ。
media《網絡媒介類型》 設置網絡設備的媒介類型。
mem_start《內存地址》 設置網絡設備在主內存所占用的起始地址。
metric《數目》 指定在計算數據包的轉送次數時,所要加上的數目。
mtu《字節》 設置網絡設備的 MTU。
netmask《子網掩碼》 設置網絡設備的子網掩碼。
tunnel《地址》 建立 IPv4 與 IPv6 之間的隧道通信地址。
up 啟動指定的網絡設備。
-broadcast《地址》 將要送往指定地址的數據包當成廣播數據包來處理。
-pointopoint《地址》 與指定地址的網絡設備建立直接連線,此模式具有保密功能。
-promisc 關閉或啟動指定網絡設備的 promiscuous 模式。
[IP 地址] 指定網絡設備的 IP 地址。
[網絡設備] 指定網絡設備的名稱。
5 ip
5.1 功能說明
ip 是 iproute2 軟件包里面的一個強大的網絡配置工具,它能夠替代一些傳統的網絡管理工具。例如:ifconfig、
route 等。
5.2 語法
ip [選項] [動作] [指令]
5.3 參數
動作 := { link | addr | route | rule | neigh | tunnel | maddr | mroute | monitor }
選項 := { -V[ersion] | -s[tatistics] | -r[esolve] |-f[amily] { inet | inet6 | ipx | dnet | link } | -o[neline] }
5.4 裝置介面 (device) 的相關設定:ip link
ip link 可以設定與裝置 (device) 有關的相關設定,包括 MTU 以及該網路介面的 MAC 等等, 當然也可以啟動 (up) 或關閉 (down) 某個網路介面啦!整個語法是這樣的:
[root@linux ~]# ip [-s] link show 《== 單純的查閱該裝置相關的資訊
[root@linux ~]# ip link set [device] [動作與參數]
參數:
show:僅顯示出這個裝置的相關內容,如果加上 -s 會顯示更多統計數據;
set :可以開始設定項目, device 指的是 eth0, eth1 等等介面代號;
動作與參數:包括有底下的這些動作:
up|down :啟動 (up) 或關閉 (down) 某個介面,其他參數使用預設的乙太網路;
address :如果這個裝置可以更改 MAC 的話,用這個參數修改!
name :給予這個裝置一個特殊的名字;
mtu :就是最大傳輸單元啊!
范例一:顯示出所有的介面資訊
[root@linux ~]# ip link show
1: lo: 《LOOPBACK,UP,10000》 mtu 16436 qdisc noqueue
link/loopback 000000:00 brd 000000:00
2: eth0: 《BROADCAST,MULTICAST,UP,10000》 mtu 1500 qdisc pfifo_fast qlen 1000
link/ether 00fc9a:cb brd ffffff:ff
3: sit0: 《NOARP》 mtu 1480 qdisc noop
link/sit 0.0.0.0 brd 0.0.0.0
[root@linux ~]# ip -s link show eth0
2: eth0: 《BROADCAST,MULTICAST,UP,10000》 mtu 1500 qdisc pfifo_fast qlen 1000
link/ether 00fc9a:cb brd ffffff:ff
RX: bytes packets errors dropped overrun mcast
484011792 2247372 0 0 0 0
TX: bytes packets errors dropped carrier collsns
2914104290 2867753 0 0 0 0
使用 ip link show 可以顯示出整個裝置介面的硬體相關資訊,如上所示,包括網卡位址(MAC)、MTU 等等,比較有趣的應該是那個 sit0 的介面了,那個 sit0 的介面是用在 IPv4 及 IPv6 的封包轉換上的, 對于我們僅使用 IPv4 的網路是沒有作用的。lo 及 sit0 都是主機內部所自行設定的。而如果加上 -s 的參數后,則這個網路卡的相關統計資訊就會被列出來, 包括接收 (RX) 及傳送 (TX) 的封包數量等等,詳細的內容與 ifconfig 所輸出的結果相同的。
范例二:啟動、關閉與設定裝置的相關資訊
[root@linux ~]# ip link set eth0 up
啟動 eth0 這個裝置介面;
[root@linux ~]# ip link set eth0 down
阿就關閉??!簡單的要命~
[root@linux ~]# ip link set eth0 mtu 1000
更改 MTU 的值,達到 1000 bytes,單位就是 bytes ??!
更新網路卡的 MTU 使用 ifconfig 也可以達成?。]啥了不起,不過,如果是要更改『網路卡代號、 MAC位址的資訊』的話,那可就得使用 ip 羅~不過,設定前得要先關閉該網路卡,否則會不成功。如下所示:
范例三:修改網路卡代號、MAC 等參數
[root@linux ~]# ip link set eth0 name vbird
SIOCSIFNAME: Device or resource busy
因為該裝置目前是啟動的,所以不能這樣做設定。你應該要這樣做:
[root@linux ~]# ip link set eth0 down 《==關閉介面
[root@linux ~]# ip link set eth0 name vbird 《==重新設定
[root@linux ~]# ip link show 《==觀察一下
2. vbird: 《BROADCAST,MILTICASE》 mtu 900 qdisc pfifo_fast qlen 1000
link/ehter 00d0c3:46 brd ffffff:ff
怕了吧!連網路卡代號都可以改變!不過,玩玩後記得改回來??!
因為我們的 ifcfg-eth0 還是使用原本的裝置代號!避免有問題,要改回來
[root@linux ~]# ip link set vbird name eth0 《==介面改回來
[root@linux ~]# ip link set eth0 address aaaaaa:aa
[root@linux ~]# ip link show eth0
如果你的網路卡支援硬體位址 (MAC) 可以更改的話,那么上面這個動作就可以更改你的網路卡位址了!厲害吧!不過,還是那句老話,測試完之后請立刻改回來啊!
在這個裝置的硬體相關資訊設定上面,包括 MTU, MAC 以及傳輸的模式等等,都可以在這里設定。有趣的是那個 address 的項目,那個項目後面接的可是硬體位址 (MAC) 而不是 IP 喔!很容易搞錯啊!切記切記!更多的硬體參數可以使用 man ip 查閱一下與 ip link 有關的設定。
5.5 關于額外的 IP 相關設定:ip address
如果說 ip link 是與 OSI 七層協定 的第二層資料連階層有關的話,那么 ip address (ip addr) 就是與第三層網路層有關的參數啦!主要是在設定與 IP 有關的各項參數,包括 netmask, broadcast 等等。
[root@linux ~]# ip address show 《==就是查閱 IP 參數??!
[root@linux ~]# ip address [add|del] [IP 參數] [dev 裝置名] [相關參數]
參數:
show :單純的顯示出介面的 IP 資訊??;
add|del :進行相關參數的增加 (add) 或刪除 (del) 設定,主要有:
IP 參數:主要就是網域的設定,例如 192.168.100.100/24 之類的設定喔;
dev :這個 IP 參數所要設定的介面,例如 eth0, eth1 等等;
相關參數:主要有底下這些:
broadcast:設定廣播位址,如果設定值是 + 表示『讓系統自動計算』
label :亦即是這個裝置的別名,例如 eth0:0 就是了!
scope :這個介面的領域,通常是這幾個大類:
global :允許來自所有來源的連線;
site :僅支援 IPv6 ,僅允許本主機的連線;
link :僅允許本裝置自我連線;
host :僅允許本主機內部的連線;
所以當然是使用 global 羅!預設也是 global 啦!
范例一:顯示出所有的介面之 IP 參數:
[root@linux ~]# ip address show
1: lo: 《LOOPBACK,UP,10000》 mtu 16436 qdisc noqueue
link/loopback 000000:00 brd 000000:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: 《BROADCAST,MULTICAST,UP,10000》 mtu 1500 qdisc pfifo_fast qlen 1000
link/ether 00fc9a:cb brd ffffff:ff
inet 192.168.1.2/24 brd 192.168.1.255 scope global eth0
inet6 fe80:fcff9acb/64 scope link
valid_lft forever preferred_lft forever
3: sit0: 《NOARP》 mtu 1480 qdisc noop
link/sit 0.0.0.0 brd 0.0.0.0
看到上面那個特殊的字體嗎?沒錯!那就是 IP 參數啦!也是 ip address 最主要的功能。底下我們進一步來新增虛擬的網路介面試看看:
范例二:新增一個介面,名稱假設為 eth0:vbird
[root@linux ~]# ip address add 192.168.50.50/24 broadcast +
dev eth0 label eth0:vbird
[root@linux ~]# ip address show eth0
2: eth0: mtu 1500 qdisc pfifo_fast qlen 1000
link/ether 00d0c3:46 brd ffffff:ff
inet 192.168.1.100/24 brd 192.168.1.255 scope global eth0
inet 192.168.50.50/24 brd 192.168.50.255 scope global eth0:vbird
inet6 fe80:d0ffc346/64 scope link
valid_lft forever preferred_lft forever
看到上面的特殊字體了吧?多出了一行新的介面,且名稱是 eth0:vbird
至於那個 broadcast + 也可以寫成 broadcast 192.168.50.255 啦!
[root@linux ~]# ifconfig
eth0:vbir Link encap:Ethernet HWaddr 00D0C3:46
inet addr:192.168.50.50 Bcast:192.168.50.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:5 Base address:0x3e00
如果使用 ifconfig 就能夠看到這個怪東西了!
范例三:將剛剛的界面刪除
[root@linux ~]# ip address del 192.168.50.50/24 dev eth0
5.6 關于路由的相關設定:ip route
ip route 的功能幾乎與 route 這個指令差不多,但是,他還可以進行額外的參數設計,例如 MTU 的規劃等等,相當的強悍??!
[root@linux ~]# ip route show 《==單純的顯示出路由的設定而已
[root@linux ~]# ip route [add|del] [IP 或網域] [via gateway] [dev 裝置]
參數:
show :單純的顯示出路由表,也可以使用 list ;
add|del :增加 (add) 或刪除 (del) 路由的意思。
IP 或網域:可使用 192.168.50.0/24 之類的網域或者是單純的 IP ;
via :從那個 gateway 出去,不一定需要;
dev :由那個裝置連出去,這就需要了!
mtu :可以額外的設定 MTU 的數值喔!
范例一:顯示出目前的路由資料
[root@linux ~]# ip route show
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.2
169.254.0.0/16 dev eth1 scope link
default via 192.168.1.254 dev eth1
如上表所示,最簡單的功能就是顯示出目前的路由資訊,其實跟 route 這個指令相同啦!指示必須要注意幾個小東西:
proto:此路由的路由協定,主要有 redirect, kernel, boot, static, ra 等, 其中 kernel 指的是直接由核心判斷自動設定。
scope:路由的范圍,主要是 link ,亦即是與本裝置有關的直接連線。
再來看一下如何進行路由的增加與刪除吧!
范例二:增加路由,主要是本機直接可溝通的網域
[root@linux ~]# ip route add 192.168.5.0/24 dev eth0
針對本機直接溝通的網域設定好路由,不需要透過外部的路由器
[root@linux ~]# ip route show
192.168.5.0/24 dev eth0 scope link
…以下省略…
范例三:增加可以通往外部的路由,需透過 router 喔!
[root@linux ~]# ip route add 192.168.10.0/24 via 192.168.5.100 dev eth0
[root@linux ~]# ip route show
192.168.5.0/24 dev eth0 scope link
…其他省略…
192.168.10.0/24 via 192.168.5.100 dev eth0
仔細看喔,因為我有 192.168.5.0/24 的路由存在 (我的網卡直接聯系),
所以才可以將 192.168.10.0/24 的路由丟給 192.168.5.100
那部主機來幫忙傳遞喔!與之前提到的 route 指令是一樣的限制!
范例四:增加預設路由
[root@linux ~]# ip route add default via 192.168.1.2 dev eth0
那個 192.168.1.2 就是我的預設路由器 (gateway) 的意思??!_
真的記得,只要一個預設路由就 OK !
范例五:刪除路由
[root@linux ~]# ip route del 192.168.10.0/24
[root@linux ~]# ip route del 192.168.5.0/24
6 netstat
6.1 功能說明
顯示網絡狀態。
6.2 語法
netstat [-acCeFghilMnNoprstuvVwx][-A《網絡類型》][–ip]
6.3 補充說明
利用 netstat 指令可讓你得知整個 Linux 系統的網絡情況。
6.4 參數
-a 或–all 顯示所有連線中的 Socket。
-A《網絡類型》或–《網絡類型》 列出該網絡類型連線中的相關地址。
-c 或–continuous 持續列出網絡狀態。
-C 或–cache 顯示路由器配置的快取信息。
-e 或–extend 顯示網絡其他相關信息。
-F 或–fib 顯示 FIB。
-g 或–groups 顯示多重廣播功能群組組員名單。
-h 或–help 在線幫助。
-i 或–interfaces 顯示網絡界面信息表單。
-l 或–listening 顯示監控中的服務器的 Socket。
-M 或–masquerade 顯示偽裝的網絡連線。
-n 或–numeric 直接使用 IP 地址,而不通過域名服務器。
-N 或–netlink 或–symbolic 顯示網絡硬件外圍設備的符號連接名稱。
-o 或–timers 顯示計時器。
-p 或–programs 顯示正在使用 Socket 的程序識別碼和程序名稱。
-r 或–route 顯示 Routing Table。
-s 或–statistice 顯示網絡工作信息統計表。
-t 或–tcp 顯示 TCP 傳輸協議的連線狀況。
-u 或–udp 顯示 UDP 傳輸協議的連線狀況。
-v 或–verbose 顯示指令執行過程。
-V 或–version 顯示版本信息。
-w 或–raw 顯示 RAW 傳輸協議的連線狀況。
-x 或–unix 此參數的效果和指定“-A unix”參數相同。
–ip 或–inet 此參數的效果和指定“-A inet”參數相同。
7 nslookup
1 功能說明
nslookup 命令的功能是查詢一臺機器的 IP 地址和其對應的域名。使用權限所有用戶。它通常需要一臺域名服務器來提供域名服務。如果用戶已經設置好域名服務器,就可以用這個命令查看不同主機的 IP 地址對應的域名。
7.2 語法
nslookup [IP 地址/域名]
5.7.3 例子
(1)在本地計算機上使用 nslookup 命令
$ nslookup
Default Server: name.cao.com.cn
Address: 192.168.1.9
在符號“》”后面輸入要查詢的 IP 地址域名,并回車即可。如果要退出該命令,輸入“exit”,并回車即可。
(2)使用 nslookup 命令測試 named
輸入下面命令:
nslookup
然后就進入交換式 nslookup 環境。如果 named 正常啟動,則 nslookup 會顯示當前 DNS 服務器的地址和域名,否則表示 named 沒能正常啟動。
下面簡單介紹一些基本的 DNS 診斷。
檢查正向 DNS 解析,在 nslookup 提示符下輸入帶域名的主機名,如 hp712.my.com,nslookup 應能顯示該主機名對應的 IP 地址。如果只輸入 hp712,nslookup 會根據/etc/resolv.conf 的定義,自動添加 my.com 域名,并回答對應的 IP 地址。
檢查反向 DNS 解析,在 nslookup 提示符下輸入某個 IP 地址,如 192.22.33.20,nslookup 應能回答該 IP 地址所對應的主機名。
檢查 MX 郵件地址記錄在 nslookup 提示符下輸入:
set q=mx
然后輸入某個域名,輸入 my.com 和 mail.my.com,nslookup 應能夠回答對應的郵件服務器地址,即
support.my.com 和 support2.my.com。
檢查 TXT 記錄:
set type=txt
然后輸入某個域名,nslookup 會顯示對應的記錄。
8 ping
8.1 功能說明
檢測主機。
8.2 語法
ping [-dfnqrRv][-c《完成次數》][-i《間隔秒數》][-I《網絡界面》][-l《前置載入》][-p《范本樣式》][-s《數據包大小》][-t《存活數值》][主機名稱或 IP 地址]
8.3 補充說明
執行 ping 指令會使用 ICMP 傳輸協議,發出要求回應的信息,若遠端主機的網絡功能沒有問題,就會回應該信息,因而得知該主機運作正常。
8.4 參數
-d 使用 Socket 的 SO_DEBUG 功能。
-c《完成次數》 設置完成要求回應的次數。
-f 極限檢測。
-i《間隔秒數》 指定收發信息的間隔時間。
-I《網絡界面》 使用指定的網絡界面送出數據包。
-l《前置載入》 設置在送出要求信息之前,先行發出的數據包。
-n 只輸出數值。
-p《范本樣式》 設置填滿數據包的范本樣式。
-q 不顯示指令執行過程,開頭和結尾的相關信息除外。
-r 忽略普通的 Routing Table,直接將數據包送到遠端主機上。
-R 記錄路由過程。
-s《數據包大小》 設置數據包的大小。
-t《存活數值》 設置存活數值 TTL 的大小。
-v 詳細顯示指令的執行過程。
9 rcp
9.1 功能說明
遠端復制文件或目錄。
9.2 語法
rcp [-pr][源文件或目錄][目標文件或目錄] 或 rcp [-pr][源文件或目錄…][目標文件]
9.3 補充說明
rcp 指令用在遠端復制文件或目錄,如同時指定兩個以上的文件或目錄,且最后的目的地是一個已經存在的目錄,則它灰把前面指定的所有文件或目錄復制到該目錄中。
9.4 參數
-p 保留源文件或目錄的屬性,包括擁有者,所屬群組,權限與時間。
-r 遞歸處理,將指定目錄下的文件與子目錄一并處理。
10 route
10.1 功能說明
route 表示手工產生、修改和查看路由表。
10.2 語法
route [-add][-net|-host] targetaddress [-netmask Nm][dev]If]
route [-delete][-net|-host] targetaddress [gw Gw] [-netmask Nm] [dev]If]
10.3 參數
-add:增加路由。
-delete:刪除路由。
-net:路由到達的是一個網絡,而不是一臺主機。
-host:路由到達的是一臺主機。
-netmask Nm:指定路由的子網掩碼。
gw:指定路由的網關。
[dev]If:強迫路由鏈指定接口。
10.4 例子
route add -net 202.96.96.0 -netmask 255.255.255.0 gw 192.168.1.10 dev eth0
表示到 202.96.96.0/255.255.255.0 這個網絡的信息通過你的第一塊網卡發送 , 默認網關的地址是192.168.1.10
11 tcpdump
11.1 功能說明
傾倒網絡傳輸數據。
11.2 語法
tcpdump [-adeflnNOpqStvx][-c《數據包數目》][-dd][-ddd][-F《表達文件》][-i《網絡界面》][-r《數據包文件》][-s《數據包大小》][-tt][-T《數據包類型》][-vv][-w《數據包文件》][輸出數據欄位]
11.3 補充說明
執行 tcpdump 指令可列出經過指定網絡界面的數據包文件頭,在 Linux 操作系統中,你必須是系統管理員。
11.4 參數
-a 嘗試將網絡和廣播地址轉換成名稱。
-c《數據包數目》 收到指定的數據包數目后,就停止進行傾倒操作。
-d 把編譯過的數據包編碼轉換成可閱讀的格式,并傾倒到標準輸出。
-dd 把編譯過的數據包編碼轉換成 C 語言的格式,并傾倒到標準輸出。
-ddd 把編譯過的數據包編碼轉換成十進制數字的格式,并傾倒到標準輸出。
-e 在每列傾倒資料上顯示連接層級的文件頭。
-f 用數字顯示網際網絡地址。
-F《表達文件》 指定內含表達方式的文件。
-i《網絡界面》 使用指定的網絡截面送出數據包。
-l 使用標準輸出列的緩沖區。
-n 不把主機的網絡地址轉換成名字。
-N 不列出域名。
-O 不將數據包編碼最佳化。
-p 不讓網絡界面進入混雜模式。
-q 快速輸出,僅列出少數的傳輸協議信息。
-r《數據包文件》 從指定的文件讀取數據包數據。
-s《數據包大小》 設置每個數據包的大小。
-S 用絕對而非相對數值列出 TCP 關聯數。
-t 在每列傾倒資料上不顯示時間戳記。
-tt 在每列傾倒資料上顯示未經格式化的時間戳記。
-T《數據包類型》 強制將表達方式所指定的數據包轉譯成設置的數據包類型。
-v 詳細顯示指令執行過程。
-vv 更詳細顯示指令執行過程。
-x 用十六進制字碼列出數據包資料。
-w《數據包文件》 把數據包數據寫入指定的文件。
12 telnet
12.1 功能說明
遠端登入。
12.2 語法
telnet [-8acdEfFKLrx][-b《主機別名》][-e《脫離字符》][-k《域名》][-l《用戶名稱》][-n《記錄文件》][-S《服務類型》][-X《認證形態》][主機名稱或 IP 地址《通信端口》]
12.3 補充說明
執行 telnet 指令開啟終端機階段作業,并登入遠端主機。
12.4 參數
-8 允許使用 8 位字符資料,包括輸入與輸出。
-a 嘗試自動登入遠端系統。
-b《主機別名》 使用別名指定遠端主機名稱。
-c 不讀取用戶專屬目錄里的.telnetrc 文件。
-d 啟動排錯模式。
-e《脫離字符》 設置脫離字符。
-E 濾除脫離字符。
-f 此參數的效果和指定“-F”參數相同。
-F 使用 Kerberos V5 認證時,加上此參數可把本地主機的認證數據上傳到遠端主機。
-k《域名》 使用 Kerberos 認證時,加上此參數讓遠端主機采用指定的領域名,而非該主機的域名。
-K 不自動登入遠端主機。
-l《用戶名稱》 指定要登入遠端主機的用戶名稱。
-L 允許輸出 8 位字符資料。
-n《記錄文件》 指定文件記錄相關信息。
-r 使用類似 rlogin 指令的用戶界面。
-S《服務類型》 設置 telnet 連線所需的 IP TOS 信息。
-x 假設主機有支持數據加密的功能,就使用它。
-X《認證形態》 關閉指定的認證形態。
13 traceroute
13.1 功能說明
顯示數據包到主機間的路徑。
13.2 語法
traceroute [-dFlnrvx][-f《存活數值》][-g《網關》…][-i《網絡界面》][-m《存活數 值》][-p《通信端口》][-s《來源地址》][-t《服務類型》][-w《超時秒數》][主 機名稱或 IP 地址][數據包大?。?/p>
13.3 補充說明
traceroute 指令讓你追蹤網絡數據包的路由途徑,預設數據包大小是 40Bytes,用戶可另行設置。
13.4 參數
-d 使用 Socket 層級的排錯功能。
-f《存活數值》 設置第一個檢測數據包的存活數值 TTL 的大小。
-F 設置勿離斷位。
-g《網關》 設置來源路由網關,最多可設置 8 個。
-i《網絡界面》 使用指定的網絡界面送出數據包。
-I 使用 ICMP 回應取代 UDP 資料信息。
-m《存活數值》 設置檢測數據包的最大存活數值 TTL 的大小。
-n 直接使用 IP 地址而非主機名稱。
-p《通信端口》 設置 UDP 傳輸協議的通信端口。
-r 忽略普通的 Routing Table,直接將數據包送到遠端主機上。
-s《來源地址》 設置本地主機送出數據包的 IP 地址。
-t《服務類型》 設置檢測數據包的 TOS 數值。
-v 詳細顯示指令的執行過程。
-w《超時秒數》 設置等待遠端主機回報的時間。
-x 開啟或關閉數據包的正確性檢驗。
原文標題:運維必會的 Linux 壓縮管理、進程管理、網絡管理命令總結
文章出處:【微信公眾號:馬哥Linux運維】歡迎添加關注!文章轉載請注明出處。
-
Linux
+關注
關注
87文章
11292瀏覽量
209328 -
網絡管理
+關注
關注
0文章
120瀏覽量
27670 -
壓縮
+關注
關注
2文章
102瀏覽量
19373
發布評論請先 登錄
相關推薦
評論