運維工程師必會的109個Linux命令

 

運維工程師必會的109個Linux命令php

1    文件管理..................................................................................................................... 6html

1.1         basename.................................................................................................... 6node

1.2         cat.............................................................................................................. 6linux

1.3         cd............................................................................................................... 7web

1.4         chgrp.......................................................................................................... 7面試

1.5         chmod......................................................................................................... 8正則表達式

1.6         chown......................................................................................................... 9算法

1.7         comm......................................................................................................... 10shell

1.8         cp.............................................................................................................. 10數據庫

1.9         cut............................................................................................................. 11

1.10        dd............................................................................................................. 12

1.11        diff............................................................................................................ 13

1.12        dir............................................................................................................. 14

1.13        dos2unix.................................................................................................... 16

1.14        egrep......................................................................................................... 17

1.15        fgrep......................................................................................................... 17

1.16        file............................................................................................................ 17

1.17        find........................................................................................................... 18

1.18        grep........................................................................................................... 20

1.19        head.......................................................................................................... 22

1.20        Less........................................................................................................... 23

1.21        ln.............................................................................................................. 23

1.22        locate........................................................................................................ 24

1.23        ls............................................................................................................... 24

1.24        mkdir......................................................................................................... 26

1.25        more.......................................................................................................... 27

1.26        mv............................................................................................................. 28

1.27        od.............................................................................................................. 29

1.28        pwd........................................................................................................... 30

1.29        rename...................................................................................................... 30

1.30        rm............................................................................................................. 31

1.31        rmdir......................................................................................................... 31

1.32        sed............................................................................................................ 32

1.33        sort........................................................................................................... 32

1.34        tail............................................................................................................ 33

1.35        touch......................................................................................................... 34

1.36        uniq........................................................................................................... 35

1.37        unix2dos.................................................................................................... 36

1.38        vdir........................................................................................................... 36

1.39        vi............................................................................................................... 37

1.40        wc............................................................................................................. 40

2    磁盤管理................................................................................................................... 42

2.1         dd............................................................................................................. 42

2.2         df.............................................................................................................. 45

2.3         du.............................................................................................................. 46

2.4         fdisk.......................................................................................................... 47

2.5         format....................................................................................................... 48

2.6         free........................................................................................................... 49

2.7         mount........................................................................................................ 50

2.8         umount...................................................................................................... 55

3    壓縮管理................................................................................................................... 57

3.1         bunzip2...................................................................................................... 57

3.2         bzip2.......................................................................................................... 57

3.3         cpio........................................................................................................... 58

3.4         gunzip........................................................................................................ 60

3.5         gzip........................................................................................................... 61

3.6         split........................................................................................................... 62

3.7         tar............................................................................................................. 63

3.8         unzip......................................................................................................... 66

3.9         zgrep......................................................................................................... 67

3.10        zip............................................................................................................. 67

4    進程管理................................................................................................................... 69

4.1         crontab...................................................................................................... 69

4.2         kill............................................................................................................. 69

4.3         nohup........................................................................................................ 70

4.4         ps.............................................................................................................. 71

4.5         renice........................................................................................................ 73

4.6         top............................................................................................................. 74

4.7         who........................................................................................................... 74

5    網絡管理................................................................................................................... 76

5.1         Curl........................................................................................................... 76

5.2         finger........................................................................................................ 79

5.3         ftp............................................................................................................. 79

5.4         ifconfig...................................................................................................... 80

5.5         ip............................................................................................................... 81

5.6         netstat....................................................................................................... 86

5.7         nslookup.................................................................................................... 87

5.8         ping........................................................................................................... 89

5.9         rcp............................................................................................................ 90

5.10        route......................................................................................................... 90

5.11        tcpdump..................................................................................................... 91

5.12        telnet........................................................................................................ 92

5.13        traceroute................................................................................................. 93

6    系統管理................................................................................................................... 95

6.1         cal............................................................................................................. 95

6.2         cat............................................................................................................. 95

6.3         chsh.......................................................................................................... 96

6.4         clear.......................................................................................................... 96

6.5         date........................................................................................................... 96

6.6         echo.......................................................................................................... 98

6.7         ethtool....................................................................................................... 99

6.8         free.......................................................................................................... 101

6.9         getconf.................................................................................................... 102

6.10        groupadd.................................................................................................. 103

6.11        groupdel................................................................................................... 104

6.12        groupmod................................................................................................. 104

6.13        id............................................................................................................. 105

6.14        init........................................................................................................... 105

6.15        ipcs.......................................................................................................... 106

6.16        mesg........................................................................................................ 108

6.17        passwd..................................................................................................... 108

6.18        rpm.......................................................................................................... 109

6.19        service..................................................................................................... 112

6.20        setup........................................................................................................ 112

6.21        shutdown................................................................................................. 113

6.22        su............................................................................................................. 113

6.23        sync......................................................................................................... 114

6.24        uname...................................................................................................... 115

6.25        uptime...................................................................................................... 115

6.26        useradd.................................................................................................... 116

6.27        userdel..................................................................................................... 117

6.28        usermod................................................................................................... 117

6.29        vmstat...................................................................................................... 118

6.30        wall......................................................................................................... 119

6.31        write........................................................................................................ 120

7    更多參考.................................................................................................................. 121

 

1     文件管理

1.1    basename

1.1.1       功能說明

從文件名中去掉路徑和擴展名  

例:basename include/stdio.h .h

Output "stdio".

1.1.2       選項

--help     顯示此幫助信息並離開

--version  顯示版本信息並離開

1.2    cat

1.2.1       功能說明

把檔案串鏈接後傳到基本輸出(屏幕或加 > filename 到另外一個檔案)

1.2.2       語  法

cat [-AbeEnstTuv] [--help] [--version] filename

1.2.3       參數

-n 或 --number 由 1 開始對全部輸出的行數編號

-b 或 --number-nonblank 和 -n 類似,只不過對於空白行不編號

-s 或 --squeeze-blank 當遇到有連續兩行以上的空白行,就代換爲一行的空白行

-v 或 --show-nonprinting

範例:

cat -n textfile1 > textfile2 把 textfile1 的檔案內容加上行號後輸入 textfile2 這個檔案裏

cat -b textfile1 textfile2 >> textfile3 把 textfile1 和 textfile2 的檔案內容加上行號(空白行不加)以後將內容附加到 textfile3 裏。

1.3    cd

1.3.1       功能說明

切換目錄。

1.3.2       語法

cd [目的目錄]

1.3.3       補充說明

cd指令可以讓用戶在不一樣的目錄間切換,但該用戶必須擁有足夠的權限進入目的目錄。

1.4    chgrp

1.4.1       功能說明

變動文件或目錄的所屬羣組。

語法:

chgrp [-cfhRv][--help][--version][所屬羣組][文件或目錄...] 

或 chgrp [-cfhRv][--help][--reference=<參考文件或目錄>][--version][文件或目錄...] 

1.4.2       補充說明

在UNIX系統家族裏,文件或目錄權限的掌控以擁有者及所屬羣組來管理。您可使用chgrp指令去變動文件與目錄的所屬羣組,設置方式採用羣組名稱或羣組識別碼皆可。 

 

1.4.3       參數

 -c或--changes  效果相似"-v"參數,但僅回報更改的部分。 

 -f或--quiet或--silent  不顯示錯誤信息。 

 -h或--no-dereference  只對符號鏈接的文件做修改,而不更動其餘任何相關文件。 

 -R或--recursive  遞歸處理,將指定目錄下的全部文件及子目錄一併處理。 

 -v或--verbose  顯示指令執行過程。 

 --help  在線幫助。 

 --reference=<參考文件或目錄>  把指定文件或目錄的所屬羣組所有設成和參考文件或目錄的所屬羣組相同。 

 --version  顯示版本信息。

1.5    chmod

1.5.1       功能說明

變動文件或目錄的權限。

 

語法:

chmod [-cfRv][--help][--version][<權限範圍>+/-/=<權限設置...>][文件或目錄...] 

或 chmod [-cfRv][--help][--version][數字代號][文件或目錄...] 

或 chmod [-cfRv][--help][--reference=<參考文件或目錄>][--version][文件或目錄...] 

1.5.2       補充說明

在UNIX系統家族裏,文件或目錄權限的控制分別以讀取,寫入,執行3種通常權限來區分,另有3種特殊權限可供運用,再搭配擁有者與所屬羣組管理權限範圍。您可使用chmod指令去變動文件與目錄的權限,設置方式採用文字或數字代號皆可。符號鏈接的權限沒法變動,若是您對符號鏈接修改權限,其改變會做用在被鏈接的原始文件。權限範圍的表示法以下: 

 u:User,即文件或目錄的擁有者。 

 g:Group,即文件或目錄的所屬羣組。 

 o:Other,除了文件或目錄擁有者或所屬羣組以外,其餘用戶皆屬於這個範圍。 

 a:All,即所有的用戶,包含擁有者,所屬羣組以及其餘用戶。 

 

 有關權限代號的部分,列表於下: 

 r:讀取權限,數字代號爲"4"。 

 w:寫入權限,數字代號爲"2"。 

 x:執行或切換權限,數字代號爲"1"。 

 -:不具任何權限,數字代號爲"0"。 

1.5.3       參數

 -c或--changes  效果相似"-v"參數,但僅回報更改的部分。 

 -f或--quiet或--silent  不顯示錯誤信息。 

 -R或--recursive  遞歸處理,將指定目錄下的全部文件及子目錄一併處理。 

 -v或--verbose  顯示指令執行過程。 

 --help  在線幫助。 

 --reference=<參考文件或目錄>  把指定文件或目錄的權限所有設成和參考文件或目錄的權限相同 

 --version  顯示版本信息。 

 <權限範圍>+<權限設置>  開啓權限範圍的文件或目錄的該項權限設置。 

 <權限範圍>-<權限設置>  關閉權限範圍的文件或目錄的該項權限設置。 

 <權限範圍>=<權限設置>  指定權限範圍的文件或目錄的該項權限設置。

1.6    chown

1.6.1       功能說明

變動文件或目錄的擁有者或所屬羣組。

1.6.2       語法

chown [-cfhRv][--dereference][--help][--version][擁有者.<所屬羣組>][文件或目錄..] 

或chown [-chfRv][--dereference][--help][--version][.所屬羣組][文件或目錄... ...] 

或chown [-cfhRv][--dereference][--help][--reference=<參考文件或目錄>][--version][文件或目錄...] 

1.6.3       補充說明

在UNIX系統家族裏,文件或目錄權限的掌控以擁有者及所屬羣組來管理。您可使用chown指令去變動文件與目錄的擁有者或所屬羣組,設置方式採用用戶名稱或用戶識別碼皆可,設置羣組則用羣組名稱或羣組識別碼。 

1.6.4       參數

 -c或--changes  效果相似"-v"參數,但僅回報更改的部分。 

 -f或--quite或--silent  不顯示錯誤信息。 

 -h或--no-dereference  之對符號鏈接的文件做修改,而不更動其餘任何相關文件。 

 -R或--recursive  遞歸處理,將指定目錄下的全部文件及子目錄一併處理。 

 -v或--version  顯示指令執行過程。 

 --dereference  效果和"-h"參數相同。 

 --help  在線幫助。 

 --reference=<參考文件或目錄>  把指定文件或目錄的擁有者與所屬羣組所有設成和參考文件或目 錄的擁有者與所屬羣組相同。 

 --version  顯示版本信息。

1.7    comm

1.7.1       功能說明

比較兩個已排過序的文件。

1.7.2       語法

comm [-123][--help][--version][第1個文件][第2個文件]

1.7.3       補充說明

這項指令會一列列地比較兩個已排序文件的差別,並將其結果顯示出來,若是沒有指定任何參數,則會把結果分紅3行顯示:第1行僅是在第1個文件中出現過的列,第2行是僅在第2個文件中出現過的列,第3行則是在第1與第2個文件裏都出現過的列。若給予的文件名稱爲"-",則comm指令會從標準輸入設備讀取數據。

1.7.4       參數

  -1   不顯示只在第1個文件裏出現過的列。

  -2   不顯示只在第2個文件裏出現過的列。

  -3   不顯示只在第1和第2個文件裏出現過的列。

  --help   在線幫助。

  --version   顯示版本信息。

1.8    cp

1.8.1       功能說明

複製文件或目錄。 

1.8.2       語法

cp [-abdfilpPrRsuvx][-S <備份字尾字符串>][-V <備份方式>][--help][--spares=<使用時機>][--version][源文件或目錄][目標文件或目錄] [目的目錄] 

1.8.3       補充說明

cp指令用在複製文件或目錄,如同時指定兩個以上的文件或目錄,且最後的目的地是一個已經存在的目錄,則它會把前面指定的全部文件或目錄複製到該目錄中。若同時指定多個文件或目錄,而最後的目的地並不是是一個已存在的目錄,則會出現錯誤信息。

1.8.4       參數

 -a或--archive  此參數的效果和同時指定"-dpR"參數相同。 

 -b或--backup  刪除,覆蓋目標文件以前的備份,備份文件會在字尾加上一個備份字符串。 

 -d或--no-dereference  當複製符號鏈接時,把目標文件或目錄也創建爲符號鏈接,並指向與源文件或目錄鏈接的原始文件或目錄。 

 -f或--force  強行復制文件或目錄,不論目標文件或目錄是否已存在。 

 -i或--interactive  覆蓋既有文件以前先詢問用戶。 

 -l或--link  對源文件創建硬鏈接,而非複製文件。 

 -p或--preserve  保留源文件或目錄的屬性。 

 -P或--parents  保留源文件或目錄的路徑。 

 -r  遞歸處理,將指定目錄下的文件與子目錄一併處理。 

 -R或--recursive  遞歸處理,將指定目錄下的全部文件與子目錄一併處理。 

 -s或--symbolic-link  對源文件創建符號鏈接,而非複製文件。 

 -S<備份字尾字符串>或--suffix=<備份字尾字符串>  用"-b"參數備份目標文件後,備份文件的字尾會被加上一個備份字符串,預設的備份字尾字符串是符號"~"。 

 -u或--update  使用這項參數後只會在源文件的更改時間較目標文件更新時或是 名稱相互對應的目標文件並不存在,才複製文件。 

 -v或--verbose  顯示指令執行過程。 

 -V<備份方式>或--version-control=<備份方式>  用"-b"參數備份目標文件後,備份文件的字尾會被加上一個備份字符串,這字符串不只可用"-S"參數變動,當使用"-V"參數指定不一樣備份方式時,也會產生不一樣字尾的備份字串。  

 -x或--one-file-system  複製的文件或目錄存放的文件系統,必須與cp指令執行時所處的文件系統相同,不然不予複製。 

 --help  在線幫助。 

 --sparse=<使用時機>  設置保存稀疏文件的時機。 

 --version  顯示版本信息。

1.9    cut

1.9.1       功能說明

顯示每行從開頭算起 num1 到 num2 的文字。

1.9.2       語法

cut -cnum1-num2 filename

1.9.3       舉例

        shell>> cat example

        test2

        this is test1

        shell>> cut -c0-6 example       ## print 開頭算起前 6 個字元

        test2

        this i

1.10      dd

1.10.1  功能說明

讀取,轉換並輸出數據。

1.10.2  語法

dd [bs=<字節數>][cbs=<字節數>][conv=<關鍵字>][count=<區塊數>][ibs=<字節數>][if=<文件>][obs=<字節數>][of=<文件>][seek=<區塊數>][skip=<區塊數>][--help][--version]

1.10.3  補充說明

dd可從標準輸入或文件讀取數據,依指定的格式來轉換數據,再輸出到文件,設備或標準輸出。

1.10.4  參數

  bs=<字節數>   將ibs( 輸入)與obs(輸出)設成指定的字節數。

  cbs=<字節數>   轉換時,每次只轉換指定的字節數。

  conv=<關鍵字>   指定文件轉換的方式。

  count=<區塊數>   僅讀取指定的區塊數。

  ibs=<字節數>   每次讀取的字節數。

  if=<文件>   從文件讀取。

  obs=<字節數>   每次輸出的字節數。

  of=<文件>   輸出到文件。

  seek=<區塊數>   一開始輸出時,跳過指定的區塊數。

  skip=<區塊數>   一開始讀取時,跳過指定的區塊數。

  --help   幫助。

  --version   顯示版本信息。

1.11      diff

1.11.1  功能說明

比較文件的差別。 

1.11.2  語法

diff [-abBcdefHilnNpPqrstTuvwy][-<行數>][-C <行數>][-D <巨集名稱>][-I <字符或字符串>][-S <文件>][-W <寬度>][-x <文件或目錄>][-X <文件>][--help][--left-column][--suppress-common-line][文件或目錄1][文件或目錄2] 

1.11.3  補充說明

diff以逐行的方式,比較文本文件的異同處。所是指定要比較目錄,則diff會比較目錄中相同文件名的文件,但不會比較其中子目錄。

1.11.4  參數

 -<行數>  指定要顯示多少行的文本。此參數必須與-c或-u參數一併使用。 

 -a或--text  diff預設只會逐行比較文本文件。

 -b或--ignore-space-change  不檢查空格字符的不一樣。 

 -B或--ignore-blank-lines  不檢查空白行。 

 -c  顯示所有內文,並標出不一樣之處。 

 -C<行數>或--context<行數>  與執行"-c-<行數>"指令相同。 

 -d或--minimal  使用不一樣的演算法,以較小的單位來作比較。 

 -D<巨集名稱>或ifdef<巨集名稱>  此參數的輸出格式可用於前置處理器巨集。 

 -e或--ed  此參數的輸出格式可用於ed的script文件。 

 -f或-forward-ed  輸出的格式相似ed的script文件,但按照原來文件的順序來顯示不一樣處。 

 -H或--speed-large-files  比較大文件時,可加快速度。 

 -l<字符或字符串>或--ignore-matching-lines<字符或字符串>  若兩個文件在某幾行有所不一樣,而這幾行同時都包含了選項中指定的字符或字符串,則不顯示這兩個文件的差別。 

 -i或--ignore-case  不檢查大小寫的不一樣。 

 -l或--paginate  將結果交由pr程序來分頁。 

 -n或--rcs  將比較結果以RCS的格式來顯示。 

 -N或--new-file  在比較目錄時,若文件A僅出如今某個目錄中,預設會顯示:

Only in目錄:文件A若使用-N參數,則diff會將文件A與一個空白的文件比較。  

 -p  若比較的文件爲C語言的程序碼文件時,顯示差別所在的函數名稱。 

 -P或--unidirectional-new-file  與-N相似,但只有當第二個目錄包含了一個第一個目錄所沒有的文件時,纔會將這個文件與空白的文件作比較。 

 -q或--brief  僅顯示有無差別,不顯示詳細的信息。 

 -r或--recursive  比較子目錄中的文件。 

 -s或--report-identical-files  若沒有發現任何差別,仍然顯示信息。 

 -S<文件>或--starting-file<文件>  在比較目錄時,從指定的文件開始比較。 

 -t或--expand-tabs  在輸出時,將tab字符展開。 

 -T或--initial-tab  在每行前面加上tab字符以便對齊。 

 -u,-U<列數>或--unified=<列數>  以合併的方式來顯示文件內容的不一樣。 

 -v或--version  顯示版本信息。 

 -w或--ignore-all-space  忽略所有的空格字符。 

 -W<寬度>或--width<寬度>  在使用-y參數時,指定欄寬。 

 -x<文件名或目錄>或--exclude<文件名或目錄>  不比較選項中所指定的文件或目錄。 

 -X<文件>或--exclude-from<文件>  您能夠將文件或目錄類型存成文本文件,而後在=<文件>中指定此文本文件。 

 -y或--side-by-side  以並列的方式顯示文件的異同之處。 

 --help  顯示幫助。 

 --left-column  在使用-y參數時,若兩個文件某一行內容相同,則僅在左側的欄位顯示該行內容。

 --suppress-common-lines  在使用-y參數時,僅顯示不一樣之處。

1.12      dir

1.12.1  功能說明

列出<文件>的信息 (默認爲目前的目錄)。

1.12.2  語法

dir [選項]... [文件]...

1.12.3  參數

若是不指定 - cftuSUX 或 --sort 任何一個選項,則根據字母大小排序。

  -a, --a--ll                      不隱藏任何以 . 字符開始的項目

  -A, --almost-all                 列出除了 . 及 .. 之外的任何項目

     --author                     印出每一個文件著做者

  -b, --escape                    以八進制溢出序列表示不可打印的字符

      --block-size=大小           塊以指定<大小>的字節爲單位

  -B, --ignore-backups           不列出任何以 ~ 字符結束的項目

  -c                         配合 -lt:根據 ctime 排序及顯示 ctime (文件

                               狀態最後更改的時間)

                               配合 -l:顯示 ctime 但根據名稱排序

                               不然:根據 ctime 排序

  -C                         按列列舉。

  -f                         不進行排序,-aU 選項生效,-lst 選項失效

  -F, --classify                    加上文件類型的指示符號 (*/=@| 其中一個)

  -i, --inode                      印出每一個文件的 inode 號

  -I, --ignore=樣式                不印出任何符合 shell 萬用字符<樣式>的項目

  -k                         即 --block-size=1K

  -l                         使用較長格式列出信息

  -L, --dereference              當顯示符號連接的文件信息時,顯示符號連接所指示

                               的對象而並不是符號連接自己的信息

  -m                         全部項目以逗號分隔,並填滿整行行寬

  -n, --numeric-uid-gid          相似 -l,但列出 UID 及 GID 號

  -N, --literal                     印出未經處理的項目名稱 (例如不特別處理控制字符)

  -o                         相似 -l,但不列出有關組的信息

  -p, --file-type                   加上文件類型的指示符號 (/=@| 其中一個)

  -q, --hide-control-chars              以 ? 字符代替沒法打印的字符

      --show-control-chars     直接顯示沒法打印的字符 (這是默認方式,除非調用

                               的程序名稱是‘ls’並且是在終端機畫面輸出結果)

  -Q, --quote-name           將項目名稱括上雙引號

      --quoting-style=方式        使用指定的 quoting <方式>顯示項目的名稱:

                               literal、locale、shell、shell-always、c、escape

  -r, --reverse                    依相反次序排列

  -R, --recursive                 同時列出全部子目錄層

  -s, --size                        以塊大小爲單位列出全部文件的大小

  -S                         按文件大小排序。

  -t                         按修改時間排序

  -u                         配合 -lt:顯示訪問時間並且依訪問時間排序

                               配合 -l:顯示訪問時間但根據名稱排序

                               不然:根據訪問時間排序

  -U                         不進行排序;依文件系統原有的次序列出項目

  -v                         根據版本進行排序

  -w, --width=COLS             自行指定螢幕寬度而不使用目前的數值

  -x                         逐行列出項目而不是逐欄列出

  -X                         根據擴展名排序

  -1                         每行只列出一個文件

      --help     顯示此幫助信息並離開

      --version  顯示版本信息並離開

1.13      dos2unix

1.13.1  功能說明

將一個DOS格式的文件轉換爲UNIX格式的文件。主要差異在換行符。

語法:

dos2unix [-hkqV] [-c convmode] [-o file ...] [-n infile outfile ...]

參數:

 -h --help               幫助

 -k --keepdate                  保留文件輸出日期

 -q --quiet              安靜模式,屏蔽全部警告。

 -V --version                   顯示版本。

 -c --convmode                轉換模式,能夠是ASCII, 7bit, ISO, Mac, 默認爲 ASCII

 -l --newline                   增長一行。

 -o --oldfile              寫到原始文件中

 file ...                    轉換爲舊文件的模式

 -n --newfile                   寫入新文件

 infile                    輸入文件名

 outfile                   輸出文件名

1.14      egrep

1.14.1  功能說明

在文件內查找指定的字符串。

egrep執行效果如grep -E,使用的語法及參數可參照grep指令,與grep不一樣點在於解讀字符串的方法,egrep是用extended regular expression語法來解讀,而grep則用basic regular expression語法,extended regular expression比basic regular expression有更完整的表達規範。

1.15      fgrep

1.15.1  功能說明

查找文件裏符合條件的字符串。本指令至關於執行grep指令加上參數"-F",詳見grep指令說明。

 

1.15.2  語法

fgrep [範本樣式][文件或目錄...]

1.16      file

1.16.1  功能說明

辨識文件類型。 

 

1.16.2  語法

file [-beLvz][-f <名稱文件>][-m <魔法數字文件>...][文件或目錄...]  

 

1.16.3  補充說明

經過file指令,咱們得以辨識該文件的類型。 

 

1.16.4  參數

 -b  列出辨識結果時,不顯示文件名稱。 

 -c  詳細顯示指令執行過程,便於排錯或分析程序執行的情形。 

 -f<名稱文件>  指定名稱文件,其內容有一個或多個文件名稱呢感,讓file依序辨識這些文件,格式爲每列一個文件名稱。  

 -L  直接顯示符號鏈接所指向的文件的類別。 

 -m<魔法數字文件>  指定魔法數字文件。 

 -v  顯示版本信息。 

 -z  嘗試去解讀壓縮文件的內容。

1.17      find

1.17.1  功能說明

查找文件或目錄。

1.17.2  語法

find [目錄...][-amin <分鐘>][-anewer <參考文件或目錄>][-atime <24小時數>][-cmin <分鐘>]

[-cnewer <參考文件或目錄>][-ctime <24小時數>][-daystart][-depyh][-empty][-exec <執行指令>]

[-false][-fls <列表文件>][-follow][-fprint <列表文件>][-fprint0 <列表文件>]

[-fprintf <列表文件><輸出格式>][-fstype <文件系統類型>][-gid <羣組識別碼>]

[-group <羣組名稱>][-help][-ilname <範本樣式>][-iname <範本樣式>]

[-inum <inode編號>][-ipath <範本樣式>][-iregex <範本樣式>][-links <鏈接數目>]

[-lname <範本樣式>][-ls][-maxdepth <目錄層級>][-mindepth <目錄層級>][-mmin <分鐘>][-mount] 

[-mtime <24小時數>][-name <範本樣式>][-newer <參考文件或目錄>]

[-nogroup][noleaf] [-nouser][-ok <執行指令>][-path <範本樣式>][-perm <權限數值>]

[-print][-print0][-printf <輸出格式>][-prune][-regex <範本樣式>][-size <文件大小>]

[-true][-type <文件類型>][-uid <用戶識別碼>][-used <日數>][-user <擁有者名稱>]

[-version][-xdev][-xtype <文件類型>]

 

1.17.3  補充說明

find指令用於查找符合條件的文件。任何位於參數以前的字符串都將被視爲欲查找的目錄。

 

1.17.4  參數

 -amin<分鐘>  查找在指定時間曾被存取過的文件或目錄,單位以分鐘計算。 

 -anewer<參考文件或目錄>  查找其存取時間較指定文件或目錄的存取時間更接近如今的文件或目錄。 

 -atime<24小時數>  查找在指定時間曾被存取過的文件或目錄,單位以24小時計算。 

 -cmin<分鐘>  查找在指定時間之時被更改的文件或目錄。 

 -cnewer<參考文件或目錄>  查找其更改時間較指定文件或目錄的更改時間更接近如今的文件或目錄。 

 -ctime<24小時數>  查找在指定時間之時被更改的文件或目錄,單位以24小時計算。 

 -daystart  從本日開始計算時間。 

 -depth  從指定目錄下最深層的子目錄開始查找。 

 -expty  尋找文件大小爲0 Byte的文件,或目錄下沒有任何子目錄或文件的空目錄。 

 -exec<執行指令>  假設find指令的回傳值爲True,就執行該指令。 

 -false  將find指令的回傳值皆設爲False。 

 -fls<列表文件>  此參數的效果和指定"-ls"參數相似,但會把結果保存爲指定的列表文件。 

 -follow  排除符號鏈接。 

 -fprint<列表文件>  此參數的效果和指定"-print"參數相似,但會把結果保存成指定的列表文件。 

 -fprint0<列表文件>  此參數的效果和指定"-print0"參數相似,但會把結果保存成指定的列表文件。 

 -fprintf<列表文件><輸出格式>  此參數的效果和指定"-printf"參數相似,但會把結果保存成指定的列表文件。 

 -fstype<文件系統類型>  只尋找該文件系統類型下的文件或目錄。 

 -gid<羣組識別碼>  查找符合指定之羣組識別碼的文件或目錄。 

 -group<羣組名稱>  查找符合指定之羣組名稱的文件或目錄。 

 -help或--help  在線幫助。 

 -ilname<範本樣式>  此參數的效果和指定"-lname"參數相似,但忽略字符大小寫的差異。 

 -iname<範本樣式>  此參數的效果和指定"-name"參數相似,但忽略字符大小寫的差異。 

 -inum<inode編號>  查找符合指定的inode編號的文件或目錄。 

 -ipath<範本樣式>  此參數的效果和指定"-ipath"參數相似,但忽略字符大小寫的差異。 

 -iregex<範本樣式>  此參數的效果和指定"-regexe"參數相似,但忽略字符大小寫的差異。 

 -links<鏈接數目>  查找符合指定的硬鏈接數目的文件或目錄。 

 -iname<範本樣式>  指定字符串做爲尋找符號鏈接的範本樣式。 

 -ls  假設find指令的回傳值爲True,就將文件或目錄名稱列出到標準輸出。 

 -maxdepth<目錄層級>  設置最大目錄層級。 

 -mindepth<目錄層級>  設置最小目錄層級。 

 -mmin<分鐘>  查找在指定時間曾被更改過的文件或目錄,單位以分鐘計算。 

 -mount  此參數的效果和指定"-xdev"相同。 

 -mtime<24小時數>  查找在指定時間曾被更改過的文件或目錄,單位以24小時計算。 

 -name<範本樣式>  指定字符串做爲尋找文件或目錄的範本樣式。 

 -newer<參考文件或目錄>  查找其更改時間較指定文件或目錄的更改時間更接近如今的文件或目錄。 

 -nogroup  找出不屬於本地主機羣組識別碼的文件或目錄。 

 -noleaf  不去考慮目錄至少需擁有兩個硬鏈接存在。 

 -nouser  找出不屬於本地主機用戶識別碼的文件或目錄。 

 -ok<執行指令>  此參數的效果和指定"-exec"參數相似,但在執行指令以前會先詢問用戶,若回答"y"或"Y",則放棄執行指令。 

 -path<範本樣式>  指定字符串做爲尋找目錄的範本樣式。 

 -perm<權限數值>  查找符合指定的權限數值的文件或目錄。 

 -print  假設find指令的回傳值爲True,就將文件或目錄名稱列出到標準輸出。格式爲每列一個名稱,每一個名稱以前皆有"./"字符串。 

 -print0  假設find指令的回傳值爲True,就將文件或目錄名稱列出到標準輸出。格式爲所有的名稱皆在同一行。 

 -printf<輸出格式>  假設find指令的回傳值爲True,就將文件或目錄名稱列出到標準輸出。格式能夠自行指定。 

 -prune  不尋找字符串做爲尋找文件或目錄的範本樣式。 

 -regex<範本樣式>  指定字符串做爲尋找文件或目錄的範本樣式。 

 -size<文件大小>  查找符合指定的文件大小的文件。 

 -true  將find指令的回傳值皆設爲True。 

 -typ<文件類型>  只尋找符合指定的文件類型的文件。 

 -uid<用戶識別碼>  查找符合指定的用戶識別碼的文件或目錄。 

 -used<日數>  查找文件或目錄被更改以後在指定時間曾被存取過的文件或目錄,單位以日計算。 

 -user<擁有者名稱>  查找符合指定的擁有者名稱的文件或目錄。 

 -version或--version  顯示版本信息。 

 -xdev  將範圍侷限在先行的文件系統中。 

 -xtype<文件類型>  此參數的效果和指定"-type"參數相似,差異在於它針對符號鏈接檢查。

1.18      grep

1.18.1  功能說明

查找文件裏符合條件的字符串。

 

1.18.2  語法

grep [-abcEFGhHilLnqrsvVwxy][-A<顯示列數>][-B<顯示列數>][-C<顯示列數>][-d<進行動做>][-e<範本樣式>][-f<範本文件>][--help][範本樣式][文件或目錄...]

1.18.3  補充說明

grep指令用於查找內容包含指定的範本樣式的文件,若是發現某文件的內容符合所指定的範本樣式,預設grep指令會把含有範本樣式的那一列顯示出來。若不指定任何文件名稱,或是所給予的文件名爲「-」,則grep指令會從標準輸入設備讀取數據。

1.18.4  參數

  -a或--text   不要忽略二進制的數據。

  -A<顯示列數>或--after-context=<顯示列數>   除了顯示符合範本樣式的那一列以外,並顯示該列以後的內容。

  -b或--byte-offset   在顯示符合範本樣式的那一列以前,標示出該列第一個字符的位編號。

  -B<顯示列數>或--before-context=<顯示列數>   除了顯示符合範本樣式的那一列以外,並顯示該列以前的內容。

  -c或--count   計算符合範本樣式的列數。

  -C<顯示列數>或--context=<顯示列數>或-<顯示列數>   除了顯示符合範本樣式的那一列以外,並顯示該列以前後的內容。

  -d<進行動做>或--directories=<進行動做>   當指定要查找的是目錄而非文件時,必須使用這項參數,不然grep指令將回報信息並中止動做。

  -e<範本樣式>或--regexp=<範本樣式>   指定字符串作爲查找文件內容的範本樣式。

  -E或--extended-regexp   將範本樣式爲延伸的普通表示法來使用。

  -f<範本文件>或--file=<範本文件>   指定範本文件,其內容含有一個或多個範本樣式,讓grep查找符合範本條件的文件內容,格式爲每列一個範本樣式。

  -F或--fixed-regexp   將範本樣式視爲固定字符串的列表。

  -G或--basic-regexp   將範本樣式視爲普通的表示法來使用。

  -h或--no-filename   在顯示符合範本樣式的那一列以前,不標示該列所屬的文件名稱。

  -H或--with-filename   在顯示符合範本樣式的那一列以前,表示該列所屬的文件名稱。

  -i或--ignore-case   忽略字符大小寫的差異。

  -l或--file-with-matches   列出文件內容符合指定的範本樣式的文件名稱。

  -L或--files-without-match   列出文件內容不符合指定的範本樣式的文件名稱。

  -n或--line-number   在顯示符合範本樣式的那一列以前,標示出該列的列數編號。

  -q或--quiet或--silent   不顯示任何信息。

  -r或--recursive   此參數的效果和指定「-d recurse」參數相同。

  -s或--no-messages   不顯示錯誤信息。

  -v或--revert-match   反轉查找。

  -V或--version   顯示版本信息。

  -w或--word-regexp   只顯示全字符合的列。

  -x或--line-regexp   只顯示全列符合的列。

  -y   此參數的效果和指定「-i」參數相同。

  --help   在線幫助。

1.19      head

1.19.1  功能說明

先是文件的前幾行(默認10行)。

1.19.2  語法

head [options] [files]

1.19.3  參數

  -c, --bytes=[-]N         每一個文件顯示前 N 字節;

  -n, --lines=[-]N           每一個文件顯示前 N行;

  -q, --quiet, --silent       不打印文件頭

  -v, --verbose              打印文件頭

  --help                   顯示此幫助信息並離開

  --version                顯示版本信息並離開

1.19.4  例子

顯示文件 phone_list前20行

head -20 phone_list

顯示有202區號的前10個號碼

grep '(202)' phone_list | head

1.20      Less

1.20.1  功能說明

less 命令的功能幾乎和 more 命令同樣,也是用來按頁顯示文件,不一樣之處在於 less 命令在顯示文件時容許用戶既能夠向前又能夠向後翻閱文件。同時由於 less 並未在一開始就讀入整個檔案,所以在趕上大型檔案的開啓時,會比通常的文書編輯器(如 vi)來的快速。

1.20.2  語法

less [options] [filename]

1.21      ln

1.21.1  功能說明

鏈接文件或目錄。 

1.21.2  語法

ln [-bdfinsv][-S <字尾備份字符串>][-V <備份方式>][--help][--version][源文件或目錄][目標文件或目錄] 

或 ln [-bdfinsv][-S <字尾備份字符串>][-V <備份方式>][--help][--version][源文件或目錄...][目的目錄] 

1.21.3  補充說明

ln指令用在鏈接文件或目錄,如同時指定兩個以上的文件或目錄,且最後的目的地是一個已經存在的目錄,則會把前面指定的全部文件或目錄複製到該目錄中。若同時指定多個文件或目錄,且最後的目的地並不是是一個已存在的目錄,則會出現錯誤信息。 

1.21.4  參數

 -b或--backup  刪除,覆蓋目標文件以前的備份。 

 -d或-F或--directory  創建目錄的硬鏈接。 

 -f或--force  強行創建文件或目錄的鏈接,不論文件或目錄是否存在。 

 -i或--interactive  覆蓋既有文件以前先詢問用戶。 

 -n或--no-dereference  把符號鏈接的目的目錄視爲通常文件。 

 -s或--symbolic  對源文件創建符號鏈接,而非硬鏈接。 

 -S<字尾備份字符串>或--suffix=<字尾備份字符串>  用"-b"參數備份目標文件後,備份文件的字尾會被加上一個備份字符串,預設的字尾備份字符串是符號"~",您可經過"-S"參數來改變它。 

 -v或--verbose  顯示指令執行過程。 

 -V<備份方式>或--version-control=<備份方式>  用"-b"參數備份目標文件後,備份文件的字尾會被加上一個備份字符串,這個字符串不只可用"-S"參數變動,當使用"-V"參數<備份方式>指定不一樣備份方式時,也會產生不一樣字尾的備份字符串。 

 --help  在線幫助。 

 --version  顯示版本信息。

1.22      locate

1.22.1  功能說明

查找文件。 

1.22.2  語法

locate [-d <數據庫文件>][--help][--version][範本樣式...]

1.22.3  補充說明

locate指令用於查找符合條件的文件,它會去保存文件與目錄名稱的數據庫內,查找合乎範本樣式條件的文件或目錄。 

1.22.4  參數

 -d<數據庫文件>或--database=<數據庫文件>  設置locate指令使用的數據庫。locate指令預設的數據庫位於/var/lib/slocate目錄裏,文件名爲slocate.db,您可以使用這個參數另行指定。 

 --help  在線幫助。 

 --version  顯示版本信息。

1.23      ls

1.23.1  功能說明

列出目錄內容。

1.23.2  語法

ls [-1aAbBcCdDfFgGhHiklLmnNopqQrRsStuUvxX][-I <範本樣式>][-T <跳格字數>][-w <每列字符數>][--block-size=<區塊大小>][--color=<使用時機>][--format=<列表格式>][--full-time][--help][--indicator-style=<標註樣式>][--quoting-style=<引號樣式>][--show-control-chars][--sort=<排序方式>][--time=<時間戳記>][--version][文件或目錄...]

1.23.3  補充說明

執行ls指令可列出目錄的內容,包括文件和子目錄的名稱。

1.23.4  參數

  -1   每列僅顯示一個文件或目錄名稱。

  -a或--all   下全部文件和目錄。

  -A或--almost-all   顯示全部文件和目錄,但不顯示現行目錄和上層目錄。

  -b或--escape   顯示脫離字符。

  -B或--ignore-backups   忽略備份文件和目錄。

  -c   以更改時間排序,顯示文件和目錄。

  -C   以又上至下,從左到右的直行方式顯示文件和目錄名稱。

  -d或--directory   顯示目錄名稱而非其內容。

  -D或--dired   用Emacs的模式產生文件和目錄列表。

  -f   此參數的效果和同時指定"aU"參數相同,並關閉"lst"參數的效果。

  -F或--classify   在執行文件,目錄,Socket,符號鏈接,管道名稱後面,各自加上"*","/","=","@","|"號。

  -g   次參數將忽略不予處理。

  -G或--no-group   不顯示羣組名稱。

  -h或--human-readable   用"K","M","G"來顯示文件和目錄的大小。

  -H或--si   此參數的效果和指定"-h"參數相似,但計算單位是1000Bytes而非1024Bytes。

  -i或--inode   顯示文件和目錄的inode編號。

  -I<範本樣式>或--ignore=<範本樣式>   不顯示符合範本樣式的文件或目錄名稱。

  -k或--kilobytes   此參數的效果和指定"block-size=1024"參數相同。

  -l   使用詳細格式列表。

  -L或--dereference   如遇到性質爲符號鏈接的文件或目錄,直接列出該鏈接所指向的原始文件或目錄。

  -m   用","號區隔每一個文件和目錄的名稱。

  -n或--numeric-uid-gid   以用戶識別碼和羣組識別碼替代其名稱。

  -N或--literal   直接列出文件和目錄名稱,包括控制字符。

  -o   此參數的效果和指定"-l" 參數相似,但不列出羣組名稱或識別碼。

  -p或--file-type   此參數的效果和指定"-F"參數相似,但不會在執行文件名稱後面加上"*"號。

  -q或--hide-control-chars   用"?"號取代控制字符,列出文件和目錄名稱。

  -Q或--quote-name   把文件和目錄名稱以""號標示起來。

  -r或--reverse   反向排序。

  -R或--recursive   遞歸處理,將指定目錄下的全部文件及子目錄一併處理。

  -s或--size   顯示文件和目錄的大小,以區塊爲單位。

  -S   用文件和目錄的大小排序。

  -t   用文件和目錄的更改時間排序。

  -T<跳格字符>或--tabsize=<跳格字數>   設置跳格字符所對應的空白字符數。

  -u   以最後存取時間排序,顯示文件和目錄。

  -U   列出文件和目錄名稱時不予排序。

  -v   文件和目錄的名稱列表以版本進行排序。

  -w<每列字符數>或--width=<每列字符數>   設置每列的最大字符數。

  -x   以從左到右,由上至下的橫列方式顯示文件和目錄名稱。

  -X   以文件和目錄的最後一個擴展名排序。

  --block-size=<區塊大小>   指定存放文件的區塊大小。

  --color=<列表格式>   培植文件和目錄的列表格式。

  --full-time   列出完整的日期與時間。

  --help   在線幫助。

  --indicator-style=<標註樣式>   在文件和目錄等名稱後面加上標註,易於辨識該名稱所屬的類型。

  --quoting-syte=<引號樣式>   把文件和目錄名稱以指定的引號樣式標示起來。

  --show-control-chars   在文件和目錄列表時,使用控制字符。

  --sort=<排序方式>   配置文件和目錄列表的排序方式。

  --time=<時間戳記>   用指定的時間戳記取代更改時間。

  --version   顯示版本信息。

1.24      mkdir

1.24.1  功能說明

創建目錄

1.24.2  語法

mkdir [-p][--help][--version][-m <目錄屬性>][目錄名稱]

1.24.3  補充說明

mkdir可創建目錄並同時設置目錄的權限。

1.24.4  參數

  -m<目錄屬性>或--mode<目錄屬性>   創建目錄時同時設置目錄的權限。

  -p或--parents   若所要創建目錄的上層目錄目前還沒有創建,則會一併創建上層目錄。

  --help   顯示幫助。

  --verbose   執行時顯示詳細的信息。

  --version   顯示版本信息。

1.25      more

1.25.1  功能說明

相似 cat ,不過會以一頁一頁的顯示方便使用者逐頁閱讀,而最基本的指令就是按空白鍵(space)就往下一頁顯示,按 b 鍵就會往回(back)一頁顯示,並且還有搜尋字串的功能(與 vi 類似),使用中的說明文件,請按 h 。

1.25.2  語法

more [-dlfpcsu] [-num] [+/pattern] [+linenum] [fileNames..] 

1.25.3  參數

    -num 一次顯示的行數

  -d 提示使用者,在畫面下方顯示 [Press space to continue, 'q' to quit.] ,若是使用者按錯鍵,則會顯示 [Press 'h' for instructions.] 而不是 '嗶' 聲

  -l 取消碰見特殊字元 ^L(送紙字元)時會暫停的功能

  -f 計算行數時,以實際上的行數,而非自動換行事後的行數(有些單行字數太長的會被擴展爲兩行或兩行以上)

  -p 不以捲動的方式顯示每一頁,而是先清除螢幕後再顯示內容

  -c 跟 -p 類似,不一樣的是先顯示內容再清除其餘舊資料

  -s 當遇到有連續兩行以上的空白行,就代換爲一行的空白行

  -u 不顯示下引號 (根據環境變數 TERM 指定的 terminal 而有所不一樣)

  +/ 在每一個檔案顯示前搜尋該字串(pattern),而後從該字串以後開始顯示

  +num 從第 num 行開始顯示

fileNames 欲顯示內容的檔案,可爲複數個數

1.25.4  例子

more -s testfile 逐頁顯示 testfile 之檔案內容,若有連續兩行以上空白行則以一行空白行顯示。

  more +20 testfile 從第 20 行開始顯示 testfile 之檔案內容。

1.26      mv

1.26.1  功能說明

移動或改名現有的文件或目錄。

1.26.2  語法

mv [-bfiuv][--help][--version][-S <附加字尾>][-V <方法>][源文件或目錄][目標文件或目錄]

1.26.3  補充說明

mv可移動文件或目錄,或是更改文件或目錄的名稱。

1.26.4  參數

 -b或--backup  若需覆蓋文件,則覆蓋前先行備份。 

 -f或--force  若目標文件或目錄與現有的文件或目錄重複,則直接覆蓋現有的文 件或目錄。 

 -i或--interactive  覆蓋前先行詢問用戶。 

 -S<附加字尾>或

 --suffix=<附加字尾>  與-b參數一併使用,可指定備份文件的所要附加的字尾。 

 -u或--update  在移動或更改文件名時,若目標文件已存在,且其文件日期比源文件新,則不覆蓋目標文件。 

 -v或--verbose  執行時顯示詳細的信息。 

 -V=<方法>或

 --version-control=<方法>  與-b參數一併使用,可指定備份的方法。 

 --help  顯示幫助。 

 --version  顯示版本信息。

1.27      od

1.27.1  功能說明

輸出文件內容。

1.27.2  語法

od [-abcdfhilovx][-A <字碼基數>][-j <字符數目>][-N <字符數目>][-s <字符串字符數>][-t <輸出格式>][-w <每列字符數>][--help][--version][文件...]

1.27.3  補充說明

od指令會讀取所給予的文件的內容,並將其內容以八進制字碼呈現出來。

1.27.4  參數

 -a  此參數的效果和同時指定"-ta"參數相同。 

 -A<字碼基數>  選擇要以何種基數計算字碼。 

 -b  此參數的效果和同時指定"-toC"參數相同。 

 -c  此參數的效果和同時指定"-tC"參數相同。 

 -d  此參數的效果和同時指定"-tu2"參數相同。 

 -f  此參數的效果和同時指定"-tfF"參數相同。 

 -h  此參數的效果和同時指定"-tx2"參數相同。 

 -i  此參數的效果和同時指定"-td2"參數相同。 

 -j<字符數目>或--skip-bytes=<字符數目>  略過設置的字符數目。 

 -l  此參數的效果和同時指定"-td4"參數相同。 

 -N<字符數目>或--read-bytes=<字符數目>  到設置的字符數目爲止。 

 -o  此參數的效果和同時指定"-to2"參數相同。 

 -s<字符串字符數>或--strings=<字符串字符數>  只顯示符合指定的字符數目的字符串。 

 -t<輸出格式>或--format=<輸出格式>  設置輸出格式。 

 -v或--output-duplicates  輸出時不省略重複的數據。 

 -w<每列字符數>或--width=<每列字符數>  設置每列的最大字符數。 

 -x  此參數的效果和同時指定"-h"參數相同。 

 --help  在線幫助。 

 --version  顯示版本信息。

1.28      pwd

1.28.1  功能說明

顯示工做目錄。

1.28.2  語法

pwd [--help][--version]

1.28.3  補充說明

執行pwd指令可馬上得知您目前所在的工做目錄的絕對路徑名稱。

1.28.4  參數

  --help   在線幫助。

  --version   顯示版本信息。

1.29      rename

1.29.1  功能說明

文件批量更名。

1.29.2  語法

rename from to file

該命令的各選項含義以下:

 

from  源字符。

to      目標字符。

file    要更名的文件

1.29.3  例子

 rename .rm .rmvb *

// 把全部文件的後輟由rm改成rmvb

rename 'tr/A-Z/a-z/' *

// 把全部文件名中的大寫改成小寫

1.30      rm

1.30.1  功能說明

刪除文件或目錄。

1.30.2  語法

rm [-dfirv][--help][--version][文件或目錄...]

1.30.3  補充說明

執行rm指令可刪除文件或目錄,如欲刪除目錄必須加上參數"-r",不然預設僅會刪除文件。 

1.30.4  參數

 -d或--directory  直接把欲刪除的目錄的硬鏈接數據刪成0,刪除該目錄。 

 -f或--force  強制刪除文件或目錄。 

 -i或--interactive  刪除既有文件或目錄以前先詢問用戶。 

 -r或-R或--recursive  遞歸處理,將指定目錄下的全部文件及子目錄一併處理。 

 -v或--verbose  顯示指令執行過程。 

 --help  在線幫助。 

 --version  顯示版本信息。

1.31      rmdir

1.31.1  功能說明

刪除目錄。

1.31.2  語法

rmdir [-p][--help][--ignore-fail-on-non-empty][--verbose][--version][目錄...]

1.31.3  補充說明

當有空目錄要刪除時,可以使用rmdir指令。

1.31.4  參數

  -p或--parents   刪除指定目錄後,若該目錄的上層目錄已變成空目錄,則將其一併刪除。

  --help   在線幫助。

  --ignore-fail-on-non-empty   忽略非空目錄的錯誤信息。

  --verbose   顯示指令執行過程。

  --version   顯示版本信息。

1.32      sed

1.32.1  功能說明

利用script來處理文本文件。

1.32.2  語法

sed [-hnV][-e<script>][-f<script文件>][文本文件]

1.32.3  補充說明

sed可依照script的指令,來處理、編輯文本文件。

1.32.4  參數

  -e<script>或--expression=<script>   以選項中指定的script來處理輸入的文本文件。

  -f<script文件>或--file=<script文件>  以選項中指定的script文件來處理輸入的文本文件。

  -h或--help   顯示幫助。

  -n或--quiet或--silent   僅顯示script處理後的結果。

  -V或--version   顯示版本信息。

1.33      sort

1.33.1  功能說明

將文本文件內容加以排序。

1.33.2  語法

sort [-bcdfimMnr][-o<輸出文件>][-t<分隔字符>][+<起始欄位>-<結束欄位>][--help][--verison][文件]

1.33.3  補充說明

sort可針對文本文件的內容,以行爲單位來排序。

1.33.4  參數

  -b   忽略每行前面開始出的空格字符。

  -c   檢查文件是否已經按照順序排序。

  -d   排序時,處理英文字母、數字及空格字符外,忽略其餘的字符。

  -f   排序時,將小寫字母視爲大寫字母。

  -i   排序時,除了040至176之間的ASCII字符外,忽略其餘的字符。

  -m   將幾個排序好的文件進行合併。

  -M   將前面3個字母依照月份的縮寫進行排序。

  -n   依照數值的大小排序。

  -o<輸出文件>   將排序後的結果存入指定的文件。

  -r   以相反的順序來排序。

  -t<分隔字符>   指定排序時所用的欄位分隔字符。

  +<起始欄位>-<結束欄位>   以指定的欄位來排序,範圍由起始欄位到結束欄位的前一欄位。

  --help   顯示幫助。

  --version   顯示版本信息。

1.34      tail

1.34.1  功能說明

查看文件的後N行,有實時監控的功能。

1.34.2  語法

tail [ -f ] [ -c Number | -n Number | -m Number | -b Number | -k Number ] [ File ]

或者

tail [ -r ] [ -n Number ] [ File ]

tail 命令從指定點開始將 File 參數指定的文件寫到標準輸出。若是沒有指定文件,則會使用標準輸入。 Number 變量<br />指定將多少單元寫入標準輸出。 Number 變量的值能夠是正的或負的整數。若是值的前面有 +(加號),從文件開頭<br />指定的單元數開始將文件寫到標準輸出。若是值的前面有 -(減號),則從文件末尾指定的單元數開始將文件寫到<br />標準輸出。若是值前面沒有 +(加號)或 -(減號),那麼從文件末尾指定的單元號開始讀取文件。

1.34.3  參數

-b Number 從 Number 變量表示的 512 字節塊位置開始讀取指定文件。

-c Number 從 Number 變量表示的字節位置開始讀取指定文件。

-f 若是輸入文件是常規文件或若是 File 參數指定 FIFO(先進先出),那麼 tail 命令不會在複製了輸入文件的最後的指定單元后終止,而是繼續從輸入文件讀取和複製額外的單元(當這些單元可用時)。若是沒有指定 File 參數,而且標準輸入是管道,則會忽略 -f 標誌。tail -f 命令可用於監視另外一個進程正在寫入的文件的增加。

-k Number 從 Number 變量表示的 1KB 塊位置開始讀取指定文件。

-m Number 從 Number 變量表示的多字節字符位置開始讀取指定文件。使用該標誌提供在單字節和雙字節字符代碼集環境中的一致結果。

-n Number 從首行或末行位置來讀取指定文件,位置由 Number 變量的符號(+ 或 - 或無)表示,並經過行號 Number 進行位移。

-r 從文件末尾以逆序方式顯示輸出。-r 標誌的缺省值是以逆序方式顯示整個文件。若是文件大於 20,480 字節,那麼-r標誌只顯示最後的 20,480 字節。 -r 標誌只有與 -n 標誌一塊兒時纔有效。不然,就會將其忽略

1.34.4  例子

tail -f /var/log/messages

參數-f使tail不停地去讀最新的內容,這樣有實時監視的效果,用Ctrl+c來終止!

1.35      touch

1.35.1  功能說明

改變文件或目錄時間。

1.35.2  語法

touch [-acfm][-d <日期時間>][-r <參考文件或目錄>][-t <日期時間>][--help]   [--version][文件或目錄...] 或 touch [-acfm][--help][--version][日期時間][文件或目錄...] 

1.35.3  補充說明

使用touch指令可更改文件或目錄的日期時間,包括存取時間和更改時間。

1.35.4  參數

 -a或--time=atime或--time=access或--time=use  只更改存取時間。 

 -c或--no-create  不創建任何文件。 

 -d<時間日期>  使用指定的日期時間,而非如今的時間。 

 -f  此參數將忽略不予處理,僅負責解決BSD版本touch指令的兼容性問題。 

 -m或--time=mtime或--time=modify  只更改變更時間。 

 -r<參考文件或目錄>  把指定文件或目錄的日期時間,通通設成和參考文件或目錄的日期時間相同。 

 -t<日期時間>  使用指定的日期時間,而非如今的時間。 

 --help  在線幫助。 

 --version  顯示版本信息。

1.36      uniq

1.36.1  功能說明

檢查及刪除文本文件中重複出現的行列。

1.36.2  語法

uniq [-cdu][-f<欄位>][-s<字符位置>][-w<字符位置>][--help][--version][輸入文件][輸出文件]

1.36.3  補充說明

uniq可檢查文本文件中重複出現的行列。

1.36.4  參數

  -c或--count   在每列旁邊顯示該行重複出現的次數。

  -d或--repeated   僅顯示重複出現的行列。

  -f<欄位>或--skip-fields=<欄位>   忽略比較指定的欄位。

  -s<字符位置>或--skip-chars=<字符位置>   忽略比較指定的字符。

  -u或--unique   僅顯示出一次的行列。

  -w<字符位置>或--check-chars=<字符位置>   指定要比較的字符。

  --help   顯示幫助。

  --version   顯示版本信息。

  [輸入文件]   指定已排序好的文本文件。

  [輸出文件]   指定輸出的文件。

1.37      unix2dos

1.37.1  功能說明

將UNIX格式的文件轉化爲DOS格式。

1.37.2  語法

unix2dos [-hkqV] [-o file ...] [-c convmode] [-n infile outfile ...]

1.37.3  參數

 -h --help        幫助。

 -k --keepdate    保留文件日期。

 -q --quiet       安靜模式,屏蔽全部警告。

 -V --version                   顯示版本。

 -c --convmode                轉換模式,能夠是ASCII, 7bit, ISO, Mac, 默認爲 ASCII

 -l --newline                   增長一行。

 -o --oldfile              寫到原始文件中

 file ...                    轉換爲舊文件的模式

 -n --newfile                   寫入新文件

 infile                    輸入文件名

 outfile                   輸出文件名

1.38      vdir

vdir [options] [files]

列舉目錄內容,功能同 ls -lb

1.39      vi

1.39.1  功能說明

文本編輯。

1.39.2  語法

vim [參數] [文件 ..]       編輯指定的文件

   或:vim [參數] -               從標準輸入(stdin)讀取文本

   或:vim [參數] -t tag          編輯時使用指定的 tag

   或:vim [參數] -q [errorfile]  編輯時加載第一個錯誤

1.39.3  參數

   --                     只有在這以後的文件

   -v                    Vi 模式 (同 "vi")

   -e                    Ex 模式 (同 "ex")

   -s                     安靜 (batch) 模式 (只能與 "ex" 一塊兒使用)

   -d                    Diff 模式 (同 "vimdiff", 可迅速比較兩文件不一樣處)

   -y                    簡易模式 (同 "evim", modeless)

   -R                    只讀模式 (同 "view")

   -Z                    限制模式 (同 "rvim")

   -m                    不可修改 (寫入文件)

   -M                   文本不可修改

   -b                    二進制模式

   -l                     Lisp 模式

   -C                    'compatible' 傳統 Vi 兼容模式

   -N                    'nocompatible' 不徹底與傳統 Vi 兼容,可以使用 Vim 增強能力

   -V[N]        Verbose 等級

   -D                    調試模式

   -n                    不使用交換文件, 只使用內存

   -r                     列出交換文件後退出

   -r (加文件名)         恢復上次崩潰的資料(Recover crashed session)

   -L                    與 -r 同樣

   -A             按阿拉伯模式啓動

   -H             按猶太模式啓動

   -F                    按波斯模式啓動

   -T <terminal>   設定終端爲 <terminal>

   -u <vimrc>              使用 <vimrc> 替換任何 .vimrc

   --noplugin        不加載任何 plugin

   -o[N]        打開 N 個窗口 (預設是每一個文件一個)

   -O[N]        同 -o 窗體垂直分割。

   +               啓動後跳到文件結尾

   +<lnum>           啓動後跳到第 <lnum> 行

   --cmd <command>  加載任何 vimrc 前執行 <command>

   -c <command>        加載第一個文件後執行 <command>

   -S <session>           加載第一個文件後載入 Session 文件<session>

   -s <scriptin>    從 <scriptin> 讀入通常模式命令

   -w <scriptout> 對文件 <scriptout> 附加(append)全部輸入的命令

   -W <scriptout> 對文件 <scriptout> 寫入全部輸入的命令

   -x                    編輯編碼過的文件

   -i <viminfo>            使用 <viminfo> 而非 .viminfo

   -h  or  --help 幫助。

   --version         版本。

1.39.4  命令

1.39.4.1  進入輸入模式

新增 (append)

a :從光標所在位置後面開始新增資料,光標後的資料隨新增資料向後移動。

A:從光標所在列最後面的地方開始新增資料。

 

插入 (insert)

i:從光標所在位置前面開始插入資料,光標後的資料隨新增資料向後移動。

I :從光標所在列的第一個非空白字元前面開始插入資料。

 

開始 (open)

o :在光標所在列下新增一列並進入輸入模式。

O: 在光標所在列上方新增一列並進入輸入模式。

1.39.4.2  退出vi

在指令模式下鍵入:q,:q!,:wq或:x(注意:號),就會退出vi。其中:wq和:x是存盤退出,而:q是直接退出,若是文件已有新的變化,vi會提示你保存文件而:q命令也會失效,這時你能夠用:w命令保存文件後再用:q 退出,或用:wq或:x命令退出,若是你不想保存改變後的文件,你就須要用:q!命令,這個命令將不保存文件而直接退出vi。

1.39.4.3  刪除與修改文件的命令:

x:刪除光標所在字符。

dd :刪除光標所在的列。

r :修改光標所在字元,r 後接著要修正的字符。

R:進入取替換狀態,新增文字會覆蓋原先文字,直到按 [ESC] 回到指令模式下爲止。

s:刪除光標所在字元,並進入輸入模式。

S:刪除光標所在的列,並進入輸入模式。

1.39.4.4  屏幕翻滾類命令

Ctrl+u: 向文件首翻半屏

Ctrl+d: 向文件尾翻半屏

Ctrl+f: 向文件尾翻一屏

Ctrl+b: 向文件首翻一屏

nz: 將第n行滾至屏幕頂部,不指定n時將當前行滾至屏幕頂部。

1.39.4.5  刪除命令

ndw或ndW: 刪除光標處開始及其後的n-1個字

do: 刪至行首

d$: 刪至行尾

ndd: 刪除當前行及其後n-1行

x或X: 刪除一個字符,x刪除光標後的,而X刪除光標前的

Ctrl+u: 刪除輸入方式下所輸入的文本

1.39.4.6  搜索及替換命令

/pattern: 從光標開始處向文件尾搜索pattern

?pattern: 從光標開始處向文件首搜索pattern

n: 在同一方向重複上一次搜索命令

N: 在反方向上重複上一次搜索命令

:s/p1/p2/g: 將當前行中全部p1均用p2替代

:n1,n2s/p1/p2/g: 將第n1至n2行中全部p1均用p2替代

:g/p1/s//p2/g: 將文件中全部p1均用p2替換

1.39.4.7  複製,黏貼

(1) 選定文本塊,使用v進入可視模式;移動光標鍵選定內容

(2) 複製選定塊到緩衝區,用y;複製整行,用yy

(3) 剪切選定塊到緩衝區,用d;剪切整行用dd

(4) 粘貼緩衝區中的內容,用p

1.39.4.8  其餘

在同一編輯窗打開第二個文件,用:sp [filename]

在多個編輯文件之間切換,用Ctrl+w

1.40      wc

1.40.1  功能說明

計算字數。

1.40.2  語法

wc [-clw][--help][--version][文件...]

1.40.3  補充說明

利用wc指令咱們能夠計算文件的Byte數、字數、或是列數,若不指定文件名稱、或是所給予的文件名爲「-」,則wc指令會從標準輸入設備讀取數據。

1.40.4  參數

  -c或--bytes或--chars   只顯示Bytes數。

  -l或--lines   只顯示列數。

  -w或--words   只顯示字數。

  --help   在線幫助。

  --version   顯示版本信息。

2     磁盤管理

2.1    dd

2.1.1       功能說明

讀取,轉換並輸出數據。

2.1.2       語法

dd [bs=<字節數>][cbs=<字節數>][conv=<關鍵字>][count=<區塊數>][ibs=<字節數>][if=<文件>][obs=<字節數>][of=<文件>][seek=<區塊數>][skip=<區塊數>][--help][--version]

2.1.3       補充說明

dd可從標準輸入或文件讀取數據,依指定的格式來轉換數據,再輸出到文件,設備或標準輸出。

2.1.4       參數

  bs=<字節數>   將ibs( 輸入)與obs(輸出)設成指定的字節數。

  cbs=<字節數>   轉換時,每次只轉換指定的字節數。

  conv=<關鍵字>   指定文件轉換的方式。

conv = ASCII 把EBCDIC碼轉換爲ASCIl碼。

conv = ebcdic 把ASCIl碼轉換爲EBCDIC碼。

conv = ibm 把ASCIl碼轉換爲alternate EBCDIC碼。

conv = block 把變更位轉換成固定字符。

conv = ublock 把固定位轉換成變更位。

conv = ucase 把字母由小寫轉換爲大寫。

conv = lcase 把字母由大寫轉換爲小寫。

conv = notrunc 不截短輸出文件。

conv = swab 交換每一對輸入字節。

conv = noerror 出錯時不中止處理。

conv = sync 把每一個輸入記錄的大小都調到ibs的大小(用NUL填充)。

  count=<區塊數>   僅讀取指定的區塊數。

  ibs=<字節數>   每次讀取的字節數。

  if=<文件>   從文件讀取。

  obs=<字節數>   每次輸出的字節數。

  of=<文件>   輸出到文件。

  seek=<區塊數>   一開始輸出時,跳過指定的區塊數。

  skip=<區塊數>   一開始讀取時,跳過指定的區塊數。

  --help   幫助。

  --version   顯示版本信息。

2.1.5       例子

1整盤數據備份與恢復

備份:

dd if=/dev/hdx of=/dev/hdy

將本地的/dev/hdx整盤備份到/dev/hdy

 

dd if=/dev/hdx of=/path/to/image

將/dev/hdx全盤數據備份到指定路徑的image文件

 

dd if=/dev/hdx | gzip >/path/to/image.gz

備份/dev/hdx全盤數據,並利用gzip工具進行壓縮,保存到指定路徑

 

恢復:

dd if=/path/to/image of=/dev/hdx

將備份文件恢復到指定盤

 

gzip -dc /path/to/image.gz | dd of=/dev/hdx

將壓縮的備份文件恢復到指定盤

 

2.利用netcat遠程備份

dd if=/dev/hda bs=16065b | netcat < targethost-IP > 1234

在源主機上執行此命令備份/dev/hda

 

netcat -l -p 1234 | dd of=/dev/hdc bs=16065b

在目的主機上執行此命令來接收數據並寫入/dev/hdc

 

netcat -l -p 1234 | bzip2 > partition.img

                netcat -l -p 1234 | gzip > partition.img

以上兩條指令是目的主機指令的變化分別採用bzip2  gzip對數據進行壓縮,並將備份文件保存在當前目錄。

 

3.備份MBR

備份:

dd if=/dev/hdx of=/path/to/image count=1 bs=512

備份磁盤開始的512Byte大小的MBR信息到指定文件

 

恢復:

dd if=/path/to/image of=/dev/hdx

將備份的MBR信息寫到磁盤開始部分

 

4.備份軟盤

dd if=/dev/fd0 of=disk.img count=1 bs=1440k

將軟驅數據備份到當前目錄的disk.img文件

 

5.拷貝內存資料到硬盤

dd if=/dev/mem of=/root/mem.bin bs=1024

將內存裏的數據拷貝到root目錄下的mem.bin文件

 

6.從光盤拷貝iso鏡像

dd if=/dev/cdrom of=/root/cd.iso

拷貝光盤數據到root文件夾下,並保存爲cd.iso文件     

 

7.增長Swap分區文件大小

dd if=/dev/zero of=/swapfile bs=1024 count=262144

建立一個足夠大的文件(此處爲256M)

 

mkswap /swapfile

把這個文件變成swap文件

 

swapon /swapfile

啓用這個swap文件

 

/swapfile swap swap defaults 0 0

在每次開機的時候自動加載swap文件, 須要在 /etc/fstab 文件中增長一行

 

8.銷燬磁盤數據

dd if=/dev/urandom of=/dev/hda1

利用隨機的數據填充硬盤,在某些必要的場合能夠用來銷燬數據。執行此操做之後,/dev/hda1將沒法掛載,建立和拷貝操做沒法執行。

 

9.獲得最恰當的block size

dd if=/dev/zero bs=1024 count=1000000 of=/root/1Gb.file

dd if=/dev/zero bs=2048 count=500000 of=/root/1Gb.file

dd if=/dev/zero bs=4096 count=250000 of=/root/1Gb.file     

dd if=/dev/zero bs=8192 count=125000 of=/root/1Gb.file

經過比較dd指令輸出中所顯示的命令執行時間,便可肯定系統最佳的block size大小

              

10.測試硬盤讀寫速度

dd if=/root/1Gb.file bs=64k | dd of=/dev/null

dd if=/dev/zero of=/root/1Gb.file bs=1024 count=1000000

經過上兩個命令輸出的執行時間,能夠計算出測試硬盤的讀/寫速度     

 

11.修復硬盤

dd if=/dev/sda of=/dev/sda

當硬盤較長時間(好比1,2年)放置不使用後,磁盤上會產生magnetic flux point。當磁頭讀到這些區域時會遇到困難,並可能致使I/O錯誤。當這種狀況影響到硬盤的第一個扇區時,可能致使硬盤報廢。上邊的命令有可能使這些數據起死回生。且這個過程是安全,高效的。

2.2    df

2.2.1       功能說明

顯示磁盤的相關信息。

2.2.2       語法

df [-ahHiklmPT][--block-size=<區塊大小>][-t <文件系統類型>][-x <文件系統類型>][--help][--no-sync][--sync][--version][文件或設備]

2.2.3       補充說明

df可顯示磁盤的文件系統與使用情形。

2.2.4       參數

  -a或--all   包含所有的文件系統。

  --block-size=<區塊大小>   以指定的區塊大小來顯示區塊數目。

  -h或--human-readable   以可讀性較高的方式來顯示信息。

  -H或--si   與-h參數相同,但在計算時是以1000 Bytes爲換算單位而非1024 Bytes。

  -i或--inodes   顯示inode的信息。

  -k或--kilobytes   指定區塊大小爲1024字節。

  -l或--local   僅顯示本地端的文件系統。

  -m或--megabytes   指定區塊大小爲1048576字節。

  --no-sync   在取得磁盤使用信息前,不要執行sync指令,此爲預設值。

  -P或--portability   使用POSIX的輸出格式。

  --sync   在取得磁盤使用信息前,先執行sync指令。

  -t<文件系統類型>或--type=<文件系統類型>   僅顯示指定文件系統類型的磁盤信息。

  -T或--print-type   顯示文件系統的類型。

  -x<文件系統類型>或--exclude-type=<文件系統類型>   不要顯示指定文件系統類型的磁盤信息。

  --help   顯示幫助。

  --version   顯示版本信息。

  [文件或設備]   指定磁盤設備。

2.3    du

2.3.1       功能說明

顯示目錄或文件的大小。

2.3.2       語法

du [-abcDhHklmsSx][-L <符號鏈接>][-X <文件>][--block-size][--exclude=<目錄或文件>][--max-depth=<目錄層數>][--help][--version][目錄或文件]

2.3.3       補充說明

du會顯示指定的目錄或文件所佔用的磁盤空間。

2.3.4       參數

  -a或-all   顯示目錄中個別文件的大小。

  -b或-bytes   顯示目錄或文件大小時,以byte爲單位。

  -c或--total   除了顯示個別目錄或文件的大小外,同時也顯示全部目錄或文件的總和。

  -D或--dereference-args   顯示指定符號鏈接的源文件大小。

  -h或--human-readable   以K,M,G爲單位,提升信息的可讀性。

  -H或--si   與-h參數相同,可是K,M,G是以1000爲換算單位。

  -k或--kilobytes   以1024 bytes爲單位。

  -l或--count-links   重複計算硬件鏈接的文件。

  -L<符號鏈接>或--dereference<符號鏈接>   顯示選項中所指定符號鏈接的源文件大小。

  -m或--megabytes   以1MB爲單位。

  -s或--summarize   僅顯示總計。

  -S或--separate-dirs   顯示個別目錄的大小時,並不含其子目錄的大小。

  -x或--one-file-xystem   以一開始處理時的文件系統爲準,若趕上其它不一樣的文件系統目錄則略過。

  -X<文件>或--exclude-from=<文件>   在<文件>指定目錄或文件。

  --exclude=<目錄或文件>   略過指定的目錄或文件。

  --max-depth=<目錄層數>   超過指定層數的目錄後,予以忽略。

  --help   顯示幫助。

  --version   顯示版本信息。

2.4    fdisk

2.4.1       功能說明

磁盤分區。

2.4.2       語法

fdisk [-b <分區大小>][-uv][外圍設備代號] 或 fdisk [-l][-b <分區大小>][-uv][外圍設備代號...] 或 fdisk [-s <分區編號>]

 

2.4.3       補充說明

fdisk是用來磁盤分區的程序,它採用傳統的問答式界面,而非相似DOS fdisk的cfdisk互動式操做界面,所以在使用上較爲不便,但功能卻絲絕不打折扣。

2.4.4       參數

  -b<分區大小>   指定每一個分區的大小。

  -l   列出指定的外圍設備的分區表情況。

  -s<分區編號>   將指定的分區大小輸出到標準輸出上,單位爲區塊。

  -u   搭配"-l"參數列表,會用分區數目取代柱面數目,來表示每一個分區的起始地址。

  -v   顯示版本信息。

2.5    format

2.5.1       功能說明

格式化磁盤。最好是對未格式過化的磁盤使用。

2.5.2       語法

format [-n] device

-n 軟盤格式化後不做檢驗。

2.5.3       補充說明

DOS的FORMAT A: 實際上做了如下工做:

  (1)物理格式化磁盤;

  (2)創建 A: 這個目錄 (=Linux中的創建一個文件系統);

  (3)使這個磁盤能被使用者使用(=Linux中的mount一個驅動器)。

這三步在 Linux 中是分開的,在 Linux中能夠創建和使用MS-DOS格式的磁盤,還可用其它格式的(例如最經常使用的ext2),如下是作一張可用的磁盤方法:

  (1)先 su 爲 root

  (2)格式化一張1.44M的軟盤(A:)

  # fdformat /dev/fd0H1440

  (3)創建一個文件系統:

  # mkfs -t ext2 -c /dev/fd0H1440(創建一個ext2的文件系統)

  或 # mformat a:(創建一個 MS-DOS 的文件系統)

在使用這張磁盤前,須要先將這個磁盤連通驅動器mount,mount 一個驅動器:

  # mount -t ext2 /dev/fd0 /mnt

或 # mount -t msdos /dev/fd0 /mnt

如今可使用這張磁盤了,當要拿出磁盤前,必定要umount!

  # umount /mnt

如今能夠把磁盤拿出來了。

fdformat和mkfs最好只對未格式過化的磁盤用、已做過的就不須要用這兩條命令了。

如要使用B驅動器,用fd1H1440 和 fd1 替換前文中的fd0H1440和fd0。這樣,之前對A:,B:的工做如今都移轉對/mnt操做了,例如:

  DOS Linux

  C:GUIDO>dir a: $ ls /mnt

  C:GUIDO>copy a:*.* docs emp $ cp /mnt/* /docs/temp

  C:GUIDO>copy *.zip a:zip $ cp *.zip /mnt/zip

  C:GUIDO>a: $ cd /mnt

  A:> /mnt$

使用硬盤的方法相似於軟盤,例如能夠 mount一個硬盤或光驅,稍微變一下 /dev 下的 device,例如mount一個光驅:# mount -t iso9660 /dev/cdrom /cdrom

2.6    free

2.6.1       功能說明

顯示內存狀態。

2.6.2       語法

 free [-bkmotV][-s <間隔秒數>]

2.6.3       補充說明

free指令會顯示內存的使用狀況,包括實體內存,虛擬的交換文件內存,共享內存區段,以及系統核心使用的緩衝區等。

2.6.4       參數

 -b  以Byte爲單位顯示內存使用狀況。 

 -k  以KB爲單位顯示內存使用狀況。 

 -m  以MB爲單位顯示內存使用狀況。 

 -o  不顯示緩衝區調節列。 

 -s<間隔秒數>  持續觀察內存使用情況。 

 -t  顯示內存總和列。 

 -V  顯示版本信息。

2.7    mount

2.7.1       功能說明

掛載文件系統。

2.7.2       語法

mount [-t vfstype] [-o options] device dir

 

其中:

1.-t vfstype 指定文件系統的類型,一般沒必要指定。mount 會自動選擇正確的類型。經常使用類型有:

光盤或光盤鏡像:iso9660

DOS fat16文件系統:msdos

Windows 9x fat32文件系統:vfat

Windows NT ntfs文件系統:ntfs

Mount Windows文件網絡共享:smbfs

UNIX(LINUX) 文件網絡共享:nfs

 

2.-o options 主要用來描述設備或檔案的掛接方式。經常使用的參數有:

loop:用來把一個文件當成硬盤分區掛接上系統

ro:採用只讀方式掛接設備

rw:採用讀寫方式掛接設備

iocharset:指定訪問文件系統所用字符集

3.device 要掛接(mount)的設備。

4.dir設備在系統上的掛接點(mount point)。

2.7.3       例子

2.7.3.1      製做並掛載光盤ISO文件

一、從光盤製做光盤鏡像文件。將光盤放入光驅,執行下面的命令。

#cp /dev/cdrom /home/sunky/mydisk.iso 或

#dd if=/dev/cdrom of=/home/sunky/mydisk.iso

注:執行上面的任何一條命令均可將當前光驅裏的光盤製做成光盤鏡像文件/home/sunky/mydisk.iso

 

二、將文件和目錄製做成光盤鏡像文件,執行下面的命令。

#mkisofs -r -J -V mydisk -o /home/sunky/mydisk.iso /home/sunky/ mydir

注:這條命令將/home/sunky/mydir目錄下全部的目錄和文件製做成光盤鏡像文件/home/sunky/mydisk.iso,光盤卷標爲:mydisk

 

三、光盤鏡像文件的掛接(mount)

#mkdir /mnt/vcdrom

注:創建一個目錄用來做掛接點(mount point)

#mount -o loop -t iso9660 /home/sunky/mydisk.iso /mnt/vcdrom

注:使用/mnt/vcdrom就能夠訪問盤鏡像文件mydisk.iso裏的全部文件了。

 

2.7.3.2      掛載移動硬盤

對linux系統而言,USB接口的移動硬盤是看成SCSI設備對待的。插入移動硬盤以前,應先用fdisk –l 或 more /proc/partitions查看系統的硬盤和硬盤分區狀況。

 

[root at pldyrouter /]# fdisk -l

Disk /dev/sda: 73 dot 4 GB, 73407820800 bytes

255 heads, 63 sectors/track, 8924 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System

/dev/sda1 1 4 32098+ de Dell Utility

/dev/sda2 * 5 2554 20482875 7 HPFS/NTFS

/dev/sda3 2555 7904 42973875 83 Linux

/dev/sda4 7905 8924 8193150 f Win95 Ext'd (LBA)

/dev/sda5 7905 8924 8193118+ 82 Linux swap

在這裏能夠清楚地看到系統有一塊SCSI硬盤/dev/sda和它的四個磁盤分區/dev /sda1 -- /dev/sda4, /dev/sda5是分區/dev/sda4的邏輯分區。接好移動硬盤後,再用fdisk –l 或 more /proc/partitions查看系統的硬盤和硬盤分區狀況

[root at pldyrouter /]# fdisk -l

 

Disk /dev/sda: 73 dot 4 GB, 73407820800 bytes

255 heads, 63 sectors/track, 8924 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System

/dev/sda1 1 4 32098+ de Dell Utility

/dev/sda2 * 5 2554 20482875 7 HPFS/NTFS

/dev/sda3 2555 7904 42973875 83 Linux

/dev/sda4 7905 8924 8193150 f Win95 Ext'd (LBA)

/dev/sda5 7905 8924 8193118+ 82 Linux swap

Disk /dev/sdc: 40.0 GB, 40007761920 bytes

255 heads, 63 sectors/track, 4864 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System

/dev/sdc1 1 510 4096543+ 7 HPFS/NTFS

/dev/sdc2 511 4864 34973505 f Win95 Ext'd (LBA)

/dev/sdc5 511 4864 34973473+ b Win95 FAT32

 

你們應該能夠發現多了一個SCSI硬盤/dev/sdc和它的兩個磁盤分區/dev/sdc1?、/dev/sdc2,其中/dev/sdc5是/dev/sdc2分區的邏輯分區。咱們可使用下面的命令掛接/dev/sdc1和/dev/sdc5。

#mkdir -p /mnt/usbhd1

#mkdir -p /mnt/usbhd2

注:創建目錄用來做掛接點(mount point)

#mount -t ntfs /dev/sdc1 /mnt/usbhd1

#mount -t vfat /dev/sdc5 /mnt/usbhd2

注:對ntfs格式的磁盤分區應使用-t ntfs 參數,對fat32格式的磁盤分區應使用-t vfat參數。若漢字文件名顯示爲亂碼或不顯示,可使用下面的命令格式。

#mount -t ntfs -o iocharset=cp936 /dev/sdc1 /mnt/usbhd1

#mount -t vfat -o iocharset=cp936 /dev/sdc5 /mnt/usbhd2

 

linux系統下使用fdisk分區命令和mkfs文件系統建立命令能夠將移動硬盤的分區製做成linux系統所特有的ext二、ext3格式。這樣,在linux下使用就更方便了。使用下面的命令直接掛接便可。

#mount /dev/sdc1 /mnt/usbhd1

2.7.3.3      掛接U盤

和USB接口的移動硬盤同樣對linux系統而言U盤也是看成SCSI設備對待的。使用方法和移動硬盤徹底同樣。插入U盤以前,應先用fdisk –l 或 more /proc/partitions查看系統的硬盤和硬盤分區狀況。

[root at pldyrouter root]# fdisk -l

Disk /dev/sda: 73 dot 4 GB, 73407820800 bytes

255 heads, 63 sectors/track, 8924 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System

/dev/sda1 1 4 32098+ de Dell Utility

/dev/sda2 * 5 2554 20482875 7 HPFS/NTFS

/dev/sda3 2555 7904 42973875 83 Linux

/dev/sda4 7905 8924 8193150 f Win95 Ext'd (LBA)

/dev/sda5 7905 8924 8193118+ 82 Linux swap

 

插入U盤後,再用fdisk –l 或 more /proc/partitions查看系統的硬盤和硬盤分區狀況。

[root at pldyrouter root]# fdisk -l

Disk /dev/sda: 73 dot 4 GB, 73407820800 bytes

255 heads, 63 sectors/track, 8924 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System

/dev/sda1 1 4 32098+ de Dell Utility

/dev/sda2 * 5 2554 20482875 7 HPFS/NTFS

/dev/sda3 2555 7904 42973875 83 Linux

/dev/sda4 7905 8924 8193150 f Win95 Ext'd (LBA)

/dev/sda5 7905 8924 8193118+ 82 Linux swap

Disk /dev/sdd: 131 MB, 131072000 bytes

9 heads, 32 sectors/track, 888 cylinders

Units = cylinders of 288 * 512 = 147456 bytes

Device Boot Start End Blocks Id System

/dev/sdd1 * 1 889 127983+ b Win95 FAT32

Partition 1 has different physical/logical endings:

phys=(1000, 8, 32) logical=(888, 7, 31)

 

系統多了一個SCSI硬盤/dev/sdd和一個磁盤分區/dev/sdd1,/dev/sdd1就是咱們要掛接的U盤。

#mkdir -p /mnt/usb

注:創建一個目錄用來做掛接點(mount point)

#mount -t vfat /dev/sdd1 /mnt/usb

注:如今能夠經過/mnt/usb來訪問U盤了, 若漢字文件名顯示爲亂碼或不顯示,可使用下面的命令。

#mount -t vfat -o iocharset=cp936 /dev/sdd1 /mnt/usb

2.7.3.4      掛接Windows文件共享

Windows網絡共享的核心是SMB/CIFS,在linux下要掛接 (mount)windows的磁盤共享,就必須安裝和使用samba軟件包。如今流行的linux發行版絕大多數已經包含了samba軟件包,若是安裝 linux系統時未安裝samba請首先安裝samba。固然也能夠到www.samba.org網站下載......新的版本是3.0.10版。

 

當windows系統共享設置好之後,就能夠在linux客戶端掛接(mount)了,具體操做以下:

# mkdir –p /mnt/samba

注:創建一個目錄用來做掛接點(mount point)

# mount -t smbfs -o username=administrator,password=pldy123 //10.140.133.23/c$ /mnt/samba

注:administrator 和 pldy123 是ip地址爲10.140.133.23 windows計算機的一個用戶名和密碼,c$是這臺計算機的一個磁盤共享。如此就能夠在linux系統上經過/mnt/samba來訪問windows系統磁盤上的文件了。

2.7.3.5      掛接UNIX系統NFS文件共享

相似於windows的網絡共享,UNIX(Linux)系統也有本身的網絡共享,那就是NFS(網絡文件系統),下面咱們就以SUN Solaris2.8和REDHAT as server 3 爲例簡單介紹一下在linux下如何mount nfs網絡共享。

 

在linux客戶端掛接(mount)NFS磁盤共享以前,必須先配置好NFS服務端。

 

1、Solaris系統NFS服務端配置方法以下:

(1)修改 /etc/dfs/dfstab, 增長共享目錄

share -F nfs -o rw /export/home/sunky

(2)啓動nfs服務

# /etc/init.d/nfs.server start

(3)NFS服務啓動之後,也可使用下面的命令增長新的共享

# share /export/home/sunky1

# share /export/home/sunky2

注:/export/home/sunky和/export/home/sunky1是準備共享的目錄

 

2、linux系統NFS服務端配置方法以下:

(1)修改 /etc/exports,增長共享目錄

/export/home/sunky 10.140.133.23(rw)

/export/home/sunky1 *(rw)

/export/home/sunky2 linux-client(rw)

注:/export/home/目錄下的sunky、sunky一、sunky2是準備共享 的目錄,10.140.133.2三、*、linux- client是被容許掛接此共享linux客戶機的IP地址或主機名。若是要使用主機名linux-client必須在服務端主機/etc/hosts文 件裏增長linux-client主機ip定義。格式以下:

10.140.133.23 linux-client

(2)啓動與中止NFS服務

/etc/rc.d/init.d/portmap start (在REDHAT中PORTMAP是默認啓動的)

/etc/rc.d/init.d/nfs start 啓動NFS服務

/etc/rc.d/init.d/nfs stop 中止NFS服務

注:若修改/etc/export文件增長新的共享,應先中止NFS服務,再啓動NFS服務方能使新增長的共享起做用。使用命令exportfs -rv也能夠達到一樣的效果。

3、linux客戶端掛接(mount)其餘linux系統或UNIX系統的NFS共享

# mkdir –p /mnt/nfs

注:創建一個目錄用來做掛接點(mount point)

#mount -t nfs -o rw 10.140.133.9:/export/home/sunky /mnt/nfs

注:這裏咱們假設10.140.133.9是NFS服務端的主機IP地址,固然這裏也可使用主機名,但必須在本機/etc/hosts文件裏增長服務端ip定義。/export/home/sunky爲服務端共享的目錄。

2.8    umount

2.8.1       功能說明

卸除文件系統。

 

2.8.2       語法

umount [-ahnrvV][-t <文件系統類型>][文件系統]

 

2.8.3       補充說明

umount可卸除目前掛在Linux目錄中的文件系統。

2.8.4       參數

  -a   卸除/etc/mtab中記錄的全部文件系統。

  -h   顯示幫助。

  -n   卸除時不要將信息存入/etc/mtab文件中。

  -r   若沒法成功卸除,則嘗試以只讀的方式從新掛入文件系統。

  -t<文件系統類型>   僅卸除選項中所指定的文件系統。

  -v   執行時顯示詳細的信息。

  -V   顯示版本信息。

  [文件系統]   除了直接指定文件系統外,也能夠用設備名稱或掛入點來表示文件系統。

3     壓縮管理

3.1    bunzip2

3.1.1       功能說明

.bz2文件的解壓縮程序。

3.1.2       語法

bunzip2 [-fkLsvV][.bz2壓縮文件]

3.1.3       補充說明

bunzip2可解壓縮.bz2格式的壓縮文件。bunzip2其實是bzip2的符號鏈接,執行bunzip2與bzip2 -d的效果相同。

3.1.4       參數

 -f或--force  解壓縮時,若輸出的文件與現有文件同名時,預設不會覆蓋現有的文件。若要覆蓋,請使用此參數。 

 -k或--keep  在解壓縮後,預設會刪除原來的壓縮文件。若要保留壓縮文件,請使用此參數。 

 -s或--small  下降程序執行時,內存的使用量。 

 -v或--verbose  解壓縮文件時,顯示詳細的信息。 

 -l,--license,-V或--version  顯示版本信息。

3.2    bzip2

3.2.1       功能說明

.bz2文件的壓縮程序。

3.2.2       語法

bzip2 [-cdfhkLstvVz][--repetitive-best][--repetitive-fast][- 壓縮等級][要壓縮的文件]

3.2.3       補充說明

bzip2採用新的壓縮演算法,壓縮效果比傳統的LZ77/LZ78壓縮演算法來得好。若沒有加上任何參數,bzip2壓縮完文件後會產生.bz2的壓縮文件,並刪除原始的文件。

3.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.3    cpio

3.3.1       功能說明

備份文件。

3.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.3       補充說明

cpio是用來創建,還原備份檔的工具程序,它能夠加入,解開cpio或tra備份檔內的文件。

3.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<擁有者><:/.><所屬羣組>  在copy-in模式還原備份檔,或copy-pass模式複製文件時,可指定這些備份,複製的文件的擁有者與所屬羣組。 

 -s或--swap-bytes  交換每對字節的內容。 

 -S或--swap-halfwords  交換每半個字節的內容。 

 -t或--list  將輸入的內容呈現出來。 

 -u或--unconditional  置換全部文件,不論日期時間的新舊與否,皆不予詢問而直接覆蓋。 

 -v或--verbose  詳細顯示指令的執行過程。 

 -V或--dot  執行指令時,在每一個文件的執行程序前面加上"."號 

 --block-size=<區塊大小>  設置輸入/輸出的區塊大小,假如設置數值爲5,則區塊大小爲2500,若設置成10,則區塊大小爲5120,依次類推。 

 --force-local  強制將備份檔存放在本地主機。 

 --help  在線幫助。 

 --no-absolute-filenames  使用相對路徑創建文件名稱。 

 --no-preserve-owner  不保留文件的擁有者,誰解開了備份檔,那些文件就歸誰全部。 

 -only-verify-crc  當備份檔採用CRC備份格式時,可以使用這項參數檢查備份檔內的每一個文件是否正確無誤。 

 --quiet  不顯示覆制了多少區塊。 

 --sparse  假若一個文件內含大量的連續0字節,則將此文件存成稀疏文件。 

 --version  顯示版本信息。

3.4    gunzip

3.4.1       功能說明

解壓文件。

3.4.2       語法

gunzip [-acfhlLnNqrtvV][-s <壓縮字尾字符串>][文件...] 或 gunzip [-acfhlLnNqrtvV][-s <壓縮字尾字符串>][目錄]

3.4.3       補充說明

gunzip是個使用普遍的解壓縮程序,它用於解開被gzip壓縮過的文件,這些壓縮文件預設最後的擴展名爲".gz"。事實上gunzip就是gzip的硬鏈接,所以不管是壓縮或解壓縮,均可經過gzip指令單獨完成。

3.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 顯示版本信息。

3.5    gzip

3.5.1       功能說明

壓縮文件。

3.5.2       語法

gzip [-acdfhlLnNqrtvV][-S <壓縮字尾字符串>][-<壓縮效率>][--best/fast][文件...] 或 gzip [-acdfhlLnNqrtvV][-S <壓縮字尾字符串>][-<壓縮效率>][--best/fast][目錄]

3.5.3       補充說明

gzip是個使用普遍的壓縮程序,文件經它壓縮事後,其名稱後面會多出".gz"的擴展名。

 

3.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"參數相同。

3.6    split

3.6.1       功能說明

切割文件。

3.6.2       語法

split [--help][--version][-<行數>][-b <字節>][-C <字節>][-l <行數>][要切割的文件][輸出文件名]

3.6.3       補充說明

split可將文件切成較小的文件,預設每1000行會切成一個小文件。

3.6.4       參數

 -<行數>或-l<行數>  指定每多少行就要切成一個小文件。 

 -b<字節>  指定每多少字就要切成一個小文件。 

 -C<字節>  與-b參數相似,但切割時儘可能維持每行的完整性。 

 --help  顯示幫助。 

 --version  顯示版本信息。 

 [輸出文件名]  設置切割後文件的前置文件名,split會自動在前置文件名後再加上編號。

3.7    tar

3.7.1       功能說明

備份文件。

3.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=<編號文件>][文件或目錄...]

3.7.3       補充說明

tar是用來創建,還原備份文件的工具程序,它能夠加入,解開備份文件內的文件。

3.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=<編號文件>   使用指定文件內的編號取代預設的卷冊編號。

3.8    unzip

3.8.1       功能說明

解壓縮zip文件

3.8.2       語法

unzip [-cflptuvz][-agCjLMnoqsVX][-P <密碼>][.zip文件][文件][-d <目錄>][-x <文件>] 或 unzip [-Z]

 

3.8.3       補充說明

unzip爲.zip壓縮文件的解壓縮程序。

3.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指令。

3.9    zgrep

3.9.1       功能說明

這個命令的功能是在壓縮文件中尋找匹配的正則表達式,用法和grep命令相同,只不過操做的對象是壓縮文件。若是用戶想看看在某個壓縮文件中有沒有某一句話,即可用zgrep命令。

3.9.2       語法

zgrep [options] [files]

[options]同grep對應選項。

3.10      zip

3.10.1  功能說明

壓縮文件。

3.10.2  語法

zip [-options][-b <工做目錄>][-ll][-n <字尾字符串>][-t <日期時間>][-<壓縮效率>][壓縮文件][文件...][-i <範本樣式>][-x <範本樣式>]

3.10.3  補充說明

zip是個使用普遍的壓縮程序,文件經它壓縮後會另外產生具備".zip"擴展名的壓縮文件。

3.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的數值。

4     進程管理

4.1    crontab

4.1.1       功能說明

設置計時器。

4.1.2       語法

crontab [-u <用戶名稱>][配置文件] 或 crontab [-u <用戶名稱>][-elr]

4.1.3       補充說明

cron是一個常駐服務,它提供計時器的功能,讓用戶在特定的時間得以執行預設的指令或程序。只要用戶會編輯計時器的配置文件,就可使用計時器的功能。其配置文件格式以下:

  Minute Hour Day Month DayOFWeek Command 

4.1.4       參數 

 -e  編輯該用戶的計時器設置。 

 -l  列出該用戶的計時器設置。 

 -r  刪除該用戶的計時器設置。 

 -u<用戶名稱>  指定要設定計時器的用戶名稱。

4.2    kill

4.2.1       功能說明

刪除執行中的程序或工做。

4.2.2       語法

kill [-s <信息名稱或編號>][程序] 或 kill [-l <信息編號>]

4.2.3       補充說明

kill可將指定的信息送至程序。預設的信息爲SIGTERM(15),可將指定程序終止。若仍沒法終止該程序,可以使用SIGKILL(9)信息嘗試強制刪除程序。程序或工做的編號可利用ps指令或jobs指令查看。 

4.2.4       參數

 -l <信息編號>  若不加<信息編號>選項,則-l參數會列出所有的信息名稱。 

 -s <信息名稱或編號>  指定要送出的信息。 

 [程序]  [程序]能夠是程序的PID或是PGID,也能夠是工做編號。

4.3    nohup

4.3.1       功能說明

不掛斷地運行命令。該命令能夠在你退出賬戶/關閉終端以後繼續運行相應的進程。

4.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文件中。

4.3.3       例子

咱們有個test.php須要在後臺運行,而且但願在後臺可以按期運行,那麼就使用nohup:

nohup /root/test.php &

(nohup sh make.sh &)

4.4    ps

4.4.1       功能說明

報告程序情況。

4.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.4.3       補充說明

ps是用來報告程序執行情況的指令,您能夠搭配kill指令隨時中斷,刪除沒必要要的程序。

4.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"參數相同。

4.5    renice

4.5.1       功能說明

調整優先權。

4.5.2       語法

renice [優先等級][-g <程序羣組名稱>...][-p <程序識別碼>...][-u <用戶名稱>...]

4.5.3       補充說明

renice指令可從新調整程序執行的優先權等級。預設是以程序識別碼指定程序調整其優先權,您亦能夠指定程序羣組或用戶名稱調整優先權等級,並修改全部隸屬於該程序羣組或用戶的程序的優先權。等級範圍從-20--19,只有系統管理者能夠改變其餘用戶程序的優先權,也僅有系統管理者能夠設置負數等級。

4.5.4       參數

 -g <程序羣組名稱>  使用程序羣組名稱,修改全部隸屬於該程序羣組的程序的優先權。 

 -p <程序識別碼>  改變該程序的優先權等級,此參數爲預設值。 

 -u <用戶名稱>  指定用戶名稱,修改全部隸屬於該用戶的程序的優先權。

4.6    top

4.6.1       功能說明

顯示,管理執行中的程序。

4.6.2       語法

top [bciqsS][d <間隔秒數>][n <執行次數>]

4.6.3       補充說明

執行top指令可顯示目前正在系統中執行的程序,並經過它所提供的互動式界面,用熱鍵加以管理。

4.6.4       參數

 b  使用批處理模式。 

 c  列出程序時,顯示每一個程序的完整指令,包括指令名稱,路徑和參數等相關信息。 

 d<間隔秒數>  設置top監控程序執行情況的間隔時間,單位以秒計算。 

 i  執行top指令時,忽略閒置或是已成爲Zombie的程序。 

 n<執行次數>  設置監控信息的更新次數。 

 q  持續監控程序執行的情況。 

 s  使用保密模式,消除互動模式下的潛在危機。 

 S  使用累計模式,其效果相似ps指令的"-S"參數。

4.7    who

4.7.1       功能說明

顯示目前登入系統的用戶信息。

4.7.2       語法

who [-Himqsw][--help][--version][am i][記錄文件]

4.7.3       補充說明

執行這項指令可得知目前有那些用戶登入系統,單獨執行who指令會列出登入賬號,使用的 

終端機,登入時間以及從何處登入或正在使用哪一個X顯示器。

4.7.4       參數

 -H或--heading  顯示各欄位的標題信息列。 

 -i或-u或--idle  顯示閒置時間,若該用戶在前一分鐘以內有進行任何動做,將標示成"."號,若是該用戶已超過24小時沒有任何動做,則標示出"old"字符串。 

 -m  此參數的效果和指定"am i"字符串相同。 

 -q或--count  只顯示登入系統的賬號名稱和總人數。 

 -s  此參數將忽略不予處理,僅負責解決who指令其餘版本的兼容性問題。 

 -w或-T或--mesg或--message或--writable  顯示用戶的信息狀態欄。 

 --help  在線幫助。 

 --version  顯示版本信息。

5     網絡管理

5.1    Curl

Curl是Linux下一個很強大的http命令行工具,其功能十分強大。

 

5.1.1       讀取網頁

$ curl http://www.linuxidc.com

5.1.2       保存網頁

$ curl http://www.linuxidc.com > page.html

$ curl -o page.html http://www.linuxidc.com

5.1.3       使用的proxy服務器及其端口: -x

$ curl -x 123.45.67.89:1080 -o page.html http://www.linuxidc.com

5.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裏面了

5.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

5.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

5.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點擊某個連接過來的

5.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

5.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

5.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

這樣一來就不怕文件重名啦

5.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 要下載(趙老師的電話朗誦 :D )咱們就能夠用這樣的命令:

$ 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 來解決吧,呵呵

5.1.12  瀏覽FTP

$ curl -u name:passwd ftp://ip:port/path/file

或者你們熟悉的

$ curl ftp://name:passwd@ip:port/path/file

 

5.1.13  FTP上傳

上傳的option是 -T

好比咱們向ftp傳一個文件:

$ curl -T localfile -u name:passwd ftp://upload_site:port/path/

5.1.14  HTTP上傳

$ curl -T localfile http://cgi2.tky.3web.ne.jp/~zzh/abc.cgi

注意,這時候,使用的協議是HTTP的PUT method

5.1.15  POST模式讀取網頁

POST模式的option則是 -d

好比,

$ curl -d "user=nickwolfe&password=12345" http://www.linuxidc.com/login.cgi

 

5.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

5.2    finger

5.2.1       功能說明

查找並顯示用戶信息。

5.2.2       語法

finger [-lmsp][賬號名稱...]

5.2.3       補充說明

finger指令會去查找,並顯示指定賬號的用戶相關信息,包括本地與遠端主機的用戶皆可,賬號名稱沒有大小寫的差異。單獨執行finger指令,它會顯示本地主機如今全部的用戶的登錄信息,包括賬號名稱,真實姓名,登入終端機,閒置時間,登入時間以及地址和電話。

5.2.4       參數

  -l  列出該用戶的賬號名稱,真實姓名,用戶專屬目錄,登入所用的Shell,登入時間,轉信地址,電子郵件狀態,還有計劃文件和方案文件內容。 

  -m  排除查找用戶的真實姓名。

  -s  列出該用戶的賬號名稱,真實姓名,登入終端機,閒置時間,登入時間以及地址和電話。 

  -p  列出該用戶的賬號名稱,真實姓名,用戶專屬目錄,登入所用的Shell,登入時間,轉信地址,電子郵件狀態,但不顯示該用戶的計劃文件和方案文件內容。

5.3    ftp

5.3.1       功能說明

設置文件系統相關功能。

5.3.2       語法

ftp [-dignv][主機名稱或IP地址]

5.3.3       補充說明

FTP是ARPANet的標準文件傳輸協議,該網絡就是現今Internet的前身。

5.3.4       參數

  -d   詳細顯示指令執行過程,便於排錯或分析程序執行的情形。

  -i   關閉互動模式,不詢問任何問題。

  -g   關閉本地主機文件名稱支持特殊字符的擴充特性。

  -n   不使用自動登錄。

  -v   顯示指令執行過程。

5.4    ifconfig

5.4.1       功能說明

顯示或設置網絡設備。

5.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地址]

5.4.3       補充說明

ifconfig可設置網絡設備的狀態,或是顯示目前的設置。

若是提示找不到命令,可用/sbin/ifconfig

5.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.5    ip

5.5.1       功能說明

ip是iproute2軟件包裏面的一個強大的網絡配置工具,它可以替代一些傳統的網絡管理工具。例如:ifconfig、route等。

5.5.2       語法

ip [選項] [動做] [指令]

5.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.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 00:00:00:00:00:00 brd 00:00:00:00:00:00

2: eth0: <BROADCAST,MULTICAST,UP,10000> mtu 1500 qdisc pfifo_fast qlen 1000

    link/ether 00:50:fc:22:9a:cb brd ff:ff:ff:ff:ff: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 00:50:fc:22:9a:cb brd ff:ff:ff:ff:ff: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 00:40:d0:13:c3:46 brd ff:ff:ff:ff:ff:ff

# 怕了吧!連網路卡代號均可以改變!不過,玩玩後記得改回來啊!

# 由於咱們的 ifcfg-eth0 仍是使用本來的裝置代號!避免有問題,要改回來

[root@linux ~]# ip link set vbird name eth0 <==介面改回來

[root@linux ~]# ip link set eth0 address aa:aa:aa:aa:aa:aa

[root@linux ~]# ip link show eth0

# 若是你的網路卡支援硬體位址 (MAC) 能夠更改的話,

# 那麼上面這個動做就能夠更改你的網路卡位址了!厲害吧!

# 不過,仍是那句老話,測試完之後請馬上改回來啊!

在這個裝置的硬體相關資訊設定上面,包括 MTU, MAC 以及傳輸的模式等等,均可以在這裏設定。 有趣的是那個 address 的項目,那個項目後面接的但是硬體位址 (MAC) 而不是 IP 喔! 很容易搞錯啊!切記切記!更多的硬體參數可使用 man ip 查閱一下與 ip link 有關的設定。

5.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 00:00:00:00:00:00 brd 00:00:00:00:00: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 00:50:fc:22:9a:cb brd ff:ff:ff:ff:ff:ff

    inet 192.168.1.2/24 brd 192.168.1.255 scope global eth0

    inet6 fe80::250:fcff:fe22:9acb/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 00:40:d0:13:c3:46 brd ff:ff:ff:ff:ff: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::240:d0ff:fe13:c346/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 00:40:D0:13:C3: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.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

5.6    netstat

5.6.1       功能說明

顯示網絡狀態。

5.6.2       語法

netstat [-acCeFghilMnNoprstuvVwx][-A<網絡類型>][--ip]

5.6.3       補充說明

利用netstat指令可以讓你得知整個Linux系統的網絡狀況。

5.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"參數相同。

5.7    nslookup

5.7.1       功能說明

nslookup命令的功能是查詢一臺機器的IP地址和其對應的域名。使用權限全部用戶。它一般須要一臺域名服務器來提供域名服務。若是用戶已經設置好域名服務器,就能夠用這個命令查看不一樣主機的IP地址對應的域名。

5.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會顯示對應的記錄。

5.8    ping

5.8.1       功能說明

檢測主機。

5.8.2       語法

ping [-dfnqrRv][-c<完成次數>][-i<間隔秒數>][-I<網絡界面>][-l<前置載入>][-p<範本樣式>][-s<數據包大小>][-t<存活數值>][主機名稱或IP地址]

5.8.3       補充說明

執行ping指令會使用ICMP傳輸協議,發出要求迴應的信息,若遠端主機的網絡功能沒有問題,就會迴應該信息,於是得知該主機運做正常。

5.8.4       參數

  -d   使用Socket的SO_DEBUG功能。

  -c<完成次數>   設置完成要求迴應的次數。

  -f   極限檢測。

  -i<間隔秒數>   指定收發信息的間隔時間。

  -I<網絡界面>   使用指定的網絡界面送出數據包。

  -l<前置載入>   設置在送出要求信息以前,先行發出的數據包。

  -n   只輸出數值。

  -p<範本樣式>   設置填滿數據包的範本樣式。

  -q   不顯示指令執行過程,開頭和結尾的相關信息除外。

  -r   忽略普通的Routing Table,直接將數據包送到遠端主機上。

  -R   記錄路由過程。

  -s<數據包大小>   設置數據包的大小。

  -t<存活數值>   設置存活數值TTL的大小。

  -v   詳細顯示指令的執行過程。

5.9    rcp

5.9.1       功能說明

遠端複製文件或目錄。

5.9.2       語法

rcp [-pr][源文件或目錄][目標文件或目錄] 或 rcp [-pr][源文件或目錄...][目標文件] 

5.9.3       補充說明

rcp指令用在遠端複製文件或目錄,如同時指定兩個以上的文件或目錄,且最後的目的地是一個已經存在的目錄,則它灰把前面指定的全部文件或目錄複製到該目錄中。

5.9.4       參數

  -p  保留源文件或目錄的屬性,包括擁有者,所屬羣組,權限與時間。 

  -r  遞歸處理,將指定目錄下的文件與子目錄一併處理。

5.10      route

5.10.1  功能說明

route表示手工產生、修改和查看路由表。

5.10.2  語法

#route [-add][-net|-host] targetaddress [-netmask Nm][dev]If]

#route [-delete][-net|-host] targetaddress [gw Gw] [-netmask Nm] [dev]If]

5.10.3  參數

-add:增長路由。

-delete:刪除路由。

-net:路由到達的是一個網絡,而不是一臺主機。

-host:路由到達的是一臺主機。

-netmask Nm:指定路由的子網掩碼。

gw:指定路由的網關。

[dev]If:強迫路由鏈指定接口。

5.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

5.11      tcpdump

5.11.1  功能說明

傾倒網絡傳輸數據。

5.11.2  語法

tcpdump [-adeflnNOpqStvx][-c<數據包數目>][-dd][-ddd][-F<表達文件>][-i<網絡界面>][-r<數據包文件>][-s<數據包大小>][-tt][-T<數據包類型>][-vv][-w<數據包文件>][輸出數據欄位]

5.11.3  補充說明

執行tcpdump指令可列出通過指定網絡界面的數據包文件頭,在Linux操做系統中,你必須是系統管理員。

5.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<數據包文件>   把數據包數據寫入指定的文件。

5.12      telnet

5.12.1  功能說明

遠端登入。

5.12.2  語法

telnet [-8acdEfFKLrx][-b<主機別名>][-e<脫離字符>][-k<域名>][-l<用戶名稱>][-n<記錄文件>][-S<服務類型>][-X<認證形態>][主機名稱或IP地址<通訊端口>]

5.12.3  補充說明

執行telnet指令開啓終端機階段做業,並登入遠端主機。

5.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<認證形態>   關閉指定的認證形態。

5.13      traceroute

5.13.1  功能說明

顯示數據包到主機間的路徑。

5.13.2  語法

traceroute [-dFlnrvx][-f<存活數值>][-g<網關>...][-i<網絡界面>][-m<存活數 值>][-p<通訊端口>][-s<來源地址>][-t<服務類型>][-w<超時秒數>][主 機名稱或IP地址][數據包大小]

5.13.3  補充說明

traceroute指令讓你追蹤網絡數據包的路由途徑,預設數據包大小是40Bytes,用戶可另行設置。

5.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 開啓或關閉數據包的正確性檢驗。

6     系統管理

6.1    cal

6.1.1       功能說明

日曆命令,能夠顯示當月日曆、當年日曆、指定月份年份的日曆等。

6.1.2       語法

cal [options] [[month] year]

6.1.3       參數

-j

以一月一日起的天數顯示本月的月曆。

-m

以星期一爲每週的第一天方式,顯示本月的月曆。

-y

顯示整年日曆

-jy

以一月一日起的天數顯示整年日曆。

6.2    cat

使用方式:cat [-AbeEnstTuv] [--help] [--version] filename

說明:把檔案串鏈接後傳到基本輸出(屏幕或加 > filename 到另外一個檔案)

參數:

-n 或 --number 由 1 開始對全部輸出的行數編號

-b 或 --number-nonblank 和 -n 類似,只不過對於空白行不編號

-s 或 --squeeze-blank 當遇到有連續兩行以上的空白行,就代換爲一行的空白行

-v 或 --show-nonprinting

範例:

cat -n textfile1 > textfile2 把 textfile1 的檔案內容加上行號後輸入 textfile2 這個檔案裏

cat -b textfile1 textfile2 >> textfile3 把 textfile1 和 textfile2 的檔案內容加上行號(空白行不加)以後將內容附加到 textfile3 裏。

6.3    chsh

6.3.1       功能說明

更換登入系統時使用的shell。

6.3.2       語法

chsh [-luv][-s <shell 名稱>][用戶名稱]

 

6.3.3       補充說明

每位用戶在登入系統時,都會擁有預設的shell環境,這個指令可更改其預設值。若不指定

任何參數與用戶名稱,則chsh會以應答的方式進行設置。

6.3.4       參數

 -s<shell 名稱>或--shell<shell 名稱>  更改系統預設的shell環境。 

 -l或--list-shells  列出目前系統可用的shell清單。 

 -u或--help  在線幫助。 

 -v或-version  顯示版本信息。

6.4    clear

清除終端顯示,與按Ctrl-L效果相同。

6.5    date

6.5.1       功能說明

顯示或設置系統時間與日期。

6.5.2       語法

date [-d <字符串>][-u][+%H%I%K%l%M%P%r%s%S%T%X%Z%a%A%b%B%c%d%D%j%m%U%w%x%y%Y%n%t] 

或date [-s <字符串>][-u][MMDDhhmmCCYYss] 或 date [--help][--version]

6.5.3       補充說明

第一種語法可用來顯示系統日期或時間,以%爲開頭的參數爲格式參數,可指定日期或時間的顯示格式。

第二種語法可用來設置系統日期與時間。只有管理員纔有設置日期與時間的權限。若不加任何參數,data會顯示目前的日期與時間。

6.5.4       參數

 %H  小時(以00-23來表示)。 

 %I  小時(以01-12來表示)。 

 %K  小時(以0-23來表示)。 

 %l  小時(以0-12來表示)。 

 %M  分鐘(以00-59來表示)。 

 %P  AM或PM。 

 %r  時間(含時分秒,小時以12小時AM/PM來表示)。 

 %s  總秒數。起算時間爲1970-01-01 00:00:00 UTC。 

 %S  秒(以本地的慣用法來表示)。 

 %T  時間(含時分秒,小時以24小時制來表示)。 

 %X  時間(以本地的慣用法來表示)。 

 %Z  市區。 

 %a  星期的縮寫。 

 %A  星期的完整名稱。 

 %b  月份英文名的縮寫。 

 %B  月份的完整英文名稱。 

 %c  日期與時間。只輸入date指令也會顯示一樣的結果。 

 %d  日期(以01-31來表示)。 

 %D  日期(含年月日)。 

 %j  該年中的第幾天。 

 %m  月份(以01-12來表示)。 

 %U  該年中的週數。 

 %w  該周的天數,0表明週日,1表明週一,異詞類推。 

 %x  日期(以本地的慣用法來表示)。 

 %y  年份(以00-99來表示)。 

 %Y  年份(以四位數來表示)。 

 %n  在顯示時,插入新的一行。 

 %t  在顯示時,插入tab。 

 MM  月份(必要)。 

 DD  日期(必要)。 

 hh  小時(必要)。 

 mm  分鐘(必要)。 

 CC  年份的前兩位數(選擇性)。 

 YY  年份的後兩位數(選擇性)。 

 ss  秒(選擇性)。 

 -d<字符串>  顯示字符串所指的日期與時間。字符串先後必須加上雙引號。 

 -s<字符串>  根據字符串來設置日期與時間。字符串先後必須加上雙引號。 

 -u  顯示GMT。 

 --help  在線幫助。 

 --version  顯示版本信息。

6.6    echo

6.6.1       功能說明

顯示文字。

6.6.2       語法

echo [-ne][字符串]或 echo [--help][--version]

6.6.3       補充說明

echo會將輸入的字符串送往標準輸出。輸出的字符串間以空白字符隔開, 並在最後加上換行號。

6.6.4       參數

-n 不要在最後自動換行

-e 若字符串中出現如下字符,則特別加以處理,而不會將它當成通常

文字輸出:

   \a 發出警告聲;

   \b 刪除前一個字符;

   \c 最後不加上換行符號;

   \f 換行但光標仍舊停留在原來的位置;

   \n 換行且光標移至行首;

   \r 光標移至行首,但不換行;

   \t 插入tab;

   \v 與\f相同;

   \\ 插入\字符;

   \nnn 插入nnn(八進制)所表明的ASCII字符;

–help 顯示幫助

–version 顯示版本信息

6.7    ethtool

6.7.1       功能說明

ethtool是用於查詢及設置網卡參數的命令。

6.7.2       概要

ethtool ethX      //查詢ethX網口基本設置

ethtool –h        //顯示ethtool的命令幫助(help)

ethtool –i ethX    //查詢ethX網口的相關信息

ethtool –d ethX    //查詢ethX網口註冊性信息

ethtool –r ethX    //重置ethX網口到自適應模式

ethtool –S ethX    //查詢ethX網口收發包統計

ethtool –s ethX [speed 10|100|1000]\         //設置網口速率10/100/1000M

[duplex half|full]\           //設置網口半/全雙工

[autoneg on|off]\            //設置網口是否自協商

[port tp|aui|bnc|mii]\         //設置網口類型

[phyad N]\               

[xcvr internal|exteral]\

[wol p|u|m|b|a|g|s|d...]\

[sopass xx:yy:zz:aa:bb:cc]\

[msglvl N]

6.7.3       舉例

1)[root@linux /]# ethtool eth1

  Settings for eth1:

       Supported ports: [ TP ]

       Supported link modes:   10baseT/Half 10baseT/Full

                               100baseT/Half 100baseT/Full

                               1000baseT/Full

       Supports auto-negotiation: Yes

       Advertised link modes:  10baseT/Half 10baseT/Full

                               100baseT/Half 100baseT/Full

                               1000baseT/Full

       Advertised auto-negotiation: Yes

       Speed: 1000Mb/s

       Duplex: Full

       Port: Twisted Pair

       PHYAD: 0

       Transceiver: internal

       Auto-negotiation: on

       Supports Wake-on: umbg

       Wake-on: d

       Link detected: yes

2)[root@linux /]# ethtool -i eth1

  driver: e1000

  version: 5.0.43-k1

  firmware-version: N/A

  bus-info: 06:08.1

3)[root@linux /]# ethtool -S eth1

  NIC statistics:

    rx_packets: 58068300

    tx_packets: 87124083

    rx_bytes: 1589713008

    tx_bytes: 2165825901

    rx_errors: 0

    tx_errors: 0

    rx_dropped: 0

    tx_dropped: 0

    multicast: 0

    collisions: 0

    rx_length_errors: 0

    rx_over_errors: 0

    rx_crc_errors: 0

    rx_frame_errors: 0

    rx_fifo_errors: 0

    rx_missed_errors: 0

    tx_aborted_errors: 0

    tx_carrier_errors: 0

    tx_fifo_errors: 0

    tx_heartbeat_errors: 0

    tx_window_errors: 0

4)[root@linux /]# ethtool -s eth1 autoneg off speed 100 duplex full

 

6.7.4       相關

1)[root@linux /]# which ethtool

   /sbin/ethtool

2)[root@linux /]# rpm -qf /sbin/ethtool

  ethtool-1.6-5

3)怎樣使ethtool設置永久保存在網絡設備中?

解決方法一:

   ethtool設置可經過/etc/sysconfig/network-scripts/ifcfg-ethX文件保存,從而在設備下次啓動時激活選項。

例如:ethtool -s eth0 speed 100 duplex full autoneg off

此指令將eth0設備設置爲全雙工自適應,速度爲100Mbs。若要eth0啓動時設置這些參數, 修改文件/etc/sysconfig/network-scripts/ifcfg-eth0 ,添加以下一行:

ETHTOOL_OPTS="speed 100 duplex full autoneg off"

解決方法二:

將ethtool設置寫入/etc/rc.d/rc.local之中。

6.8    free

6.8.1       功能說明

顯示內存狀態。

6.8.2       語法

 free [-bkmotV][-s <間隔秒數>]

6.8.3       補充說明

free指令會顯示內存的使用狀況,包括實體內存,虛擬的交換文件內存,共享內存區段,以及系統核心使用的緩衝區等。

6.8.4       參數

 -b  以Byte爲單位顯示內存使用狀況。 

 -k  以KB爲單位顯示內存使用狀況。 

 -m  以MB爲單位顯示內存使用狀況。 

 -o  不顯示緩衝區調節列。 

 -s<間隔秒數>  持續觀察內存使用情況。 

 -t  顯示內存總和列。 

 -V  顯示版本信息。

6.9    getconf

6.9.1       功能說明

將系統配置變量值寫入標準輸出。

6.9.2       語法

getconf [ -v specification ] [ SystemwideConfiguration | PathConfiguration Pathname] [ DeviceVariable Devicename ]

或getconf -a

6.9.3       描述

用 SystemwideConfiguration 參數調用 getconf 命令,將 SystemwideConfiguration 參數所指定的變量值寫到標準輸出。

用 PathConfiguration 和 Pathname 參數調用 getconf 命令,寫入 PathConfiguration 參數爲 Pathname 參數指定路徑指定的變量值,到標準輸出。

getconf 命令,用 -a 標誌調用,並寫入所有系統配置變量值到標準輸出。

getconf 命令,用 DeviceVariable 和 Devicename 參數調用,寫磁盤設備名或位置的值到標準輸出,設備路徑由 Devicename 參數指定。

若是在系統中定義指定的變量且其值描述爲可從 confstr 子例程獲得,則指定變量的值按如下格式寫入:

「%s\n」,< 值 >

不然,若是在系統中定義指定變量,其值按如下格式寫入:

「%d\n」, < 值 >

若是指定變量是有效的但在系統中未定義,則將如下內容寫入標準輸出:

「undefined\n」

若是變量名無效或出現錯誤,就會有一個診斷消息寫入標準錯誤。

標記 -a specification顯示了指定規格及版本,其配置變量等待肯定。若是該標誌未被指定,返回值將響應一個實現缺省值 XBS5 的相應的編輯環境。

-v 將所有系統配置變量值寫入標準輸出。

6.9.4       參數

Pathname 爲 PathConfiguration 參數指定路徑名。

SystemwideConfiguration指定一個系統配置變量。

PathConfiguration指定一個系統路徑配置變量。

Devicename指定一個設備路徑名。

DeviceVariable指定一個設備變量。

 

當列入如下的表格中的第一列符號被用做 system_var 操做數時,getconf 將產生與用第二列的值調用 confstr 時相同的值。

6.10      groupadd

6.10.1  功能說明

添加羣組。

6.10.2  語法

groupadd [羣組名稱]

6.11      groupdel

6.11.1  功能說明

刪除羣組。

6.11.2  語法

groupdel [羣組名稱]

6.11.3  補充說明

須要從系統上刪除羣組時,可用groupdel指令來完成這項工做。假若該羣組中仍包括某些用戶,則必須先刪除這些用戶後,方能刪除羣組。

6.12      groupmod

6.12.1  功能說明

更改羣組識別碼或名稱。

6.12.2  語法

groupmod [-g <羣組識別碼> <-o>][-n <新羣組名稱>][羣組名稱]

6.12.3  補充說明

須要更改羣組的識別碼或名稱時,可用groupmod指令來完成這項工做。

6.12.4  參數

 -g <羣組識別碼>  設置欲使用的羣組識別碼。 

 -o  重複使用羣組識別碼。 

 -n <新羣組名稱>  設置欲使用的羣組名稱。

6.13      id

6.13.1  功能說明

顯示用戶的ID,以及所屬羣組的ID。

6.13.2  語法

id [-gGnru][--help][--version][用戶名稱]

6.13.3  補充說明

id會顯示用戶以及所屬羣組的實際與有效ID。若兩個ID相同,則僅顯示實際ID。若僅指定用戶名稱,則顯示目前用戶的ID。

6.13.4  參數

 -g或--group  顯示用戶所屬羣組的ID。 

 -G或--groups  顯示用戶所屬附加羣組的ID。 

 -n或--name  顯示用戶,所屬羣組或附加羣組的名稱。 

 -r或--real  顯示實際ID。 

 -u或--user  顯示用戶ID。 

 -help  顯示幫助。 

 -version  顯示版本信息。

6.14      init

6.14.1  功能說明

init是Linux系統操做中不可缺乏的程序之一。

所謂的init進程,它是一個由內核啓動的用戶級進程。

   內核自行啓動(已經被載入內存,開始運行,並已初始化全部的設備驅動程序和數據結構等)以後,就經過啓動一個用戶級程序init的方式,完成引導進程。因此,init始終是第一個進程(其進程編號始終爲1)。

   內核會在過去曾使用過init的幾個地方查找它,它的正確位置(對Linux系統來講)是/sbin/init。若是內核找不到init,它就會試着運行/bin/sh,若是運行失敗,系統的啓動也會失敗。

6.14.2  語法

init [bootflags] [runlevel]

6.14.3  參數

6.14.3.1  Boot flags

- s 切換到單用戶模式

q 從新加載 inittab 文件

a b c 只載入在 runlevel 中有 a b c 的程序。

u 重建自身,並保留狀態

6.14.3.2  Runlevels

(能夠參考Red Hat Linux 裏面的/etc/inittab)

# 0 - 停機(千萬不能把initdefault 設置爲0 )

# 1 - 單用戶模式

# 2 - 多用戶,沒有 NFS

# 3 - 徹底多用戶模式(標準的運行級)

# 4 - 沒有用到

# 5 - X11 (xwindow)

# 6 - 從新啓動 (千萬不要把initdefault 設置爲6 )

6.15      ipcs

6.15.1  功能說明

顯示進程間通訊信息。

6.15.2  語法

ipcs [ -asmq ] [ -tclup ]

ipcs [ -smq ] -i id

ipcs –h

6.15.3  參數

-m   顯示共享內存

-q    顯示消息隊列

-s    顯示信號燈

-a    顯示全部信息,默認爲該選項

6.15.4  例子

$ipcs              #顯示全部信息,包括消息隊列、共享內存、信號燈,與命令ipcs –a等價

$ ipcs

------ Shared Memory Segments --------

key        shmid      owner      perms      bytes      nattch     status     

------ Semaphore Arrays --------

key        semid      owner      perms      nsems    

------ Message Queues --------

key        msqid      owner      perms      used-bytes   messages   

 

$ipcs -m                #顯示共享內存信息

$ ipcs -m

------ Shared Memory Segments --------

key        shmid      owner      perms      bytes      nattch     status     

 

$ipcs -s                 #顯示信號燈信息

$ ipcs -s

------ Semaphore Arrays --------

key        semid      owner      perms      nsems    

 

$ipcs -q                 #顯示消息隊列信息

$ ipcs -q

 

------ Message Queues --------

key        msqid      owner      perms      used-bytes   messages   

6.16      mesg

6.16.1  功能說明

設置終端機的寫入權限。

6.16.2  語法

mesg [ny]

6.16.3  補充說明

將mesg設置y時,其餘用戶可利用write指令將信息直接顯示在您的屏幕上。

6.16.4  參數

  n   不容許將信息直接顯示在你的屏幕上。

  y   容許將信息直接顯示在你的屏幕上。

6.17      passwd

6.17.1  功能說明

設置密碼。

6.17.2  語法

passwd [-dklS][-u <-f>][用戶名稱]

6.17.3  補充說明

passwd指令讓用戶能夠更改本身的密碼,而系統管理者則能用它管理系統用戶的密碼。只有管理者能夠指定用戶名稱,通常用戶只能變動本身的密碼。

6.17.4  參數

  -d  刪除密碼。本參數僅有系統管理者才能使用。 

  -f  強制執行。 

  -k  設置只有在密碼過時失效後,方能更新。 

  -l  鎖住密碼。 

  -s  列出密碼的相關信息。本參數僅有系統管理者才能使用。 

  -u  解開已上鎖的賬號。

6.18      rpm

6.18.1  功能說明

管理套件。

6.18.2  語法

rpm [-acdhilqRsv][-b<完成階段><套間檔>+][-e<套件擋>][-f<文件>+][-i<套件檔>][-p<套件檔>+]

[-U<套件檔>][-vv][--addsign<套件檔>+][--allfiles][--allmatches][--badreloc][--buildroot<根目錄>]

[--changelog][--checksig<套件檔>+][--clean][--dbpath<數據庫目錄>][--dump][--excludedocs]

[--excludepath<排除目錄>][--force][--ftpproxy<主機名稱或IP地址>][--ftpport<通訊端口>]

[--help][--httpproxy<主機名稱或IP地址>][--httpport<通訊端口>][--ignorearch][--ignoreos]

[--ignoresize][--includedocs][--initdb][justdb][--nobulid][--nodeps][--nofiles][--nogpg][--nomd5][--nopgp]

[--noorder][--noscripts][--notriggers][--oldpackage][--percent][--pipe<執行指令>][--prefix<目的目錄>]

[--provides][--queryformat<檔頭格式>][--querytags][--rcfile<配置檔>][--rebulid<套件檔>][--rebuliddb]

[--recompile<套件檔>][--relocate<原目錄>=<新目錄>][--replacefiles][--replacepkgs][--requires]

[--resign<套件檔>+][--rmsource][--rmsource<文件>][--root<根目錄>][--scripts][--setperms][--setugids]

[--short-circuit][--sign][--target=<安裝平臺>+][--test][--timecheck<檢查秒數>][--triggeredby<套件檔>]

[--triggers][--verify][--version][--whatprovides<功能特性>][--whatrequires<功能特性>]

6.18.3  補充說明

rmp本來是Red Hat Linux發行版專門用來管理Linux各項套件的程序,因爲它遵循GPL規則且功能強大方便,於是廣受歡迎。逐漸受到其餘發行版的採用。RPM套件管理方式的出現,讓Linux易於安裝,升級,間接提高了Linux的適用度。

6.18.4  參數

  -a  查詢全部套件。

  -b<完成階段><套件檔>+或-t <完成階段><套件檔>+  設置包裝套件的完成階段,並指定套件檔的文件名稱。

  -c  只列出組態配置文件,本參數需配合"-l"參數使用。 

  -d  只列出文本文件,本參數需配合"-l"參數使用。  

  -e<套件檔>或--erase<套件檔>  刪除指定的套件。

  -f<文件>+  查詢擁有指定文件的套件。 

  -h或--hash  套件安裝時列出標記。 

  -i  顯示套件的相關信息。 

  -i<套件檔>或--install<套件檔>  安裝指定的套件檔。 

  -l  顯示套件的文件列表。 

  -p<套件檔>+  查詢指定的RPM套件檔。 

  -q  使用詢問模式,當遇到任何問題時,rpm指令會先詢問用戶。 

  -R  顯示套件的關聯性信息。 

  -s  顯示文件狀態,本參數需配合"-l"參數使用。 

  -U<套件檔>或--upgrade<套件檔>   升級指定的套件檔。 

  -v  顯示指令執行過程。

  -vv  詳細顯示指令執行過程,便於排錯。 

  -addsign<套件檔>+  在指定的套件里加上新的簽名認證。 

  --allfiles  安裝全部文件。 

  --allmatches  刪除符合指定的套件所包含的文件。 

  --badreloc  發生錯誤時,從新配置文件。 

  --buildroot<根目錄>  設置產生套件時,欲看成根目錄的目錄。 

  --changelog  顯示套件的更改記錄。 

  --checksig<套件檔>+  檢驗該套件的簽名認證。 

  --clean  完成套件的包裝後,刪除包裝過程當中所創建的目錄。 

  --dbpath<數據庫目錄>  設置欲存放RPM數據庫的目錄。 

  --dump  顯示每一個文件的驗證信息。本參數需配合"-l"參數使用。 

  --excludedocs  安裝套件時,不要安裝文件。 

  --excludepath<排除目錄>  忽略在指定目錄裏的全部文件。 

  --force  強行置換套件或文件。 

  --ftpproxy<主機名稱或IP地址>  指定FTP代理服務器。 

  --ftpport<通訊端口>  設置FTP服務器或代理服務器使用的通訊端口。 

  --help  在線幫助。 

  --httpproxy<主機名稱或IP地址>  指定HTTP代理服務器。 

  --httpport<通訊端口>  設置HTTP服務器或代理服務器使用的通訊端口。 

  --ignorearch  不驗證套件檔的結構正確性。 

  --ignoreos  不驗證套件檔的結構正確性。 

  --ignoresize  安裝前不檢查磁盤空間是否足夠。 

  --includedocs  安裝套件時,一併安裝文件。 

  --initdb  確認有正確的數據庫可使用。 

  --justdb  更新數據庫,當不變更任何文件。 

  --nobulid  不執行任何完成階段。 

  --nodeps  不驗證套件檔的相互關聯性。 

  --nofiles  不驗證文件的屬性。 

  --nogpg  略過全部GPG的簽名認證。 

  --nomd5  不使用MD5編碼演算確認文件的大小與正確性。 

  --nopgp  略過全部PGP的簽名認證。 

  --noorder  不從新編排套件的安裝順序,以便知足其彼此間的關聯性。 

  --noscripts  不執行任何安裝Script文件。 

  --notriggers  不執行該套件包裝內的任何Script文件。 

  --oldpackage  升級成舊版本的套件。 

  --percent  安裝套件時顯示完成度百分比。 

  --pipe<執行指令>  創建管道,把輸出結果轉爲該執行指令的輸入數據。 

  --prefix<目的目錄>  若從新配置文件,就把文件放到指定的目錄下。 

  --provides  查詢該套件所提供的兼容度。 

  --queryformat<檔頭格式>  設置檔頭的表示方式。 

  --querytags  列出可用於檔頭格式的標籤。 

  --rcfile<配置文件>  使用指定的配置文件。 

  --rebulid<套件檔>  安裝原始代碼套件,從新產生二進制文件的套件。 

  --rebuliddb  以現有的數據庫爲主,重建一份數據庫。 

  --recompile<套件檔>  此參數的效果和指定"--rebulid"參數相似,當不產生套件檔。 

  --relocate<原目錄>=<新目錄>  把原本會放到原目錄下的文件改放到新目錄。 

  --replacefiles  強行置換文件。 

  --replacepkgs  強行置換套件。 

  --requires  查詢該套件所須要的兼容度。 

  --resing<套件檔>+  刪除現有認證,從新產生簽名認證。 

  --rmsource  完成套件的包裝後,刪除原始代碼。 

  --rmsource<文件>  刪除原始代碼和指定的文件。 

  --root<根目錄>  設置欲看成根目錄的目錄。 

  --scripts  列出安裝套件的Script的變量。 

  --setperms  設置文件的權限。 

  --setugids  設置文件的擁有者和所屬羣組。 

  --short-circuit  直接略過指定完成階段的步驟。

  --sign  產生PGP或GPG的簽名認證。 

  --target=<安裝平臺>+  設置產生的套件的安裝平臺。 

  --test  僅做測試,並不真的安裝套件。 

  --timecheck<檢查秒數>  設置檢查時間的計時秒數。 

  --triggeredby<套件檔>  查詢該套件的包裝者。 

  --triggers  展現套件檔內的包裝Script。 

  --verify  此參數的效果和指定"-q"參數相同。 

  --version  顯示版本信息。 

  --whatprovides<功能特性>  查詢該套件對指定的功能特性所提供的兼容度。 

  --whatrequires<功能特性>  查詢該套件對指定的功能特性所須要的兼容度。

6.19      service

6.19.1  功能說明

啓動、中止、重啓服務

6.19.2  語法

service [service name] [start|stop|restart]

6.19.3  參數說明

service name:這個服務名稱必需要實際存在 /etc/rc.d/init.d 這個目錄下才行

start|stop|restart:基本上,這個與 /etc/rc.d/init.d/service_name 所容許的啓動形式有關.

6.20      setup

6.20.1  功能說明

setup是一個設置公用程序,提供圖形界面的操做方式。在setup中可設置7類的選項:

 1.登錄認證方式 

 2.鍵盤組態設置 

 3.鼠標組態設置 

 4.開機時所要啓動的系統服務 

 5.聲卡組態設置 

 6.時區設置 

 7.X Windows組態設置

6.20.2  語法

setup

6.21      shutdown

6.21.1  功能說明

shutdown 能夠用來進行關機程序,而且在關機之前傳送訊息給全部使用者正在執行的程序,shutdown 也能夠用來重開機。

6.21.2  語法

shutdown [-t seconds] [-rkhncfF] time [message]

6.21.3  參數

    -t seconds : 設定在幾秒鐘以後進行關機程序

  -k : 並不會真的關機,只是將警告訊息傳送給全部只用者

  -r : 關機後從新開機

  -h : 關機後停機

  -n : 不採用正常程序來關機,用強迫的方式殺掉全部執行中的程序後自行關機

  -c : 取消目前已經進行中的關機動做

  -f : 關機時,不作 fcsk 動做(檢查 Linux 檔系統)

  -F : 關機時,強迫進行 fsck 動做

  time : 設定關機的時間

  message : 傳送給全部使用者的警告訊息

6.22      su

6.22.1  功能說明

變動用戶身份。

6.22.2  語法

su [-flmp][--help][--version][-][-c <指令>][-s <shell>][用戶賬號]

 

6.22.3  補充說明

su可以讓用戶暫時變動登入的身份。變動時須輸入所要變動的用戶賬號與密碼。

6.22.4  參數

 -c<指令>或--command=<指令>  執行完指定的指令後,即恢復原來的身份。 

 -f或--fast  適用於csh與tsch,使shell不用去讀取啓動文件。 

 -.-l或--login  改變身份時,也同時變動工做目錄,以及HOME,SHELL,USER,LOGname。此外,也會變動PATH變量。  

 -m,-p或--preserve-environment  變動身份時,不要變動環境變量。 

 -s<shell>或--shell=<shell>  指定要執行的shell。 

 --help  顯示幫助。 

 --version  顯示版本信息。 

 [用戶賬號]  指定要變動的用戶。若不指定此參數,則預設變動爲root。

6.23      sync

6.23.1  功能說明

將內存緩衝區內的數據寫入磁盤。

6.23.2  語法

sync [--help][--version]

6.23.3  補充說明

在Linux系統中,當數據須要存入磁盤時,一般會先放到緩衝區內,等到適當的時刻再寫入磁盤,如此可提升系統的執行效率。

6.23.4  參數

  --help   顯示幫助。

  --version   顯示版本信息。

6.24      uname

6.24.1  功能說明

顯示系統信息。

6.24.2  語法

uname [-amnrsv][--help][--version]

6.24.3  補充說明

uname可顯示電腦以及操做系統的相關信息。

6.24.4  參數

 -a或--all  顯示所有的信息。 

 -m或--machine  顯示電腦類型。 

 -n或-nodename  顯示在網絡上的主機名稱。 

 -r或--release  顯示操做系統的發行編號。 

 -s或--sysname  顯示操做系統名稱。 

 -v  顯示操做系統的版本。 

 --help  顯示幫助。 

 --version  顯示版本信息。

6.25      uptime

6.25.1  功能說明

uptime命令是用來查詢linux系統負載的,能夠顯示

1 當前時間

2 系統已運行時間。

3 在線用戶數

4最近1分鐘、5分鐘、15分鐘系統的平均負載。

6.25.2  語法

uptime [option]

6.25.3              Option

-V

顯示版本信息。

6.26      useradd

6.26.1  功能說明

創建用戶賬號。

6.26.2  語法

useradd [-mMnr][-c <備註>][-d <登入目錄>][-e <有效期限>][-f <緩衝天數>][-g <羣組>][-G <羣組>][-s <shell>][-u <uid>][用戶賬號] 或 useradd -D [-b][-e <有效期限>][-f <緩衝天數>][-g <羣組>][-G <羣組>][-s <shell>]

6.26.3  補充說明

useradd可用來創建用戶賬號。賬號建好以後,再用passwd設定賬號的密碼.而可用userdel刪除賬號。使用useradd指令所創建的賬號,其實是保存在/etc/passwd文本文件中。

6.26.4  參數

 -c<備註>  加上備註文字。備註文字會保存在passwd的備註欄位中。  

 -d<登入目錄>  指定用戶登入時的啓始目錄。 

 -D  變動預設值. 

 -e<有效期限>  指定賬號的有效期限。 

 -f<緩衝天數>  指定在密碼過時後多少天即關閉該賬號。 

 -g<羣組>  指定用戶所屬的羣組。 

 -G<羣組>  指定用戶所屬的附加羣組。 

 -m  自動創建用戶的登入目錄。 

 -M  不要自動創建用戶的登入目錄。 

 -n  取消創建以用戶名稱爲名的羣組. 

 -r  創建系統賬號。 

 -s<shell>   指定用戶登入後所使用的shell。 

 -u<uid>  指定用戶ID。

 

6.27      userdel

6.27.1  功能說明

刪除用戶賬號。

6.27.2  語法

userdel [-r][用戶賬號]

6.27.3  補充說明

userdel可刪除用戶賬號與相關的文件。若不加參數,則僅刪除用戶賬號,而不刪除相關文件。

6.27.4  參數

  -f  刪除用戶登入目錄以及目錄中全部文件。

6.28      usermod

6.28.1  功能說明

修改用戶賬號。

6.28.2  語法

usermod [-LU][-c <備註>][-d <登入目錄>][-e <有效期限>][-f <緩衝天數>][-g <羣組>][-G <羣組>][-l <賬號名稱>][-s <shell>][-u <uid>][用戶賬號]

6.28.3  補充說明

usermod可用來修改用戶賬號的各項設定。

6.28.4  參數

 -c<備註>  修改用戶賬號的備註文字。 

 -d登入目錄>  修改用戶登入時的目錄。 

 -e<有效期限>  修改賬號的有效期限。 

 -f<緩衝天數>  修改在密碼過時後多少天即關閉該賬號。 

 -g<羣組>  修改用戶所屬的羣組。 

 -G<羣組>  修改用戶所屬的附加羣組。 

 -l<賬號名稱>  修改用戶賬號名稱。 

 -L  鎖定用戶密碼,使密碼無效。 

 -s<shell>  修改用戶登入後所使用的shell。 

 -u<uid>  修改用戶ID。 

 -U  解除密碼鎖定。

6.29      vmstat

6.29.1  功能說明

vmstat是Virtual Meomory Statistics(虛擬內存統計)的縮寫,可對操做系統的虛擬內存、進程、CPU活動進行監視。它是對系統的總體狀況進行統計,不足之處是沒法對某個進程進行深刻分析。

6.29.2  語法

vmstat [-V] [-n] [delay [count]]

6.29.3  參數

-V表示打印出版本信息;

-n表示在週期性循環輸出時,輸出的頭部信息僅顯示一次;

delay是兩次輸出之間的延遲時間;

count是指按照這個時間間隔統計的次數。

6.29.4  輸出信息

類別

項目

含義

說明

Procs

r

等待執行的任務數

展現了正在執行和等待CPU資源的任務個數。當這個值超過了CPU數目,就會出現CPU瓶頸了

 

b

 

 

Memory

swpd

正在使用的swap大小單位K

 

 

free

空閒的內存空間

 

 

buff

已使用的buff大小,對塊設備的讀寫進行緩衝

 

 

cache

已使用的cache大小,文件系統的cache

 

 

inact

 

 

 

active

 

 

Swap

si

交換內存使用,由磁盤調入內存

 

 

so

交換內存使用,由內存調入磁盤

 

IO

bi

從塊設備讀入的數據總量(讀磁盤) (KB/s),

 

 

bo

寫入到塊設備的數據總理(寫磁盤) (KB/s)

 

System

in

每秒產生的中斷次數

 

 

cs

每秒產生的上下文切換次數

上面這2個值越大,會看到由內核消耗的CPU時間會越多

CPU

us

用戶進程消耗的CPU時間百分比

us 的值比較高時,說明用戶進程消耗的CPU時間多,可是若是長期超過50% 的使用,那麼咱們就該考慮優化程序算法或者進行加速了

 

sy

內核進程消耗的CPU時間百分比

sy 的值高時,說明系統內核消耗的CPU資源多,這並非良性的表現,咱們應該檢查緣由。

 

id

空閒

 

 

wa

IO等待消耗的CPU時間百分比

wa 的值高時,說明IO等待比較嚴重,這多是因爲磁盤大量做隨機訪問形成,也有多是磁盤的帶寬出現瓶頸(塊操做)。

6.30      wall

6.30.1  功能說明

傳送信息。

6.30.2  語法

wall [公告信息]

6.30.3  補充說明

經過wall指令可將信息發送給每位贊成接收公衆信息的終端機用戶,若不給予其信息內容,則wall指令會從標準輸入設備讀取數據,而後再把所獲得的數據傳送給全部終端機用戶。

6.31      write

6.31.1  功能說明

傳送信息。

6.31.2  語法

write [用戶名稱][終端機編號]

6.31.3  補充說明

經過write指令可傳遞信息給另外一位登入系統的用戶,當輸入完畢後,鍵入EOF表示信息結束,write指令就會將信息傳給對方。若是接收信息的用戶不僅登入本地主機一次,你能夠指定接收信息的終端機編號。

7     更多參考

《Linux in a Nutshell, 5th Edition》http://www.oreillynet.com/linux/cmd/

《Linux Command Reference》http://www.perpetualpc.net/srtd_commands_rev.html

相關文章
相關標籤/搜索