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

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

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

時(shí)間:2015-06-28 00:00:00 來源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評(píng)論(0)

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

  我們?cè)谇耙黄恼轮辛私獾?,?Linux/UNIX 世界中,一切都被看作文件,包括系統(tǒng)管理命令。單獨(dú)對(duì)于組織而言,我們?cè)诒鞠盗械牡谝徊糠种杏懻摿宋募睿⒃诒疚闹刑峁┳钣杏玫南到y(tǒng)診斷和維護(hù)命令。

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

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

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

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

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

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

  通用命令

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

  Uname

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

  $ uname -a

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

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

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

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

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

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

  機(jī)器類型為 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 = ; eol2 = ; 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ā)送一個(gè)終端休止符。退出符號(hào)以 "^\" 即 CNTRL-\ 發(fā)送,而我們可以將其改為 "^X",如下所示:

  $ stty quit ^X

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

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

  $ diff test.out test2.out

  0a1

  > Another test.

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

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

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

  $ date 0101010004

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

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

  $ date +'%H%M%S'

  204748

  您可以在序列中包含空格,這時(shí)您需要使用雙引號(hào):

  $ date +"%H %M %S"

  20 47 51

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

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

  $ date -d '2 day'

  Thu Jan 29 19:02:02 EST 2004

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

  $ date -d '-3 day'

  Sun Jan 25 20:56:59 EST 2004

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

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

  $ ls ls_*.out

  ls_04Feb041633.out

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

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

  Sort 列可以用兩種不同的格式指定。如果使用 -k 選項(xiàng),則列的位置從 1 開始進(jìn)行編號(hào)。您還可以使用 +POS1 格式,從第一列編號(hào)為零開始進(jìn)行列的編號(hào)。以下兩個(gè)命令產(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

  ...

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

  Sort 可用于很多不同的任務(wù)。例如,它可用于對(duì)文件輸出進(jìn)行排序(如 /etc/passwd),或者如我們?cè)谙旅嫠吹降哪菢樱瑢?duì) du 的輸出進(jìn)行排序。當(dāng)使用 -m 選項(xiàng)時(shí),sort 將文件合并,實(shí)際上并沒有對(duì)它們進(jìn)行排序。但是,如果您希望將它們排序,就應(yīng)該在文件合并前對(duì)它們排序。

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

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

  1 Another test.

  1 Testing testing

  2? This is a test.

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

  打印機(jī)控制

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

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

相關(guān)閱讀

文章評(píng)論
發(fā)表評(píng)論

熱門文章 安裝紅帽子RedHat Linux9.0操作系統(tǒng)教程 安裝紅帽子RedHat Linux9.0操作系統(tǒng)教程 Tomcat9.0如何安裝_Tomcat9.0環(huán)境變量配置方法 Tomcat9.0如何安裝_Tomcat9.0環(huán)境變量配置方法 多種操作系統(tǒng)NTP客戶端配置 多種操作系統(tǒng)NTP客戶端配置 Linux操作系統(tǒng)修改IP Linux操作系統(tǒng)修改IP

相關(guān)下載

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