IT貓撲網(wǎng):您身邊最放心的安全下載站! 最新更新|軟件分類|軟件專題|手機版|論壇轉(zhuǎn)貼|軟件發(fā)布

您當(dāng)前所在位置:首頁操作系統(tǒng)LINUX → Linux系統(tǒng)命令精通指南

Linux系統(tǒng)命令精通指南

時間:2015/6/28來源:IT貓撲網(wǎng)作者:網(wǎng)管聯(lián)盟我要評論(0)

  在"Linux 文件命令精通指南"中,我們討論了利用最基礎(chǔ)和最常用 Linux 文件命令所需的基本信息。在本文中,我將對 Linux 系統(tǒng)命令作同樣的討論。

  我們在前一篇文章中了解到,在 Linux/UNIX 世界中,一切都被看作文件,包括系統(tǒng)管理命令。單獨對于組織而言,我們在本系列的第一部分中討論了文件命令,并將在本文中提供最有用的系統(tǒng)診斷和維護命令。

  對于文件命令,我們在此處詳盡討論了某些相當(dāng)簡單和直觀的管理命令。而只描述了其他較復(fù)雜命令的功能,以便在您需要使用時,知道存在這些命令及其用途。本文不涉及對每個命令使用背后的基本原理的詳細討論,但是我們將討論最基本和最有用的命令,這些命令用于監(jiān)視和管理打印機服務(wù)、文件系統(tǒng)、磁盤和進程。

  有關(guān)超級用戶的更多信息

  這里討論的很多命令可以由常規(guī)用戶在其自己的文件和進程中執(zhí)行。但是,某些命令,如 fdisk,需要有 root 權(quán)限才能運行。

  為了您的系統(tǒng)的完整性,建議您避免直接以 "root" 登錄到系統(tǒng)中。相反,通常更適合以常規(guī)用戶登錄,然后執(zhí)行 su 或從 X window 執(zhí)行 sux 命令來運行系統(tǒng)管理功能。(Sux 為您提供 X window 環(huán)境以及 root 權(quán)限。)當(dāng)您以 root 用戶登錄時,您會始終知道您處于這種狀態(tài),因為您的提示符變?yōu)?quot;#"。

  超級用戶能夠使用 sudo,有選擇地將那些通常為 root 用戶或其他特殊用戶所保留的權(quán)限分配給一個不同的常規(guī)用戶。root 用戶可以定義實際和有效的用戶和組標識號 uid 和 gid,以便與預(yù)期用戶的標識相匹配。這種預(yù)期用戶可以是(但不必是)被允許運行該命令的用戶。

  換言之,超級用戶可以允許其他用戶執(zhí)行某個命令,但也可以確定由進程所產(chǎn)生的任何結(jié)果文件應(yīng)該屬于 root 用戶或任何由超級用戶指定的其他用戶。Sudo 權(quán)限一經(jīng)分配,則只需要用戶使用自己的口令進行驗證,而不需要 root 用戶口令。

  通用命令

  從技術(shù)上講,Uname、diff、date、sort 和 uniq 應(yīng)該看作文件命令,但由于它們經(jīng)常用于診斷和維護例程的系統(tǒng)管理方面,在這里解釋它們更有意義。

  Uname

  Uname 提供了常規(guī)系統(tǒng)信息。當(dāng)指定 -a 選項時,顯示所有可用信息:

  $ uname -a

  Linux linux 2.4.18-4GB #1 Wed Mar 27 13:57:05 UTC 2002 i686 unknown

  在這里我們從左向右看到常規(guī)的系統(tǒng)信息。每條信息都有自己的選項(在下面的圓括號中),可以單獨顯示:

  操作系統(tǒng)名稱為 Linux(-s)。

  本機的網(wǎng)絡(luò)節(jié)點名為 linux (-n)。

  操作系統(tǒng)發(fā)布版本為 4.5.18-4GB (-r)。

  操作系統(tǒng)版本為 #1 Wed Mar 27 13:57:05 UTC 2002 (-v)。

  機器類型為 i686 (-m)。

  這里的處理器類型 (-p) 為未知。

  類似地,stty 顯示關(guān)于您的終端設(shè)置的信息:

  $ stty -a

  speed 38400 baud; rows 40; columns 103; line = 0;

  intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; start = ^Q;

  stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0;

  -parenb -parodd cs8 -hupcl -cstopb cread -clocal -crtscts -ignbrk -brkint -ignpar -parmrk -inpck

  -istrip -inlcr -igncr icrnl ixon -ixoff -iuclc -ixany -imaxbel

  opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0

  isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke

  第二行和第三行顯示了將在命令行分別調(diào)用的特殊字符和鍵序列。例如,"^Z" 即 CNTRL-Z 在本系統(tǒng)中發(fā)送一個終端休止符。退出符號以 "^\" 即 CNTRL-\ 發(fā)送,而我們可以將其改為 "^X",如下所示:

  $ stty quit ^X

  在這種情況下,您實際要輸入 ^ 符號,而不是 CNTRL 鍵。這種改變只在當(dāng)前窗口中起效。為了使這種改變永久生效,需要在您的 .bashrc 文件中輸入該語句。

  Diff 和 Date。顧名思義,Diff 比較兩個文件。它返回那些導(dǎo)致文件不同的行,并返回關(guān)于如何使文件變得相同的一些含義隱晦的輸出:

  $ diff test.out test2.out

  0a1

  > Another test.

  在這里我們被告知,需要將 "Another test." 這一行添加到 test.out,以便使它與 test2.out 相似。第一個字符 "0" 是要在 test.out 中編輯的行號;"a" 表示該行應(yīng)該被添加到 test.out,以便與 test2.out 的第一行 "1" 相匹配。如果我們需要更改 test.out,則第二個字符也可以是 "c",而如果我們需要從 test.out 中刪除一些內(nèi)容,則第二個字符是 "d"。

  您可能希望使一個文件與另一個文件相似,以便為某些代碼提供補丁。diff 還經(jīng)常作為分析工具,用于驗證程序或腳本 — 例如 sed 腳本 — 的輸出是否是所預(yù)期的輸出。

  date 命令可用于顯示或設(shè)置日期。如果用戶具有超級用戶權(quán)限,則他或她可以通過在以下命令中提供一個數(shù)字型字符串來設(shè)置日期:

  $ date 0101010004

  此命令將日期設(shè)置為 2004 年 (04) 1 月 1 日 (0101) 凌晨 1 時 (0100)。

  但是,任何用戶可以用所需的格式來顯示日期。注意在格式序列之前需要一個加號 "+"。如果沒有出現(xiàn)此命令的預(yù)期輸出,則嘗試將它包含在單引號中:

  $ date +'%H%M%S'

  204748

  您可以在序列中包含空格,這時您需要使用雙引號:

  $ date +"%H %M %S"

  20 47 51

  在日期的主頁上列有三十多種不同的格式序列,這些序列可以按需要結(jié)合起來,以獲得您最后的輸出格式。

  date 的輸出還可以用于腳本中,如:

  $ date -d '2 day'

  Thu Jan 29 19:02:02 EST 2004

  -d 選項指示 date 顯示其后字符串中所描述的時間。在上例中,我們要求顯示從現(xiàn)在起(2004 年 1 月 27 日)兩天后的日期。我們也可以要求顯示三天前的日期,其命令為:

  $ date -d '-3 day'

  Sun Jan 25 20:56:59 EST 2004

  date 多種功能的另一個示例是能夠向其輸出附加字符串,為生成唯一的文件名提供了一種便利的方法。

  $ ls -l | cat > $(date +ls_%d%b%y%H%M.out)

  $ ls ls_*.out

  ls_04Feb041633.out

  在這里,我們將一個長文件列表的輸出傳送給 cat,它將我們的輸出再傳送到一個名為 ls_04Feb041609.out 的文件。注意我們?yōu)槲募褂昧艘粋變量,由美元符號 "$" 表示。依次將 "ls_" 和 ".out" 附加到日期,其格式為月份中的日 (%d)、本地的月份名稱縮寫 (%b)、年份的最后兩位數(shù)字 (%y)、小時 (%H) 和分鐘 (%M),從而產(chǎn)生此文件名。

  Sort 和 Uniq。 您可以從管道或從命令行所指定的文件對文本文件的行進行 sort 操作。除非另外指定,sort 對多列輸出的第一列進行操作。在默認情況下,除非使用 -n 選項,數(shù)字型的列按字母順序排序。

  Sort 列可以用兩種不同的格式指定。如果使用 -k 選項,則列的位置從 1 開始進行編號。您還可以使用 +POS1 格式,從第一列編號為零開始進行列的編號。以下兩個命令產(chǎn)生相同的輸出:

  $ ls -l *.out | sort +5 -7

  $ ls -l *.out | sort -k 6,8

  -rw-r--r--    1 bluher   users    375 Dec  5  2002 fdisk.out

  -rw-r--r--    1 bluher   users   2447 Dec 28 20:15 ls.out

  -rw-r--r--    1 bluher   users    590 Jan  4 21:24 greps.out

  -rw-r--r--    1 bluher   users     78 Jan  4 21:25 sgrep.out

  ...

  在默認情況下,sort 命令的列分隔符是空格和制表符?梢允褂 -t SEP 選項指定其他分隔符,其中 SEP 是您指定的分隔符號。sort 的默認順序是從最低到最高,利用 -r 選項可以將順序顛倒。

  Sort 可用于很多不同的任務(wù)。例如,它可用于對文件輸出進行排序(如 /etc/passwd),或者如我們在下面所看到的那樣,對 du 的輸出進行排序。當(dāng)使用 -m 選項時,sort 將文件合并,實際上并沒有對它們進行排序。但是,如果您希望將它們排序,就應(yīng)該在文件合并前對它們排序。

  Sort 經(jīng)常與 uniq 命令一起使用,從已排序的文件中刪除完全相同的行。uniq 命令在管道中經(jīng)常跟在 sort 命令的后面,還可以使用 -c 選項來計算某一行所出現(xiàn)的次數(shù),或者使用 -d 選項,只報告完全相同的行:

  $ sort -m test.out test2_sort.out | uniq -c

  1 Another test.

  1 Testing testing

  2  This is a test.

  在這里我們合并兩個文件 test.out 和 test2_sort.out。然后我們使用 -c 選項,將輸出傳送到 uniq,這樣最后的結(jié)果是按字母順序排列的列表,完全相同的行被刪除,并帶有一個關(guān)于每行出現(xiàn)頻率的報告。

  打印機控制

  在多數(shù)情況下,打印機命令的使用相對較為明確。通過在 lpr 命令后面指定文件名,將作業(yè)發(fā)送到打印機。如果沒有提供文件名,則假定使用標準輸入。使用 lpq 命

關(guān)鍵詞標簽:Linux,系統(tǒng)命令

相關(guān)閱讀

文章評論
發(fā)表評論

熱門文章 安裝紅帽子RedHat Linux9.0操作系統(tǒng)教程安裝紅帽子RedHat Linux9.0操作系統(tǒng)教程使用screen管理你的遠程會話使用screen管理你的遠程會話GNU/Linux安裝vmwareGNU/Linux安裝vmware如何登錄linux vps圖形界面 Linux遠程桌面連如何登錄linux vps圖形界面 Linux遠程桌面連

相關(guān)下載

人氣排行 Linux下獲取CPUID、硬盤序列號與MAC地址linux tc實現(xiàn)ip流量限制dmidecode命令查看內(nèi)存型號linux下解壓rar文件安裝紅帽子RedHat Linux9.0操作系統(tǒng)教程Ubuntu linux 關(guān)機、重啟、注銷 命令lcx.exe、nc.exe、sc.exe入侵中的使用方法查看linux服務(wù)器硬盤IO讀寫負載