第2章linux常用命令與示例_第1頁
第2章linux常用命令與示例_第2頁
第2章linux常用命令與示例_第3頁
第2章linux常用命令與示例_第4頁
第2章linux常用命令與示例_第5頁
已閱讀5頁,還剩176頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、1第第2章章 命令與示例命令與示例 本章要點:本章要點: 基本基本命令命令 i節(jié)點節(jié)點 管道與重定向管道與重定向 正則表達式正則表達式23為什么要學習命令? 命令對于熟練熟練使用Linux/Unix系統(tǒng)而言是必不可少的 ; 命令行應用的可擴展性、靈活性可擴展性、靈活性更好; 打破了使用Windows時一個鼠標“一點到底”的簡單與乏味,它提供給用戶更大的靈活性與想靈活性與想象空間象空間; 命令已成為Linux/Unix的典型標志典型標志,也已成為Linux/Unix的魅力魅力所在。 421 常用命令與示例常用命令與示例 說明:說明: Linux 命令及其參數命令及其參數是嚴格區(qū)分大小寫區(qū)分大小寫

2、 Linux文件名文件名嚴格區(qū)分大小寫區(qū)分大小寫5211 文件基本操作命令文件基本操作命令1. ls命令命令 ls命令的功能是顯示指定目錄下的文件目文件目錄清單錄清單 相當于dos下的dir命令,而且其參數更加豐富多樣。 6(1)ls示例一示例一不帶參數不帶參數 user1server1 $ lsabc host.conf php.ini功能:顯示指定目錄中的文件清單,如果沒有指定任何目錄,則默認為當前目錄。7(2)ls示例二示例二顯示隱含文件顯示隱含文件 user1server1 $ ls -a. abc .bash_profile .emacs host.conf .viminfo. .b

3、ash_logout .bashrc .gtkrc php.ini .zshrc參數參數-a的功能:顯示隱含文件。說明:若文件名以以“.”開頭,則認為是隱開頭,則認為是隱含的含的,進而普通的ls命令不顯示以“.”開頭的文件;所以要完全顯示某目錄下的文件清單,必須加上-a參數才行。8(3)ls示例三示例三長格式輸出長格式輸出 user1server1 $ ls -ltotal 60drwxrwxr-x 2 user1 user1 4096 Aug 17 09:10 abc- rw- r- r- 1 user1 user1 17 Aug 17 09:04 host.conf- rw- r- r-

4、1 user1 user1 38450 Aug 17 09:04 php.ini參數-l 的功能是:以長格式列表長格式列表輸出指定目錄中的文件清單。9 以上述輸出中文件abc為例 解釋長格式長格式輸出的內容如下: 文件類型文件類型 文件權限文件權限 連接數連接數 屬主屬主 屬組屬組 大小大小 日期日期 時間時間 文件名文件名 d rwxrwxr-x 2 user1 user1 4096 Aug 17 09:10 abc10Linux中的文件類型中的文件類型-:表示普通普通文件。d:表示目錄目錄文件,在Linux中目錄也是文件,不僅如此,實際上在Linux中任何設備也可以被當作文件處理。l:表示

5、符號連接符號連接文件。b:表示塊設備塊設備文件 如硬盤的設備文件/dev/hda,其中字母a表示第一塊,h表示IDE類型的硬盤,SCSI類型的硬盤用s表示; 分區(qū)也有相對應的設備文件,如/dev/sdb3,表示第2塊SCSI硬盤上的第3個分區(qū)。 需要說明的是優(yōu)盤優(yōu)盤也采用SCSI硬盤的設備文件名來表示。11Linux中的文件類型(續(xù))中的文件類型(續(xù))c:表示字符設備字符設備文件,如/dev/tty1。p:表示管道管道文件。s:表示套接字套接字文件。12關于文件權限文件權限的說明 Linux文件有三種典型的權限三種典型的權限,即r讀權限、w寫權限和x執(zhí)行權限。 在長格式輸出中在文件類型的后面有

6、9列權列權限位限位,實際上這是針對不同用戶而設定的,如下所示。屬主的權限屬主的權限 屬組的權限屬組的權限 其他用戶的權限其他用戶的權限rwx rwx r-x13(4)ls示例四示例四遞歸顯示遞歸顯示 user1server1 $ ls -R.:abc host.conf php.ini./abc:a1.txt a2.txt參數參數-R 的功能是:遞歸遞歸顯示指定目錄下的文件清單,即會顯示指定目錄分支內各子目錄中的文件清單。14練習練習以下幾種用法以下幾種用法:ls -lals -Ra /ls -Ral / etc152. pwd命令命令 示例:示例:pwduser1server1 $ pwd/

7、home/user1功能:顯示當前目錄顯示當前目錄。163. mkdir命令命令 (1)mkdir示例一示例一user1server1 $mkdir abc功能:在當前目錄下創(chuàng)建目錄abc17(2)mkdir示例二示例二創(chuàng)建多級目錄創(chuàng)建多級目錄 user1server1 $ mkdir -p a/b/cuser1server1 $ ls R aa:ba/b:ca/b/c:功能:參數參數-p功能功能是如果要創(chuàng)建的目錄的父目錄不存在,則先創(chuàng)建其父目錄,再創(chuàng)建該目錄; 如果指定的目錄存在,則不影響原目錄,也不會報錯。在本示例中會連續(xù)創(chuàng)建a目錄、a/b目錄、a/b/c目錄。184. cd命令命令 (1

8、)cd示例一切換工作目錄切換工作目錄 user1server1 $ cd /varuser1server1 var$ pwd/var功能:將當前的工作目錄切換為/var19(2)cd示例二切換到當前用戶的主目錄切換到當前用戶的主目錄 user1server1 var$ cduser1server1 $ pwd/home/user1功能:不帶參數的cd命令直接將當前的工作目錄切換為該用戶的主目錄。 主目錄又稱為家目錄主目錄又稱為家目錄,在RHEL中是在創(chuàng)建用戶時,自動在/home下為用戶創(chuàng)建一個用其用戶名同名的目錄,并將該目錄的所有權劃歸給該用戶所有。注意:字符字符“”代表代表(當前)用戶的主目

9、錄。205. touch命令命令 (1)touch示例一示例一創(chuàng)建空文件創(chuàng)建空文件 user1server1 $ touch myfileuser1server1 $ ls -l myfile-rw-rw-r- 1 user1 user1 0 Aug 17 11:54 myfile功能:如果如果myfile不存在不存在,則創(chuàng)建一個大小為0字節(jié)名為myfile的空文件。21(2)touch示例二示例二改變文件的最后修改改變文件的最后修改時間時間 再執(zhí)行一次touch myfileuser1server1 $ touch myfileuser1server1 $ ls -l myfile-rw-r

10、w-r- 1 user1 user1 0 Aug 17 11:56 myfile功能:如果如果myfile已存在已存在,則將改變myfile的最后修改時間。226. cp命令命令(1)cp示例一示例一復制文件復制文件 user1server1 $ cp /etc/php.* abc功能:將/etc/目錄下以php.開頭的文件 文件復制到目錄abc中。說明:“*”是通配符,可以匹配多個字符;“?”只能匹配一個字符。 23(2)cp示例二示例二復制目錄復制目錄 user1server1 $ cp -/etc abc功能:增加了參數參數-,就能將目錄/etc下面的所有子目錄和文件都復制到目錄abc中

11、。 247. mv命令命令 (1)mv示例一示例一將文件移動到目錄中將文件移動到目錄中 user1server1 $ mv myfile mydir1功能:如果如果mydir1存在且是個目錄存在且是個目錄,則將文件myfile移動移動到目錄mydir1中。25(2)mv示例二示例二文件改名文件改名 user1server1 $ mv myfile myfile2功能:將文件(或目錄)myfile改名改名為myfile2。268. rmdir命令命令user1server1 $ rmdir mydir1功能:刪除刪除指定的空空目錄目錄。279. rm命令命令 (1)rm示例一示例一刪除文件刪除文

12、件 user1server1 $ rm php.ini功能:刪除刪除指定的文件文件 php.ini。 28(2)rm示例二示例二刪除目錄刪除目錄 user1server1 $ rm -rf abc功能:參數-r是遞歸遞歸的意思,即可以刪除非空目錄;參數-f是強制強制的意思。 本例中abc為非空目錄,讀者可以嘗試是否可用rmdir直接刪除。 2910. cat命令命令 (1)cat示例一示例一顯示文件內容顯示文件內容 user1server1 $ cat myfilehello,world功能:顯示顯示指定文件文件myfile的內容的內容。 30(2)cat示例二示例二創(chuàng)建文件創(chuàng)建文件 user

13、1server1 $ cat myfile2Welcome to Linux World!按按ctrl+d結束輸入功能:利用輸出重定向符輸出重定向符“”來創(chuàng)建創(chuàng)建簡短的文本文件文本文件myfile2。 3111 more和和 less命令命令 $ more /etc/httpd/conf/httpd.conf功能:分屏顯示分屏顯示指定文件httpd.conf的內容,非常適合顯示超過一屏的文本文件。每按一下空格鍵,向后翻一屏;每按一次回車鍵,向后翻一行。說明:與more功能很相似,只不過less功功能更強大能更強大,支持PageUp鍵向前翻屏,及PageDown向后翻屏。 3212. head命

14、令命令 (1)head示例一示例一顯示文件頭顯示文件頭10行內容行內容 $ head /etc/httpd/conf/httpd.conf功能:默認顯示顯示指定文件的頭頭10行行的內容。 33(2)head示例二示例二顯示文件頭顯示文件頭n行內容行內容 $ head -n 19 /etc/httpd/conf/httpd.conf功能:參數-n設置顯示指定行數,本例會顯示文件的頭19行的內容。 3413. tail命令命令 (1)tail示例一示例一顯示文件最后顯示文件最后10行內容行內容 $ tail /etc/httpd/conf/httpd.conf功能:默認顯示顯示指定文件的末尾末尾1

15、0行行的內容。 35(2)tail示例二示例二顯示文件最后顯示文件最后n行內容行內容 $ tail -n 12 /etc/httpd/conf/httpd.conf功能:參數-n設置顯示指定行數指定行數; 本例會顯示文件的末尾末尾12行行的內容。36212 用戶、組管理命令用戶、組管理命令 Linux采用組組來組織和管理用戶 在Linux中每個用戶有唯一的用戶標識符UID,該UID是一個無符號整數。 同時每個用戶也必須至少屬于一個組至少屬于一個組,也有組標識符GID。 其中UID與GID獨立編號。371. groupadd命令命令 (1)groupadd示例一示例一創(chuàng)建組賬號創(chuàng)建組賬號 roo

16、tserver1 # groupadd mygroup1功能:創(chuàng)建一個新組mygroup1,其GID號為已存在GID號的下一個順序編號。說明:創(chuàng)建一個組的同時會在/etc/group文件中為該組增加相應的一行,用來記錄該組的名稱、GID號及成員等信息。 38(2)groupadd示例二示例二創(chuàng)建組賬號并設創(chuàng)建組賬號并設置其置其GID號號 # groupadd -g 5000 mygroup2功能:創(chuàng)建一個新組mygroup2,并指定其指定其GID號為號為5000,其中-g用來設置用戶的主要組,每個用戶都有一個主要組。 392. useradd命令命令 (1)useradd示例一示例一創(chuàng)建用戶賬

17、號創(chuàng)建用戶賬號 rootserver1 # useradd user1功能:創(chuàng)建一個用戶user1,同時在/etc/passwd文件和/etc/shadow文件增加一行,并自動為用戶創(chuàng)建相應的主目錄:/home/user1。說明:/etc/passwd文件記錄了系統(tǒng)中每個用戶的用戶名、UID號、GID號、主目錄、shell等信息。注意:用戶的口令原來也存放在此文件中,現在為了保證安全采用了影子口令文件影子口令文件/etc/shadow來保存每個用戶的口令。40(2)useradd示例二示例二創(chuàng)建用戶賬號并設置創(chuàng)建用戶賬號并設置相應屬性值相應屬性值 # useradd -u 600 -g myg

18、roup1 -G mygroup2 -d /home/student1 s1功能:創(chuàng)建用戶s1,其中參數-u指定UID號為600;-g指定用戶的主要組為mygroup1;-G指定用戶的附加組為mygroup2,每個用戶可以有多個附加組;-d 指定用戶的主目錄為/home/student1。413. userdel命令命令 (1)userdel示例一示例一刪除用戶刪除用戶 rootserver1 # userdel user1 功能:刪除刪除指定的用戶用戶user1。 42(2)userdel示例二示例二刪除用戶的同時刪刪除用戶的同時刪除其主目錄除其主目錄 rootserver1 # userd

19、el -r user2 功能:刪除指定的用戶user2,同時刪除其主目錄。434. groupdel命令命令 rootserver1 # groupdel mygroup2功能:刪除指定的組刪除指定的組注意注意:當某個組是某現有用戶的主要組時,則不能被刪除。 445. passwd命令命令 (1)passwd示例一示例一改變口令改變口令 user1server1 $ passwdChanging password for user user1.Changing password for user1(current) Unix password:New Unix password:BAD PAS

20、SWORD: it is too simplistic/systematicNew Unix password:BAD PASSWORD: is too similar to the old oneNew Unix password:Retype new Unix password:passwd: all authentication tokens updated successfully.功能:普通用戶只可以功能:普通用戶只可以修改修改自己的自己的口令口令 45(2)passwd示例二示例二禁止用戶登錄禁止用戶登錄 rootserver1 # passwd -l user1Locking p

21、assword for user user1.passwd: Success功能:參數參數-l 可以給指定的用戶user1加鎖加鎖,即禁止該用戶登錄。46(3)passwd示例三示例三恢復用戶登錄恢復用戶登錄 rootserver1 # passwd u user1Unlocking password for user user1.passwd: Success.功能:功能:參數參數-u 可以給指定的用戶可以給指定的用戶user1解鎖解鎖,即恢復該用戶登錄。即恢復該用戶登錄。47(4)passwd示例四示例四刪除用戶口令刪除用戶口令 rootserver1 # passwd -d user1R

22、emoving password for user user1.passwd: Success功能:參數參數-d 可以刪除刪除指定的用戶user1口口令令,即以user1登錄時無需口令。486. usermod命令命令 # usermod -u 601 -g 501 s1功能:將(已存在的)用戶s1的UID號修改號修改為601、主要組修改為501說明說明:usermod 還能修改用戶主目錄、登錄shell及口令等,請讀者自行練習。 497. id命令命令 rootserver1 # id user1uid=501(user1) gid=501(user1) groups=501(user1)功

23、能:顯示用戶的顯示用戶的UID、GID及所屬的組信息及所屬的組信息。50213 文件屬性操作命令文件屬性操作命令1. chown命令命令 (1)chown示例一示例一改變文件的屬主改變文件的屬主 rootserver1 # chown user1 hello.txt功能:將指定文件hello.txt的屬主屬主(所有者)改為user1。 51(2)chown示例二示例二遞歸改變文件的屬主遞歸改變文件的屬主 # chown -R user1 mydir功能:參數參數-R,表示遞歸遞歸,即可以深入到指定目錄中的每一層,將所有子目錄和文件的屬主(所有者)改為指定的用戶;本例中會將mydir目錄中所有子

24、目錄和文件的屬主設定為user1。 522. chgrp命令命令 (1)chgrp示例一示例一改變文件的屬組改變文件的屬組 # chgrp mygroup1 hello.txt功能:將指定文件hello.txt的屬組屬組改為mygroup1。 53(2)chgrp示例二示例二遞歸改變文件的屬組遞歸改變文件的屬組 # chgrp -R mygroup1 mydir功能:參數參數-R,表示遞歸遞歸,即可以深入到指定目錄中的每一層,將所有子目錄和文件的屬組改為指定的組;本例中會將mydir目錄中所有子目錄和文件的屬組設定為mygroup1。請讀者試一下:chown R user1:mygroup1

25、mydir 命令的功能。 543. chmod命令命令(1)chmod示例一示例一字母方式字母方式 圖中字母圖中字母u針對屬主、針對屬主、g針對屬組、針對屬組、o針對其他用戶、針對其他用戶、a針針對所有用戶對所有用戶; =表示賦予(設置)指定權限,要注意它會覆蓋原權限,表示賦予(設置)指定權限,要注意它會覆蓋原權限,+表示在原有權限的基礎上增加指定權限,表示在原有權限的基礎上增加指定權限,-表示在原有表示在原有權限的基礎上去掉指定權限;權限的基礎上去掉指定權限; r、w、x三種權限,既可以單獨使用也可以組合使用三種權限,既可以單獨使用也可以組合使用 rwxugoa+-=55$ chmod u+

26、x host.conf功能:為文件host.conf的屬主增加執(zhí)行權限。$ chmod g-w,o=x host.conf功能:將文件host.conf的屬組去掉寫權限,同時將其他用戶設置為只有執(zhí)行權限,而文件屬主的權限不變。56請讀者練習練習如下指令,并體會相應功能。$ chmod ug=rwx,o= host.conf$ chmod ugo=r,ug+wx host.conf57(2)chmod示例二示例二數字方式數字方式 chmod的數字使用方式,使用起來也是很的數字使用方式,使用起來也是很方便的,關鍵是一個方便的,關鍵是一個數制轉換數制轉換的問題。的問題。 這種方式是先將每個權限位化成

27、二進制數,這種方式是先將每個權限位化成二進制數,其中如果某權限位是其中如果某權限位是“-”則用則用0來表示來表示,否,否則用則用1來表示;接著,將這來表示;接著,將這9列權限分為三列權限分為三組(每三位一組),再將每組化成一個八組(每三位一組),再將每組化成一個八進制數。進制數。 例如,某文件有如下權限例如,某文件有如下權限rwxrw-r-,則轉,則轉換為二進制數為換為二進制數為111110100,再化為,再化為八進八進制數則為制數則為764;反之,當看到八進制數;反之,當看到八進制數764時也應該很快轉化為相應權限。時也應該很快轉化為相應權限。58$ chmod 764 host.conf功

28、能功能:將文件:將文件host.conf的權限設置為:的權限設置為:屬主擁有全部權限;屬主擁有全部權限;屬組擁有讀寫權限;屬組擁有讀寫權限;其他用戶擁有執(zhí)行權限。其他用戶擁有執(zhí)行權限。59特殊權限:特殊權限:s權限權限 s權限權限具有改變進程的執(zhí)行身份執(zhí)行身份功能。 原則上,用戶在執(zhí)行某程序的過程中,該進程進程就具有該用戶的身份具有該用戶的身份。 當設置了s權限后,就可以改變該進程改變該進程的運行身份的運行身份,請看如下示例: 60s權限示例:權限示例:rootserver1 # ls -l test.txt -rw- 1 root root 42 Aug 23 10:34 test.txt注

29、意觀察test.txt文件的權限,只有只有root用戶用戶才能讀寫該文件才能讀寫該文件。rootserver1 # cp test.txt /home/user1rootserver1 # which cat/bin/catrootserver1 # cp /bin/cat /home/user1/mycat61 按按ALT+F2切換到第二個控制臺,切換到第二個控制臺,以以user1登錄登錄,并執(zhí)行如下命令:,并執(zhí)行如下命令:user1server1 $ ./mycat test.txt./mycat: test.txt: Permission denied 執(zhí)行上述命令時會報錯,表示沒有相應

30、的訪問權限。 請執(zhí)行l(wèi)s -l test.txt查看相應權限,解釋解釋原因原因。62 接下來,按ALT+F1切換到第一個控制臺,執(zhí)行如下命令:rootserver1 # chmod u+s /home/user1/mycat功能:為文件/home/user1/mycat加上s(SetUID)權限權限,表示當該程序被執(zhí)行時,其執(zhí)行身份為該程序的所有者。執(zhí)行如下命令:rootserver1 # ls -l /home/user1/mycat-rwsr-xr-x 1 root root 19140 Aug 23 11:05 /home/user1/mycat 63 最后,再按ALT+F2切換到第二個

31、控制臺,以user1身份執(zhí)行如下命令:user1server1 $ ./mycat test.txthello,this file can be read only by root!說明:說明:可以看出這次執(zhí)行mycat test.txt,就能夠顯示出test.txt文件的內容,這充分說明“s”權限的作用。 除了本例中u+s,還可以有g+s的用法,請讀者自行練習、體會。 64特殊權限:“t” 權限 特殊權限“t”,又稱為粘滯位粘滯位 。 粘滯位有兩類兩類功能:一是一是針對可執(zhí)行文件而言,設置了粘滯位可以使其第一次運行后在交換分區(qū)在交換分區(qū)swap中保留正文的副本中保留正文的副本,由于交換分區(qū)的

32、文件是連續(xù)存放的,所以下次運行時能較快調入內存較快調入內存。 對于現代文件系統(tǒng)來說,這一功能已經沒有什么實際意義了。 65 目前用的最多是粘滯位的第二類功能,即針對目針對目錄設置粘滯位錄設置粘滯位。 如果對一個目錄設置了粘附位,則只有對于該目錄具有寫權限的用戶且滿足如下三個條件之一,才能刪除或改名該目錄下的文件: 第一是超級用戶第一是超級用戶root, 第二是此目錄的所有者第二是此目錄的所有者, 第三是將被刪除或改名文件的所有者。第三是將被刪除或改名文件的所有者。 實例:這一特性被Linux應用到了/tmp目錄上,即任何人都可以使用該目錄存儲文件,但只有文件所有者和root可以刪除或更名文件。

33、664. umask命令命令 (1)umask示例一示例一顯示文件的創(chuàng)建掩碼顯示文件的創(chuàng)建掩碼 先來看如下命令的執(zhí)行:user1server1 $ touch testuser1server1 $ ls -l test-rw-rw-r- 1 user1 user1 0 Aug 18 11:57 test 發(fā)現文件test的權限是664,再創(chuàng)建幾個文件會發(fā)現權限都是664。 67下面執(zhí)行如下命令下面執(zhí)行如下命令:user1server1 $ umask0002功能:顯示文件創(chuàng)建掩碼顯示文件創(chuàng)建掩碼;文件的被創(chuàng)建后其權限分兩種情況, 一是如果創(chuàng)建的是目錄目錄文件,則用777減去減去文件創(chuàng)建掩碼文件

34、創(chuàng)建掩碼; 二是如果創(chuàng)建的是普通文件普通文件,則用666減去減去文件創(chuàng)建掩碼文件創(chuàng)建掩碼。 本例本例中umask當前值為0002,用touch創(chuàng)建的test是普通文件,所以test的權限=666-0002=664。68(2)umask示例二示例二設置文件的創(chuàng)建掩碼設置文件的創(chuàng)建掩碼 user1server1 $ umask 0006功能功能:先設置文件創(chuàng)建掩碼為0006。請讀者自行練習如下命令,體會相應功能。user1server1 $ touch test2user1server1 $ mkdir dirtest2 695. lsattr命令命令 除了上述介紹的權限位以外,文件還具有若干屬性

35、位,來影響對文件的訪問。user1server1 $ lsattr功能:顯示指定目錄下文件的屬性。 706. chattr命令命令chattr命令可以改變文件的屬性 (1)chattr示例一示例一設置文件的追加屬性設置文件的追加屬性 rootserver1 # chattr +a hello.log功能:參數參數+a的功能是設置文件只能以追加方式打開,即只能向文件末尾追加內容??梢匀缦旅顪y試:rootserver1 # cat hello.log-bash: hello.log: Operation not permittedrootserver1 # cat hello.logadditi

36、onal data Beijingrootserver1 # lsattr hello.log-a- hello.log71(2)chattr示例二示例二設置文件的修改屬性設置文件的修改屬性 rootserver1 # chattr +i test功能:參數參數+i的功能是設置該文件不能被刪不能被刪除、改名、寫入,也不能為其創(chuàng)建硬連接除、改名、寫入,也不能為其創(chuàng)建硬連接(參照下面相關指令)。說明:參數+i經常用來保護一些內容固保護一些內容固定的重要的文件定的重要的文件,即便是root用戶用戶也也要受受到該參數的限制限制。要去掉相應的屬性只需把“+”改為“-”即可。 72214 i節(jié)點及其相關命

37、令節(jié)點及其相關命令 ext2文件系統(tǒng)文件系統(tǒng)是當前Linux上流行的文件系統(tǒng)之一,其主要結構主要結構如圖2-2所示:引導塊 超級塊 i節(jié)點表 數 據 區(qū) 73 引導塊引導塊的功能是負責系統(tǒng)的引導。 超級塊超級塊是用來描述ext2文件系統(tǒng)整體信息的數據結構,其內容非常重要,主要包含了主要包含了i節(jié)點表和數據區(qū)的位置節(jié)點表和數據區(qū)的位置,是ext2文件系統(tǒng)的核心機制。 i節(jié)點表節(jié)點表是ext2文件系統(tǒng)的特色,其內容就是該文件系統(tǒng)中所有i節(jié)點的列表。 74 每一個每一個文件文件都要都要與與一個一個i節(jié)點節(jié)點相關聯相關聯。 i節(jié)點是一個64字節(jié)字節(jié)大小的數據結構,它記錄了文件的重要信息,主要包括文件的

38、屬主、屬組、權限、大小、日期時間屬主、屬組、權限、大小、日期時間以及以及15個數據塊指針個數據塊指針等內容。 i節(jié)點的示意圖請參見下圖所示:7576關于關于i節(jié)點節(jié)點 值得注意的是i節(jié)點中并沒有包含文件名并沒有包含文件名! “目錄文件目錄文件”主要內容主要內容: 包括位于該目錄下的文件的名稱及相應的i節(jié)點號。 文件名到文件名到i節(jié)點的轉換節(jié)點的轉換 : 當通過文件名訪問文件時,首先在目錄中查找是否有相應的文件名存在,若存在,則訪問與該文件名相對應的i節(jié)點,進而通過i節(jié)點中的15個指針定位真正的數據塊。 簡單地說,目錄目錄實現了文件名到實現了文件名到i節(jié)點的轉換節(jié)點的轉換 。77符號連接和硬連接

39、 硬連接硬連接是Unix類操作系統(tǒng)中特有的概念。 本質上本質上,一個一個i節(jié)點節(jié)點可以對應可以對應多個多個文件名文件名,每個文件名都是該每個文件名都是該i節(jié)點的一個硬連接節(jié)點的一個硬連接。 新創(chuàng)建的硬連接與原文件名共用共用同一個i節(jié)點。 需要說明需要說明的是,不能為目錄創(chuàng)建硬鏈不能為目錄創(chuàng)建硬鏈; 而且硬連接也不能跨越文件系統(tǒng)不能跨越文件系統(tǒng)。78符號連接符號連接 符號連接是一種特殊的文件。 與硬連接不同,符號連接采用了新的采用了新的i節(jié)點節(jié)點,這說明它與原文件之間是有著本質區(qū)別的。 符號連接的內容實際上是目標文件名(路徑)而符號連接的內容實際上是目標文件名(路徑)而已已,即是一條指向原(目標

40、)文件的文件名的路徑,相當于Windows系統(tǒng)中的“快捷方式快捷方式”。 符號連接可以跨越文件系統(tǒng)可以跨越文件系統(tǒng),也能夠為目錄能夠為目錄來創(chuàng)建符號連接來創(chuàng)建符號連接。 79可以操縱i節(jié)點的ln命令 (1)ln命令示例一命令示例一建立硬連接建立硬連接 user1server1 $ ln myfile myfile.hlink功能:為文件myfile創(chuàng)建名為myfile.hlink的硬連接。user1server1 $ ls -il180590 -rw-rw-r- 2 user1 user1 12 Aug 17 12:14 myfile180590 -rw-rw-r- 2 user1 user1

41、 12 Aug 17 12:14 myfile.hlink說明:通過ls il 命令可以看出myfile與myfile.hlink的i節(jié)點號(最左面的數)是一樣的,即硬連接與原文件共用同一個i節(jié)點,請注意兩個文件的連接數注意兩個文件的連接數(位于長格式列表中權限位與屬主之間的數)都增加了1變成2了。 80(2)ln命令示例二命令示例二建立符號連接建立符號連接 user1server1 $ ln -s myfile myfile.slink功能:為文件myfile創(chuàng)建名為myfile.slink的符號連接。user1server1 $ ls -li180590 -rw-rw-r- 2 user1

42、 user1 12 Aug 17 12:14 myfile180590 -rw-rw-r- 2 user1 user1 12 Aug 17 12:14 myfile.hlink180606 lrwxrwxrwx 1 user1 user1 6 Aug 21 06:21 myfile.slink - myfile說明:試試用rm命令刪除myfile文件,注意觀察注意觀察連接數的變化連接數的變化,再分別訪問myfile.hlink和myfile.slink,看看是否能夠正常訪問,解釋解釋為什么會有這樣的結果。 81215 查找命令查找命令1. which命令命令user1server1 $ whi

43、ch cp/bin/cpuser1server1 $ which updatedb/usr/bin/updatedb功能:功能:顯示命令的絕對路徑顯示命令的絕對路徑。注意:該命令只能在命令注意:該命令只能在命令搜索路徑搜索路徑指定的指定的目錄中去查找命令或程序。目錄中去查找命令或程序。822. whereis命令命令user1server1 $ whereis lnln: /bin/ln /usr/share/man/man1/ln.1.gz /usr/share/man/man1p/ln.1p.gz功能:功能:查詢指定命令所在目錄以及幫助文檔所在目錄。833. slocate命令命令 use

44、r1server1 $ slocate namedwarning: slocate: could not open database: /var/lib/slocate/slocate.db: No suchfile or directorywarning: You need to run the updatedb command (as root) to create the databasePlease have a look at /etc/updatedb.conf to enable the daily cron job.功能:功能:在其數據庫中,安全快速查找指定的文件在其數據庫中,

45、安全快速查找指定的文件。說明:說明:在第一次使用slocate之前需要用updatedb命令來創(chuàng)建數據庫。注意注意必須以root身份來執(zhí)行updatedb命令。注意,在構造數據庫階段,時間較長。84先介紹一個新命令su user1server1 $ su -Password:rootserver1 #功能功能:是可以是可以切換當前用戶的身份切換當前用戶的身份 su命令帶有參數“-”,其含義是改變身份的同時也改變了工作環(huán)境同時也改變了工作環(huán)境 85 成功切換為root用戶后,接下來執(zhí)行updatedb命令。rootserver1 # updatedb功能:功能:生成slocate所使用的數據庫,

46、由于要為所有文件生成索引為所有文件生成索引,因此花費的時間較長。 在有了數據庫之后,就可使用slocate命令進行快速的查找了。執(zhí)行如下命令:user1server1 $ slocate named864. find命令命令 (1)find示例一示例一按文件名查找按文件名查找# find / -name dhcpd*功能:參數參數-name指明按文件名進行查找,即從/目錄開始查找以dhcpd開頭的所有文件。 87(2)find示例二示例二按文件大小查找按文件大小查找user1server1 $ find /etc -size 8功能:功能:從/etc下開始查找大小為8塊的文件,此處默認512字

47、節(jié)為1塊。若認為塊大小為1k,則應寫為8k。 其它可以使用的單位有其它可以使用的單位有c(字節(jié))、(字節(jié))、w(雙(雙字節(jié))、字節(jié))、M(兆字節(jié))和(兆字節(jié))和G(吉字節(jié))(吉字節(jié))。 88(3)find示例三示例三按文件類型查找按文件類型查找$ find /var -type d -print 功能:從/var目錄下開始查找類型為目錄類型為目錄的文件,其中參數-print是顯示到屏幕上的意思,經常省略。 89(4)find示例四示例四按文件的修改時間查找按文件的修改時間查找user1server1 $ find . -cmin -5功能功能:從當前目錄下查找5分鐘之內修改過的文件。 如果把“

48、-5”改為 “+5”,則表示查找5分鐘以前修改過的文件。不帶“+”或“-”,則認為整5分鐘。 如果把時間單位改為天,則使用參數“-ctime”,請看示例:user1server1 $ find . -ctime -590(5)find示例五示例五按文件的權限查找按文件的權限查找user1server1 $find mytmp -perm 755功能:查找mytmp目錄下的權限恰為755的文件。user1server1 $find mytmp -perm +755功能:查找mytmp目錄下的滿足755中任何一種權限的文件,即符合任何一個指定的權限位即可。user1server1 $find my

49、tmp -perm -755功能:查找mytmp目錄下的權限至少滿足755的文件,即指定的所有權限位必須符合才算滿足查詢條件。 91(6)find示例六示例六多條件查詢多條件查詢$find / -ctime -5 a -name “*.conf” 功能:功能:查找5天以內修改過的所有天以內修改過的所有.conf的文的文件件。說明:說明:默認情況下各查詢條件之間是“與與”的關系,也可用的關系,也可用-a或或 -and 來表示;來表示;-o表示表示“或或”;!表示;!表示“非非”。 92(7)find示例七示例七處理查找到的文件處理查找到的文件$find . -size 0 exec rm ;功能

50、:將當前目錄下大小為0字節(jié)的所有文件刪除;其中參數-exec的功能的功能是針對查找到的文件執(zhí)行后面相應的命令, “”相當于一個占位符相當于一個占位符,當執(zhí)行到“;”時,就用找到的一個文件來替換“”,替換后再執(zhí)行該指令; 要注意注意“”與與“;”之間要有空格之間要有空格,“”與“;”之間沒有空格。93$find . ( -type f -or type l ) ok rm ;功能功能:從當前目錄下開始查找普通文件或符號連接文件,針對找到的每個文件,在執(zhí)行rm命令之前提問是否要執(zhí)行該命令。 其中“( )”是優(yōu)先符號是優(yōu)先符號, 參數“-ok”比比“-exec”多了交互功能多了交互功能。 94216

51、 文件內容操作命令文件內容操作命令 1. grep命令命令 (1)grep示例一示例一在指定的文件中查找包含特在指定的文件中查找包含特定的字符串的行定的字符串的行user1server1 $ grep bind host.conf功能:在文件host.conf中查找包含字符串“bind”行。user1server1 $ grep network /etc/*.conf功能:利用通配符可在多個文件中查找包含特定的字符串的行。本例會在/etc下擴展名為.conf文件中查找包含字符串“network”的行。95(2)grep示例二示例二查找不包含指定字符串查找不包含指定字符串的行的行$ grep -

52、v network /etc/nsswitch.conf功能:查找/etc/nsswitch.conf文件中不不包含字符串“network”的行。 962. wc命令命令(1)wc示例一示例一統(tǒng)計指定文件的行數、統(tǒng)計指定文件的行數、單詞數和字符數單詞數和字符數user1server2 $ wc /etc/nsswitch.conf 63 272 1718 /etc/nsswitch.conf功能:統(tǒng)計出文件/etc/nsswitch.conf共有63行、272個單詞、1718個字符。 97(2)wc示例二示例二參數使用參數使用$ wc -l /etc/nsswitch.conf63 /etc/

53、nsswitch.conf功能:功能:參數-l的功能可統(tǒng)計出指定文件的行數。另外,利用參數-w統(tǒng)計單詞,利用-c統(tǒng)計字符數。 983. sort命令命令(1)sort示例一示例一按正序輸出按正序輸出user1server1 $ sort mytest功能:功能:將指定文件以行為單位按正序正序輸出。(2)sort示例二示例二按逆序輸出按逆序輸出user1server1 $ sort -r mytest功能:功能:將指定文件以行為單位按逆序逆序輸出。 994. diff 命令命令user1server1 $ diff test mytest功能:比較文件test與mytest是否相同,將不同不同之

54、處輸出到屏幕上。 1005. cut 命令命令 cut命令是一個文本提取工具,它以行行為單位,將每行看作一條記錄,而字段之間的分隔符分隔符可以靈活地定義定義。(1)cut示例一示例一按特定的分隔符提取指定的字按特定的分隔符提取指定的字段段user1server2 $ cut -d: -f1 /etc/passwd功能:參數-d用來定義字段之間的分隔符,參數-f指定提取第幾個字段;本例為提取/etc/passwd文件中以“:”為分隔符的第1個字段。 101(2)cut示例二示例二提取指定的字符提取指定的字符$ cut -c1-3,5 /etc/passwd功能:參數-c用來指定提取哪幾列列;本例

55、提取/etc/passwd文件中每行的第1列至第3列和第5列。 102217 壓縮與打包命令壓縮與打包命令 1. tar命令命令 tar命令是經典的備份備份/還原還原命令,幾乎所有最新的軟件包都是通過tar包包發(fā)布的。(1)tar命令示例一命令示例一打包(備份)打包(備份)user1server2 $ tar -cvf myetc.tar /etc功能:參數-c的功能是打包(創(chuàng)建), 參數-v是顯示處理過程, 參數-f是用來指定文檔名; 本例的功能是:將目錄/etc打包為一個名為myetc.tar的文檔。 103(2)tar命令示例二命令示例二打包(備份)并壓縮打包(備份)并壓縮$ tar -

56、zcvf myetc.tar.gz /etc功能:功能:將目錄/etc打包并壓縮打包并壓縮為一個名為myetc.tar.gz的文檔。說明:說明:其中參數-z是調用gzip命令來壓縮,擴展名為gz,參數-Z是調用compress命令來壓縮,擴展名為Z,參數-j是調用bzip2命令來壓縮,擴展名為bz2。104 請嘗試嘗試以下命令,注意擴展名的變化,請讀者自己比較哪種壓縮包最小哪種壓縮包最小。$ tar -Zcvf myetc.tar.Z /etc$ tar -jcvf myetc.tar.bz2 /etc 105(3)tar命令示例三命令示例三解壓縮還原解壓縮還原$ tar -zxvf myet

57、c.tar.gz 功能:將參數-c換成-x即可實現還原釋放的功能。說明:本例沒有指明還原的位置沒有指明還原的位置,則將會還原在當前目錄下; 如果想指明還原位置指明還原位置可用參數-C,請嘗試如下示例:$ tar -zxvf myetc.tar.gz -C /tmp1062. gzip與與gunzip命令命令(1)gzip命令示例命令示例user1server2 $ gzip myetc.tar功能:將文件myetc.tar壓縮為myetc.tar.gz。(2)gunzip命令示例命令示例user1server2 $ gunzip myetc.tar.gz功能:將文件myetc.tar.gz解壓

58、縮為myetc.tar。 107218 掛裝與卸載命令掛裝與卸載命令1. mount 命令命令(1)mount命令示例一命令示例一掛裝光盤掛裝光盤# mount -t iso9660 /dev/cdrom /mnt/cdrom功能:參數-t指明要掛裝的文件系統(tǒng)的類型文件系統(tǒng)的類型,接下來是設備文件,最后是掛裝點掛裝點; 本例的功能是:將光盤掛裝到/mnt/cdrom目錄下,其中光盤文件系統(tǒng)的類型是iso9660。 108(2)mount命令示例二命令示例二掛裝優(yōu)盤掛裝優(yōu)盤# mount -t vfat /dev/sda1 /mnt/myusb功能:將文件系統(tǒng)類型為vfat的優(yōu)盤掛裝到/mnt/

59、myusb目錄下。說明:vfat針對的是FAT32、FAT16文件系統(tǒng);優(yōu)盤采用與SCSI硬盤相同的設備文件; 注意:一般在掛裝優(yōu)盤前,先執(zhí)行#fdisk -l 命令109(3)mount命令示例三命令示例三掛裝軟盤掛裝軟盤# mount -t msdos /dev/fd0 /mnt/floppy功能:將軟盤掛裝到/mnt/floppy目錄下,軟盤的文件系統(tǒng)類型一般為msdos。說明:掛裝點不一定不一定必須在/mnt下,它可以是任意一個空目錄。 1102. umount 命令命令 rootserver2 # umount /mnt/cdrom功能:功能:卸載光盤文件系統(tǒng)卸載光盤文件系統(tǒng)。說明:

60、說明:在卸載文件系統(tǒng)時可以使用設備文件或掛裝點。請讀者自行練習卸載軟盤和優(yōu)盤。切記切記,一定要在掛裝點之外,才能卸載相應的設備(文件系統(tǒng))。 111219 網卡配置命令網卡配置命令 (1)ifconfig命令示例一命令示例一顯示接口(網顯示接口(網卡)配置參數卡)配置參數rootserver2 # ifconfig功能:功能:顯示網卡參數的配置情況,包括IP地址地址、子網掩碼、廣播地址子網掩碼、廣播地址等。 112(2)ifconfig命令示例二命令示例二設置接口(網設置接口(網卡)配置參數卡)配置參數# ifconfig eth0 03 netmask 255.255.25

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論