版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第五章磁盤文件與目錄管理
程序與數(shù)據(jù)以文件的形式保存在磁盤上,操作系統(tǒng)為了解決文件重名和文件查找問題而采用樹形目錄。對(duì)于用戶而言,只要他有對(duì)文件的訪問權(quán)限就可以按文件名對(duì)文件進(jìn)行存取操作。5.1按名存取
對(duì)于操作系統(tǒng)而言文件的存取必須知道它在磁盤上的位置,即文件所在的盤面、磁道和扇區(qū)這三個(gè)磁盤參數(shù);但對(duì)于普通用戶而言這種要求顯然是不現(xiàn)實(shí)的。為了方便用戶使用文件,可以讓用戶對(duì)文件按名存取,即當(dāng)用戶需要對(duì)某個(gè)文件進(jìn)行操作時(shí)只要指定文件名和文件的路徑名,由操作系統(tǒng)來完成文件名和路徑名到磁盤參數(shù)的轉(zhuǎn)換。因此,各種操作系統(tǒng)對(duì)文件的命名和訪問文件的路徑都有規(guī)定。5.1.1文件命名文件名一般由字母、數(shù)字和某些字符組成,且長度有限制。每一種操作系統(tǒng)對(duì)文件的命名都有自己的規(guī)則,例如MS-DOS的8個(gè)字符的文件名加上3個(gè)字符的擴(kuò)展名,Windows的長文件名(255個(gè)字符)、支持使用空格字符(Windows95及以上版本)等;Linux系統(tǒng)的文件名也是由字母、數(shù)字和某些標(biāo)點(diǎn)符號(hào)組成,但下列字符不能出現(xiàn)在文件名中:!@#$%^&*(){}‘“/\;<>和空格
這是因?yàn)橄到y(tǒng)要把這些字符作為特殊用途,例如,&作為后臺(tái)控制字符、$作為引用變量的控制字符、>作為輸出重定向的控制字符等。但是,在CentOS7的圖形方式下,所建立的目錄名、文件名可以包含空格,也可以正常打開使用,如圖5-1所示;而在字符(控制臺(tái)終端)方式下既不能建立包含空格的目錄和文件也不能打開它,包含空格的文件名命令解釋器(一般默認(rèn)為bash)是無法直接解釋的,將會(huì)告知該目錄或文件不存在,如圖5-2所示。Linux系統(tǒng)同樣支持長文件名,對(duì)文件名長度的限制也是255個(gè)字符。圖5-1圖形方式下包含空格目錄名、文件名圖5-2字符終端上不直接支持目錄名、文件名含空格在字符終端上如果目錄或文件名一定要用空格,則一定要加轉(zhuǎn)義字符;如via\b\c.txt,則建立并編輯名為abc.txt的文件、cda\b\c\d\e才能進(jìn)入名為abcde的子目錄。5.1.2路徑
如果用戶訪問文件時(shí)只給出文件名,則操作系統(tǒng)可能要從根目錄開始逐層查找該文件或包含該文件的子目錄;這樣如果目錄樹很深時(shí),操作系統(tǒng)為找到一個(gè)文件要耗費(fèi)掉許多時(shí)間。因此,采用目錄樹結(jié)構(gòu)的操作系統(tǒng)一般只在用戶指定從根目錄開始查找文件或目錄時(shí)才會(huì)這樣做。顯然,如果用戶能夠指出到達(dá)目標(biāo)文件或目錄的一條通路,則操作系統(tǒng)就不需要在其他無關(guān)的通路上查找,就會(huì)節(jié)省許多的查找時(shí)間;這樣的一條通路就是路徑,即指出目錄或文件在這棵目錄樹上的位置。
在知道了路徑以后,如果還能知道從哪里開始查找,則就能真正加快文件檢索的速度。因此操作系統(tǒng)規(guī)定,從根目錄開始到目標(biāo)文件或目錄為止所經(jīng)過的各級(jí)子目錄通路,稱為絕對(duì)路徑。在Linux系統(tǒng)中,路徑上的各級(jí)子目錄之間用“/”分隔,例如,在/home/stu/zxj/cprogram目錄下有一個(gè)hello.c文件,則該文件的絕對(duì)路徑就是/home/stu/zxj/cprogram/hello.c。
查找文件并非都要從根目錄開始。操作系統(tǒng)為了加快文件檢索的速度設(shè)立了當(dāng)前目錄,所謂當(dāng)前目錄就是用戶當(dāng)前所在的工作目錄,當(dāng)你用cd命令切換到某個(gè)目錄時(shí)該目錄就是你的當(dāng)前工作目錄。因此,假定用戶知道要找的文件或目錄是在當(dāng)前目錄以下的某個(gè)目錄中時(shí),就可以從當(dāng)前目錄開始查找。從當(dāng)前目錄開始到目標(biāo)文件或目錄為止所經(jīng)過的各級(jí)子目錄通路,稱為相對(duì)路徑。路徑上的各級(jí)子目錄之間也是用“/”分隔,例如,用戶當(dāng)前目錄的絕對(duì)路徑是/home/stu/zxj,要查找的文件是在zxj目錄下的cprogram/hello.c,則查找該文件的相對(duì)路徑就是cprogram/hello.c;若要查找cprogram目錄,則其相對(duì)路徑就是cprogram,即該目錄名。當(dāng)使用相對(duì)路徑查找時(shí),第一個(gè)目錄名前不能加上斜杠“/”,否則操作系統(tǒng)會(huì)認(rèn)為從根目錄開始查找。以上這些與路徑相關(guān)的概念與其他常用的、非UNIX類的微機(jī)操作系統(tǒng)相比只是路徑分隔符不同;在MS-DOS和Windows操作系統(tǒng)中路徑分隔符用反斜杠“\”,而在Linux系統(tǒng)中路徑分隔符用“/”(斜桿)。第一章“認(rèn)識(shí)Linux”中也介紹過在Linux系統(tǒng)中沒有驅(qū)符的概念,只有設(shè)備名和目錄,要訪問不同的文件系統(tǒng)或設(shè)備要先安裝該文件系統(tǒng),然后用cd命令進(jìn)入該文件系統(tǒng)的安裝點(diǎn)(目錄)。5.2常用的磁盤、文件和目錄管理命令
磁盤、文件和目錄管理有許多命令,系統(tǒng)管理員常用的磁盤管理命令主要涉及磁盤分區(qū)、磁盤格式化、文件系統(tǒng)檢查、安裝/卸載文件系統(tǒng)、查看磁盤空間的使用情況、查看目錄所用空間等;文件管理命令主要涉及文件權(quán)限的顯示與修改、文件的復(fù)制、移動(dòng)、刪除、查找、壓縮和解壓縮、簡(jiǎn)單信息處理、文件內(nèi)容查看等;目錄管理命令主要涉及目錄建立、改變、刪除和顯示目錄內(nèi)容等。5.2.1磁盤管理5.2.1.1查看磁盤空間的使用情況當(dāng)用戶創(chuàng)建或拷貝文件時(shí),必須保證目標(biāo)文件系統(tǒng)中有足夠的剩余磁盤空間,否則創(chuàng)建或拷貝文件將會(huì)失敗。在Linux系統(tǒng)中,用戶可以使用df(diskfree磁盤剩余空間)命令查看計(jì)算機(jī)系統(tǒng)上每個(gè)文件系統(tǒng)的磁盤空間使用情況;該命令查看的文件系統(tǒng)是指已經(jīng)安裝的文件系統(tǒng),否則無法查看!查看磁盤空間使用情況也可以在圖形方式下完成。1.命令方式命令用法:df[OPTION]...[FILE]...如果指定參數(shù)FILE,則顯示這個(gè)文件所在的文件系統(tǒng)的信息;如果不帶參數(shù)選項(xiàng),則默認(rèn)是顯示除特殊文件系統(tǒng)以外的文件系統(tǒng)所使用磁盤空間的情況。OPTION為命令選項(xiàng)。命令選項(xiàng)及說明:表5-1df命令參數(shù)選項(xiàng)及說明命令選項(xiàng)選項(xiàng)說明-a顯示所有已經(jīng)安裝的文件系統(tǒng)磁盤空間使用情況。-B塊大小值按指定塊的大小(字節(jié)為單位)顯示文件系統(tǒng)信息。-h以容易理解的格式顯示出文件系統(tǒng)大小(例如,1K、等)。-H類似-h,但取1000的次方而不是1024。-i顯示inode(i節(jié)點(diǎn))的使用信息而不是磁盤塊使用量-k|-m指定顯示的塊大小以1KB或以1MB為單位。-l只顯示本機(jī)的文件系統(tǒng)。--no-sync取得使用量數(shù)據(jù)前不進(jìn)行sync操作(默認(rèn))。-P使用POSIX輸出格式。--sync取得使用量數(shù)據(jù)前先進(jìn)行sync操作。-t指定的文件系統(tǒng)類型只顯示指定類型的文件系統(tǒng)信息。-T顯示文件系統(tǒng)類型。-x指定的文件系統(tǒng)類型只顯示非指定類型的文件系統(tǒng)信息。參考示例1:檢查文件系統(tǒng)使用情況,執(zhí)行命令:[stu@localhoststu]$df
顯示結(jié)果:
文件系統(tǒng)1K-塊
已用
可用已用%掛載點(diǎn)/dev/sda31855590451504201340548428%/devtmpfs91589609158960%/devtmpfs93162409316240%/dev/shmtmpfs931624107609208642%/runtmpfs93162409316240%/sys/fs/cgroup/dev/sda130378016037614340453%/boottmpfs18632841863241%/run/user/42tmpfs186328281863001%/run/user/0參考示例2:檢查所有文件系統(tǒng)的使用情況,并以便于閱讀的方式輸出,執(zhí)行命令:[stu@localhoststu]$df–ah
顯示結(jié)果:
文件系統(tǒng)
容量
已用
可用已用%掛載點(diǎn)rootfs----/sysfs000-/sysproc000-/procdevtmpfs895M0895M0%/devsecurityfs000-/sys/kernel/security……tmpfs910M0910M0%/sys/fs/cgroupcgroup000-/sys/fs/cgroup/pids……/dev/sda318G5.0G13G28%/selinuxfs000-/sys/fs/selinuxsystemd-1----/proc/sys/fs/binfmt_miscdebugfs000-/sys/kernel/debughugetlbfs000-/dev/hugepagesmqueue000-/dev/mqueuenfsd000-/proc/fs/nfsd/dev/sda1297M157M141M53%/bootsunrpc000-/var/lib/nfs/rpc_pipefsvmhgfs-fuse0.0K0.0K0.0K-/mnt/hgfsfusectl000-/sys/fs/fuse/connectionstmpfs182M4.0K182M1%/run/user/42tmpfs182M28K182M1%/run/user/0gvfsd-fuse----/run/user/0/gvfsbinfmt_misc000-/proc/sys/fs/binfmt_misc參考示例3:檢查所有文件系統(tǒng)的使用情況,列出所有文件系統(tǒng)的名稱與類型,執(zhí)行命令:[stu@localhoststu]$df–aT
顯示結(jié)果:
文件系統(tǒng)
類型1K-塊
已用
可用已用%掛載點(diǎn)rootfs-----/sysfssysfs000-/sysprocproc000-/procdevtmpfsdevtmpfs91589609158960%/devsecurityfssecurityfs000-/sys/kernel/securitytmpfstmpfs93162409316240%/dev/shmdevptsdevpts000-/dev/pts……/dev/sda3xfs1855590451504281340547628%/selinuxfsselinuxfs000-/sys/fs/selinuxsystemd-1-----/proc/sys/fs/binfmt_miscdebugfsdebugfs000-/sys/kernel/debughugetlbfshugetlbfs000-/dev/hugepagesmqueuemqueue000-/dev/mqueuenfsdnfsd000-/proc/fs/nfsd/dev/sda1xfs30378016037614340453%/bootsunrpcrpc_pipefs000-/var/lib/nfs/rpc_pipefsvmhgfs-fusefuse.vmhgfs-fuse000-/mnt/hgfsfusectlfusectl000-/sys/fs/fuse/connectionstmpfstmpfs18632841863241%/run/user/42tmpfstmpfs186328281863001%/run/user/0gvfsd-fuse-----/run/user/0/gvfsbinfmt_miscbinfmt_misc000-/proc/sys/fs/binfmt_misc如果計(jì)算機(jī)系統(tǒng)采用多配置啟動(dòng),則在硬盤上一般至少有一個(gè)vfat或ntfs類型的文件系統(tǒng),那就是Windows系統(tǒng)下的C盤,但是從參考示例3看不到該文件系統(tǒng),這是因?yàn)樗€沒有安裝(掛接)!參考示例4:安裝windows系統(tǒng)C盤的文件系統(tǒng),列出所有文件系統(tǒng)的名稱,執(zhí)行命令:[root@localhostroot]#mount/dev/sda1/mnt/winc[root@localhostroot]#df
顯示結(jié)果:
文件系統(tǒng)1K-塊
已用
可用已用%掛載點(diǎn)/dev/mapper/centos-root3877018056224483314773215%/devtmpfs92414409241440%/devtmpfs94104409410440%/dev/shmtmpfs941044124729285722%/runtmpfs94104409410440%/sys/fs/cgroup/dev/sda141944060120080002993606029%/mnt/winc/dev/sda3103833623696880136823%/boottmpfs18821241882081%/run/user/42tmpfs188212281881841%/run/user/0從輸出的結(jié)果可以看到,在/dev/sda1下的文件系統(tǒng)掛接在/mnt/winc目錄下,這個(gè)就是C盤上的ntfs類型的文件系統(tǒng)。圖形方式在圖形方式下可以通過“應(yīng)用程序-系統(tǒng)工具”菜單欄下的“系統(tǒng)監(jiān)視器”或“應(yīng)用程序-系統(tǒng)工具”菜單欄下的“磁盤”查看磁盤空間的使用情況,但所獲得的信息比較少,不能顯示磁盤每塊的大小、已用多少塊、已用的百分比等信息。5.2.1.2顯示磁盤上目錄或文件的大小
當(dāng)用戶復(fù)制或移動(dòng)目錄或文件時(shí),可能需要了解磁盤上目錄或文件的大小,以決定是否要復(fù)制、移動(dòng)。在Linux系統(tǒng)中,用戶可以使用du(diskusage磁盤使用量)命令查看計(jì)算機(jī)系統(tǒng)上每個(gè)目錄或文件占用磁盤空間的情況;查看目錄或文件占用磁盤空間的情況也可以在圖形方式下完成。執(zhí)行該命令需要超級(jí)用戶權(quán)限。1.命令方式命令用法:du[OPTION]...[FILE]...
該命令顯示指定的目錄或文件所占用的磁盤空間,缺省單位為KB。如果指定的參數(shù)FILE為文件,則給出該文件的磁盤占用量;如果是目錄,則給出該目錄總的磁盤占用量??梢砸淮沃付ǘ鄠€(gè)目錄或文件。OPTION為命令選項(xiàng)。命令選項(xiàng)及說明:表5-2du命令參數(shù)選項(xiàng)及說明命令選項(xiàng)選項(xiàng)說明-a不僅顯示目錄的空間占用情況,而且顯示目錄中所有文件的空間占用情況。-B塊大小值按指定塊的大小(字節(jié)為單位)顯示目錄或文件的占用塊數(shù)信息。-b顯示的結(jié)果以字節(jié)為單位而不是以磁盤塊為單位。-c在處理完所有指定的目錄參數(shù)后顯示這些目錄總共占用磁盤空間的情況。-D對(duì)于在命令參數(shù)中給出的符號(hào)鏈接文件,顯示該鏈接所指向文件的空間占用情況,而不是該鏈接文件本身占用的空間。但對(duì)于非命令參數(shù)中給出的符號(hào)鏈接文件,顯示的是其本身占用的空間。-h以容易理解的格式顯示出文件或目錄的大小(例如,1K、等)。-H類似-h,但取1000的次方而不是1024。-k指定顯示的塊大小以1KB為單位。-l硬鏈接文件的大小也計(jì)算在內(nèi)。-L對(duì)于符號(hào)鏈接文件,顯示其所指向的文件的空間占用情況,而不是該鏈接文件本身占用的空間。-S只顯示每個(gè)目錄自己占用的空間,不包括該目錄中的子目錄所占用的空間。-s對(duì)于參數(shù)中指定的目錄,只顯示該目錄總共占用的空間,而不顯示該目錄中的子目錄所占用的空間。-x略過不在當(dāng)前文件系統(tǒng)中的目錄。參考示例1:
列出當(dāng)前目錄下所有文件所占用的磁盤空間,執(zhí)行命令:[root@localhostzxj]#du–ab 顯示結(jié)果:
14366 ./df.doc744 ./fdisk.doc15107 ./fsck.doc4235 ./grub.cfg106 ./grub.d.doc1282 ./meminfo3262 ./mkfs.doc617 ./mkfs.xfs.doc39857 . 顯示該目錄下每個(gè)文件所占用的磁盤空間,以及當(dāng)前目錄(.)所占據(jù)磁盤的總空間。磁盤空間單位為字節(jié)。參考示例2:列出/var目錄占用的磁盤空間,并給出統(tǒng)計(jì)信息,執(zhí)行命令:[root@localhostzxj]#du–bc/var
顯示結(jié)果: 6 /var/tmp/abrt …… 11887523 /var/spool 72630272 /var/lib/rpm 102400 /var/lib/games/gnuchess …… 36864 /var/state/linuxconf 40960 /var/state 270479360 /var 270479360 總用量
除了顯示/var目錄下的每個(gè)文件及該目錄本身所占據(jù)的磁盤空間外,還給出該目錄下所有子目錄磁盤空間的總用量。單位為字節(jié)。圖形方式在圖形方式下可以通過桌面或文件窗口里的目錄圖標(biāo),用鼠標(biāo)左鍵雙擊進(jìn)入各級(jí)需要的目錄窗口查看。鼠標(biāo)右鍵單擊要查看的目錄或文件,在彈出式菜單上選擇“屬性”并單擊左鍵打開“屬性”對(duì)話框。采用這種方式時(shí),如果選擇的是目錄,則只能顯示該目錄下有多少項(xiàng)、總共占用多少磁盤空間,不能同時(shí)顯示該目錄下每個(gè)文件的占用空間信息。如果選擇的是文件,則只能顯示該文件的大?。ㄕ紦?jù)的空間)。如圖5-3所示。圖5-3圖形方式查看目錄大小5.2.2文件與目錄管理5.2.2.1目錄切換
當(dāng)用戶需要對(duì)某個(gè)目錄下的若干文件進(jìn)行編輯、復(fù)制、刪除或移動(dòng)等操作時(shí),最方便的做法就是進(jìn)入該目錄,以免每次對(duì)一個(gè)文件的操作都要給出絕對(duì)路徑名。因此,從一個(gè)目錄進(jìn)入到另一個(gè)目錄就是目錄的切換。在命令行方式下使用cd命令切換目錄。
命令用法:cd[dir]
參數(shù)dir為要切換到的路徑目錄名。如果沒有給出路徑名,則系統(tǒng)在當(dāng)前目錄下查找目錄;路徑既可以是絕對(duì)路徑也可以是相對(duì)路徑,如果切換的是當(dāng)前目錄下的子目錄,則可以使用相對(duì)路徑,否則應(yīng)該使用絕對(duì)路徑。
與命令行方式相比,在圖形方式下切換目錄非常方便,只要在打開的目錄窗口中找到所需要的目錄圖標(biāo)并用鼠標(biāo)左鍵雙擊它即可。5.2.2.2顯示當(dāng)前目錄
用戶有時(shí)需要知道自己當(dāng)前所在工作目錄的絕對(duì)路徑信息。如果是工作在圖形方式下,則在打開的目錄窗口“位置”輸入框中可以方便地看到自己所在工作目錄的絕對(duì)路徑;如果是工作在命令行方式下,則可以使用pwd命令查看。
命令用法:pwd[OPTION]
該命令沒有參數(shù),OPTION為命令選項(xiàng)。
選項(xiàng)說明:選項(xiàng)說明--help顯示幫助信息。
在Linux系統(tǒng)中的絕大多數(shù)命令都有這兩個(gè)選項(xiàng),以后介紹命令時(shí)不再提及它們。5.2.2.3建立目錄表5-3pwd命令的選項(xiàng)及說明
當(dāng)用戶需要對(duì)自己的文件分類存放或需要把某些文件讓其他用戶共享時(shí)就需要建立相應(yīng)的目錄。建立目錄既可以在命令行方式下,也可以在圖形方式下。1.命令行方式在命令行方式下建立目錄使用mkdir命令。它能根據(jù)命令的參數(shù)選項(xiàng)在指定的位置(目錄)下建立目錄,當(dāng)然用戶必須要擁有該位置的寫權(quán)。
命令用法:mkdir[OPTION]DIRECTORY… OPTION為命令選項(xiàng),參數(shù)DIRECTORY…為所要建立目錄的列表。如果參數(shù)所指定的目錄已經(jīng)存在,則該命令無法建立目錄。--version顯示版本信息。
部分選項(xiàng)說明:選項(xiàng)說明-m在建立目錄時(shí),設(shè)置目錄的權(quán)限。權(quán)限設(shè)置方法與chmod命令相同。-p如果所要建立目錄的上級(jí)目錄不存在,則一起建立。-v顯示命令執(zhí)行的詳細(xì)過程。表5-4mkdir命令的選項(xiàng)及說明mkdir命令使用注意點(diǎn):命令mkdir不能省略為md。系統(tǒng)默認(rèn)新建立目錄的用戶權(quán)限數(shù)字代碼為755,即文件主為可讀、寫、執(zhí)行(rwx),同組用戶和其他用戶為可讀、執(zhí)行(r-x)。如果默認(rèn)的目錄權(quán)限無法滿足要求,則使用-m選項(xiàng)設(shè)置。參考示例1:建立名為public的目錄,讓所有的用戶都有rxw權(quán)限。 mkdir–m777public 或mkdir–ma=rwxpublic
參考示例2:在當(dāng)前目錄stu下建立stu1/pro/fox目錄,但stu目錄下沒有任何目錄存在。mkdir–pstu1/pro/fox
本例中由于fox目錄的上級(jí)目錄不存在,所以如果不使用-p選項(xiàng),則系統(tǒng)提示無法創(chuàng)建這些目錄。2.圖形方式在圖形方式下建立目錄非常方便,只要在相應(yīng)目錄窗口的空白處單擊鼠標(biāo)右鍵,在彈出式的菜單中選擇“新建文件夾”并用鼠標(biāo)左鍵單擊,在新建文件夾窗口的文件夾名輸入框中輸入目錄名即可。5.2.2.4文件或目錄復(fù)制對(duì)用戶而言,復(fù)制文件或目錄就是把需要的文件或目錄從目錄樹上的一個(gè)位置復(fù)制到另一個(gè)指定的位置。復(fù)制文件或目錄可以在命令行方式下,也可以在圖形方式下進(jìn)行。命令行方式在命令行方式下采用cp命令復(fù)制文件或目錄。
命令用法: cp[OPTION]...SOURCEDEST或cp[OPTION]...SOURCE...DIRECTORY或cp[OPTION]...--target-directory=DIRECTORYSOURCE...
其中,OPTION為命令選項(xiàng),參數(shù)SOURCE為源文件、SOURCE...為源文件列表、DEST為目標(biāo)文件、DIRECTORY為目標(biāo)目錄。部分命令選項(xiàng)及說明:命令選項(xiàng)選項(xiàng)說明-a等價(jià)于同時(shí)指定-dpR選項(xiàng)。-b復(fù)制時(shí)若目標(biāo)文件存在,則為已存在的目標(biāo)文件創(chuàng)建備份文件。-d當(dāng)復(fù)制符號(hào)鏈接文件或目錄時(shí),把目標(biāo)文件或目錄也建立為符號(hào)鏈接的文件或目錄,并指向與源文件或目錄鏈接的原始文件或目錄。如果不加該選項(xiàng),則復(fù)制中在遇到符號(hào)鏈接文件或目錄時(shí),不是重新建立一個(gè)指向該原始文件或目錄的符號(hào)鏈接文件或目錄,而是直接復(fù)制該鏈接所指向的原始文件或目錄。-f無論目標(biāo)文件或目錄是否存在,都強(qiáng)制復(fù)制文件或目錄。-i覆蓋文件或目錄前要求用戶確認(rèn)。-H復(fù)制命令行中符號(hào)鏈接文件所指向的原始文件。-l對(duì)源文件建立硬鏈接,而非復(fù)制文件。-p復(fù)制文件或目錄時(shí),保留源文件或目錄的屬性,包括擁有者、所屬組群、權(quán)限與時(shí)間。-P復(fù)制文件或目錄時(shí),保留源文件或目錄的路徑(絕對(duì)或相對(duì)路徑),且目標(biāo)目錄必須存在。表5-5cp命令選項(xiàng)及說明-r或-R遞歸處理,將指定目錄下的文件和子目錄一起復(fù)制。-s對(duì)源文件只是創(chuàng)建符號(hào)鏈接,而不是復(fù)制文件。-S尾字符串系統(tǒng)預(yù)設(shè)的備份文件尾字符串是“~”;用該選項(xiàng)可以修改它。--target-directory=目錄名將命令中所有SOURCE...參數(shù)指定的源文件或目錄復(fù)制到指定的目標(biāo)目錄。-u只在源文件日期比目標(biāo)文件新,或目標(biāo)文件不存在時(shí)才進(jìn)行復(fù)制。-v顯示命令執(zhí)行的詳細(xì)信息。-x不會(huì)在不同的文件系統(tǒng)之間進(jìn)行復(fù)制操作。
使用cp命令的注意點(diǎn):要注意是否有源、目標(biāo)文件的讀、寫權(quán)限。系統(tǒng)為了用戶文件安全實(shí)際上已經(jīng)添加了–i參數(shù),以提示同名覆蓋確認(rèn)。源、目標(biāo)既可以是文件名,也可以是目錄名。cp命令還有很多選項(xiàng),使用中可以利用聯(lián)機(jī)幫助。參考示例1:復(fù)制文件file1、file2、file3與目錄directory1到目錄directory2下。cp–Rfile1file2file3directory1directory2
本例由于源目錄中還有目錄存在,所以必須加-R選項(xiàng),否則目錄無法復(fù)制。如果源文件或目錄超過一個(gè),則目標(biāo)目錄必須存在,否則會(huì)出現(xiàn)錯(cuò)誤信息。
參考示例2:復(fù)制符號(hào)鏈接文件sever到目標(biāo)目錄/home/stu下。cp–dsever/home/stu/
本例是復(fù)制符號(hào)鏈接文件,如果不使用-d選項(xiàng),則復(fù)制的是符號(hào)鏈接文件所指向的原始文件。
參考示例3:復(fù)制/var/tmp/netvigator文件到目錄twngsm下。cp–P/var/tmp/netvigatortwngsm
本例由于使用了-P選項(xiàng),所以文件netvigator將會(huì)在twngsm/var/tmp目錄中,而不是在twngsm目錄中。另外,目標(biāo)目錄twngsm目錄必須存在。2.圖形方式圖形方式下復(fù)制文件或目錄非常簡(jiǎn)單,與Windows系統(tǒng)下的復(fù)制操作類似。在一個(gè)打開的目錄窗口中選擇源文件或目錄(一個(gè)或多個(gè),如果是多個(gè),則按住Ctrl鍵),單擊鼠標(biāo)右鍵,在彈出式菜單中選擇“復(fù)制文件”;再在另一個(gè)目錄窗口中的空白處單擊鼠標(biāo)右鍵,在彈出式菜單中選擇“粘貼文件”即可完成文件或目錄的復(fù)制操作。此外,也可以在選中的文件或目錄圖標(biāo)上按住鼠標(biāo)左鍵不放,拖動(dòng)到另一個(gè)目錄窗口中。5.2.2.5移動(dòng)文件或目錄移動(dòng)實(shí)際上就是把選中的源文件或目錄復(fù)制到目錄樹上某個(gè)指定的位置,再把源文件刪除。移動(dòng)文件或目錄可以在命令行方式下,也可以在圖形方式下進(jìn)行。1.命令行方式在命令行方式下采用mv命令移動(dòng)文件或目錄,該命令也可用于為文件或目錄更名。
命令用法: mv[OPTION]...SOURCEDEST 或 mv[OPTION]...SOURCE...DIRECTORY 或mv[OPTION]...--target-directory=DIRECTORYSOURCE...
該命令的參數(shù)與cp命令相同,命令選項(xiàng)也很類似。
部分命令選項(xiàng)及說明:命令選項(xiàng)選項(xiàng)說明-b移動(dòng)時(shí)若目標(biāo)文件存在,則為已存在的目標(biāo)文件創(chuàng)建備份文件。-f強(qiáng)制移動(dòng)文件或目錄,若要覆蓋,無須用戶確認(rèn),。-i覆蓋文件或目錄前要求用戶確認(rèn)。-n不覆蓋已存在的文件。-S尾字符串系統(tǒng)預(yù)設(shè)的備份文件尾字符串是“~”;用該選項(xiàng)可以修改它。-u只在源文件日期比目標(biāo)文件新,或目標(biāo)文件不存在時(shí)才進(jìn)行移動(dòng),文件更名時(shí)也是如此。-v顯示命令執(zhí)行的詳細(xì)信息。表5-6mv命令選項(xiàng)及說明使用mv命令的注意點(diǎn)與使用cp命令類似。
參考示例1:在當(dāng)前目錄下移動(dòng)文件sudo.txt、suid.txt和目錄bin到目標(biāo)目錄/home/stu/temp下。$mvsudo.txtsuid.txtbin/home/stu/temp
移動(dòng)文件或目錄時(shí),如果目標(biāo)目錄不存在,則系統(tǒng)會(huì)自動(dòng)建立。本例沒有使用-i選項(xiàng),但系統(tǒng)會(huì)默認(rèn)覆蓋前提請(qǐng)用戶確認(rèn)。
參考示例2:把當(dāng)前目錄下文件sudo.txt更名為sd.txt,如果sd.txt存在,則將它備份為sd.txtbak文件。$mv–b–Sbaksudo.txtsd.txt
本例用-b選項(xiàng)實(shí)現(xiàn)同名目標(biāo)文件的備份,用-S選項(xiàng)把系統(tǒng)預(yù)設(shè)的備份文件尾字符串“~”修改為bak字符串。圖形方式圖形方式下移動(dòng)文件或目錄非常簡(jiǎn)單,與Windows系統(tǒng)下的移動(dòng)操作類似。在一個(gè)打開的目錄窗口中選擇源文件或目錄(一個(gè)或多個(gè),如果是多個(gè),則按住Ctrl鍵),單擊鼠標(biāo)右鍵,在彈出式菜單中選擇“剪切文件”;再在另一個(gè)目錄窗口中的空白處單擊鼠標(biāo)右鍵,在彈出式菜單中選擇“粘貼文件”即可完成文件或目錄的移動(dòng)操作。5.2.2.6刪除空目錄
當(dāng)系統(tǒng)中有空目錄要?jiǎng)h除時(shí),可以使用rmdir命令。如果所指定刪除的目錄非空,則會(huì)出現(xiàn)錯(cuò)誤信息。
命令用法:rmdir[OPTION]…DIRECTORY… OPTION為命令選項(xiàng),參數(shù)DIRECTORY…為要?jiǎng)h除的空目錄列表。命令選項(xiàng)及說明:表5-7rmdir命令的選項(xiàng)及說明命令選項(xiàng)選項(xiàng)說明--ignore-fail-on-non-empty忽略刪除非空目錄時(shí)錯(cuò)誤信息(沒有刪除目錄)。-p刪除指定的空目錄后,若其上級(jí)目錄也已為空時(shí)則一起刪除。-v顯示命令執(zhí)行的詳細(xì)過程。5.2.2.7刪除文件或目錄對(duì)于一些不再使用的文件或目錄,用戶或系統(tǒng)管理員都應(yīng)該及時(shí)刪除它們,以便讓出更多的磁盤空間保證系統(tǒng)穩(wěn)定地運(yùn)行。刪除文件或目錄既可以在命令行方式下,也可以在圖形方式下。1.命令行方式在命令行方式下,刪除文件或目錄使用rm命令。如果用戶刪除文件,則該用戶必須要有對(duì)所刪除文件的寫權(quán)限;如果用戶刪除目錄,則該用戶除了對(duì)所刪除目錄必須有寫權(quán)限外,還要有執(zhí)行的權(quán)限才能進(jìn)入目錄。
命令用法:rm[OPTION]...FILE...其中,OPTION為命令選項(xiàng),F(xiàn)ILE…為命令參數(shù)、指定要?jiǎng)h除文件或目錄的列表。部分命令選項(xiàng)及說明:表5-8rm命令的選項(xiàng)及說明命令選項(xiàng)選項(xiàng)說明-d可以刪除非空的目錄(只限超級(jí)用戶)。-f強(qiáng)制刪除文件或目錄。該選項(xiàng)會(huì)忽略放在它前面的-i選項(xiàng)。-i刪除文件或目錄前先請(qǐng)用戶確認(rèn)(默認(rèn))。該選項(xiàng)會(huì)忽略放在它前面的-f選項(xiàng)。-r或-R遞歸處理,將指定目錄下的所有文件和子目錄一起刪除。-v顯示命令執(zhí)行的詳細(xì)過程。
使用rm命令的注意點(diǎn):如果用rm命令刪除目錄,則一定要使用-r或-R選項(xiàng);否則無法刪除目錄。要?jiǎng)h除第一個(gè)字符為‘-’的文件(例如‘-foo’),請(qǐng)使用以下其中一種方法:rm---foo 或 rm./-foo如果使用rm命令刪除文件,通??梢詫⒃撐募謴?fù)。如果想保證文件的內(nèi)容無法還原可以使用shred命令,但shred命令對(duì)許多種文件系統(tǒng)是無效的,包括ext3。
參考示例:刪除當(dāng)前目錄中的所有文件和子目錄。 rm–r*
由于系統(tǒng)默認(rèn)加入-i選項(xiàng),所以每刪除一個(gè)文件或目錄都會(huì)要求用戶確認(rèn),如果無需確認(rèn),則可以增加-f選項(xiàng)。2.圖形方式在圖形方式下要?jiǎng)h除文件或目錄時(shí)可以在一個(gè)打開的目錄窗口中選擇要?jiǎng)h除的文件或目錄(一個(gè)或多個(gè),如果是多個(gè),則按住Ctrl鍵單擊文件圖標(biāo)),單擊鼠標(biāo)右鍵,在彈出式菜單中選擇“移動(dòng)到回收站”,這種方式刪除的文件或目錄是可以恢復(fù)的;如果要徹底地刪除,則可以在選中文件或目錄后按“Del”鍵刪除。5.2.2.8顯示目錄內(nèi)容在Linux系統(tǒng)中,要顯示當(dāng)前目錄下的文件和目錄在圖形方式下非常直觀,但是有些功能被分散到若干個(gè)系統(tǒng)圖形應(yīng)用程序中實(shí)現(xiàn),所以使用上沒有用命令行方式快捷。1.命令行方式顯示當(dāng)前目錄下的文件和目錄使用ls命令,它是用戶最常用的一條命令,其功能類似于MS-DOS下的dir命令,但是它的功能更強(qiáng)大、參數(shù)和選項(xiàng)也更多。例如,可以遞歸列出當(dāng)前目錄下各子目錄的所有內(nèi)容等。
命令用法:ls[-OPTION]…[FILE]…
參數(shù)FILE…是指定列出的文件或目錄列表,OPTION為命令選項(xiàng)。命令中如果不指定選項(xiàng)和參數(shù),則系統(tǒng)默認(rèn)列出當(dāng)前目錄下除隱藏文件、本級(jí)目錄(.)和上級(jí)目錄(..)以外的所有文件。
部分命令選項(xiàng)及說明:命令選項(xiàng)選項(xiàng)說明-1每列只顯示一個(gè)文件或目錄名稱。-a顯示所有文件,包括隱藏文件、本級(jí)和上級(jí)目錄。-A顯示所有文件,包括隱藏文件,但不包括本級(jí)和上級(jí)目錄。-b以八進(jìn)制顯示非圖形的轉(zhuǎn)義字符。-B忽略備份文件和目錄。不顯示名稱具有備份字尾字符“~”的文件或目錄。-c所顯示的文件和目錄按它們的修改時(shí)間排序。如果與-l選項(xiàng)一起使用可以顯示修改時(shí)間。--color=[WHEN]設(shè)置是否使用顏色區(qū)分文件類型。參數(shù)WHEN可以是“never”,“always”,或“auto”。-C按從上到下、從左到右的分欄方式顯示文件和目錄名稱(系統(tǒng)默認(rèn)方式)。-d顯示目錄名稱,而不是目錄的內(nèi)容。讀者可以自己比較ls/bin與ls–d/bin的差別。-f不對(duì)目錄中的文件排序,而是直接按照文件在磁盤中的存放順序顯示。-F在可執(zhí)行文件、目錄、Socket、符號(hào)鏈接文件、管道文件后面各自加上“*”、“/”、“=”、“@”、“|”符號(hào)。--full-time顯示效果與用-l選項(xiàng)類似,但列出完整的日期與時(shí)間。-g除了不列出文件主信息外,顯示結(jié)果與-l選項(xiàng)一樣。-G該選項(xiàng)與-l一起使用時(shí)其效果與-o選項(xiàng)一樣,即不顯示組群名稱。-h以容易理解的形式顯示文件或目錄的大小,即以K、M、G為單位。該選項(xiàng)要與-l、-o等一起使用。--si該選項(xiàng)的顯示效果與-h類似,但計(jì)算單位是1000Bytes而不是1024Bytes。-i顯示文件和目錄的inode編號(hào)。-I范本模式或--ignore=范本模式不顯示符合范本模式的文件或目錄。注意:-I與范本模式之間沒有空格。如ls–If*,則不顯示所有以f開頭的文件或目錄。-k指定顯示時(shí),塊的大小為1K。效果同選項(xiàng)--block-size=1K。-l使用詳細(xì)格式顯示。使用該選項(xiàng)后,ls命令會(huì)將權(quán)限標(biāo)識(shí)、硬鏈接數(shù)目、擁有者與組群名稱、文件或目錄大小以及修改時(shí)間等信息一起顯示。-L對(duì)符號(hào)鏈接文件或目錄直接列出該鏈接所指向的原始文件或目錄。除名稱之外,其他各項(xiàng)如權(quán)限標(biāo)識(shí)、硬鏈接數(shù)目、擁有者與組群名稱、文件或目錄大小以及修改時(shí)間等,都以所指向的原始文件或目錄為準(zhǔn)。該選項(xiàng)常與-l一起使用。-m顯示以逗號(hào)分隔的文件和目錄名稱。按從上到下、從左到右的橫列方式顯示。如果該選項(xiàng)與-l或-o連用,則顯示效果以在后面的選項(xiàng)為主。-n以UID和GID代替文件和目錄的名稱。該選項(xiàng)需要與-l或-o等連用。-o該選項(xiàng)的顯示效果與用-l類似,但不顯示組群名稱或GID。-p該選項(xiàng)的顯示效果與用-F類似,但不會(huì)在可執(zhí)行文件名后面加上*號(hào)。-q用“?”代替控制字符,列出文件和目錄名稱。-Q把文件和目錄名稱用“”括起來。-r顯示的文件和目錄名以逆序排列。-R遞歸處理,將指定目錄下的所有文件和子目錄的內(nèi)容一起顯示。-s以塊為單位,顯示文件和目錄的大小。-S按文件和目錄的大小排序顯示。-t按文件和目錄的修改時(shí)間排序顯示。-TTAB字?jǐn)?shù)設(shè)置TAB字符所對(duì)應(yīng)的空白字符數(shù)。預(yù)設(shè)值為8。-u按最后存取時(shí)間排序顯示文件和目錄名稱。如果與-l選項(xiàng)連用,則可以顯示存取時(shí)間。-U顯示文件和目錄名稱時(shí)不排序。-v按版本排序顯示文件和目錄名稱。-w字符數(shù)/列設(shè)置每列的最大字符數(shù)。-x按從左到右、從上到下的橫列方式顯示文件和目錄名稱。-X按文件擴(kuò)展名排序顯示(即最后一個(gè)“.”后面的字母),沒有擴(kuò)展名的文件排在前面。表5-9ls命令選項(xiàng)及說明ls命令的可用選項(xiàng)很多,這里僅列舉部分選項(xiàng),其他的讀者可以請(qǐng)求聯(lián)機(jī)幫助。雖然該命令的選項(xiàng)很多,但常用的就幾個(gè),如–a、–l、-R等。如果有多個(gè)選項(xiàng),則可以連在一起給出,如–al等價(jià)于–a–l。文件和目錄名稱可以包含通配符*和?。在Linux系統(tǒng)中,還有一個(gè)顯示目錄內(nèi)容的命令是dir,這個(gè)命令與ls命令無論在功能上還是在參數(shù)選項(xiàng)上都基本上相同;但是它不是MS-DOS下dir命令的翻版,其用法、參數(shù)選項(xiàng)也都不一樣。2.圖形方式在圖形方式下要查看目錄內(nèi)容,只要從桌面上進(jìn)入用戶的主目錄后就可以根據(jù)需要逐級(jí)查看了,如圖5-4顯示超級(jí)用戶的root目錄內(nèi)容。如果要對(duì)文件或目錄排序,則可以點(diǎn)擊窗口工具欄上的“列表”按鈕,在下拉菜單中選擇按順序(A-Z)、倒序(Z-A)、修改時(shí)間(M)、最初修改(M)、大?。⊿)、類型(T)方式排序,在“列表”按鈕的下來菜單里還可以選擇是否顯示隱藏文件、刷新窗體內(nèi)容、新建文件夾、新建標(biāo)簽頁、放大或縮小圖標(biāo)、撤銷或重做等,如圖5-4所示。圖5-4圖形方式下顯示目錄內(nèi)容
在圖形方式下,由于某些ls命令的選項(xiàng)功能并沒有實(shí)現(xiàn),例如顯示文件或目錄的inode等;所以許多系統(tǒng)管理員更喜歡工作在命令行方式下。
圖5-4圖形方式下顯示目錄內(nèi)容在圖形方式下,由于某些ls命令的選項(xiàng)功能并沒有實(shí)現(xiàn),例如顯示文件或目錄的inode等;所以許多系統(tǒng)管理員更喜歡工作在命令行方式下。5.3查找文件
如果用戶忘記了自己的文件或目錄在磁盤上的哪個(gè)目錄中,則只要知道文件或目錄的名稱(或部分字母)就可以找到它們。在圖形方式下查找文件或目錄雖然簡(jiǎn)單、直觀和方便,但是其附加功能受到限制;而在命令行方式下命令使用靈活、附加功能強(qiáng)大,但是命令的參數(shù)選項(xiàng)很多對(duì)初學(xué)者可能會(huì)感到不便。5.3.1命令行方式在命令行方式下查找文件或目錄使用find命令。該命令可以根據(jù)給定的條件查找文件或目錄,如果需要還可對(duì)找到的文件或目錄執(zhí)行各種命令。
基本用法:find[path...][-namefilename]其中,path...為查找的路徑,缺省是當(dāng)前目錄;filename為要查找的文件或目錄名,可以是全名或帶通配符的部分文件或目錄名。注意:非當(dāng)前目錄下查找文件或目錄時(shí),命令選項(xiàng)-name不能省略?;居梅ú]有充分發(fā)揮該命令的強(qiáng)大功能,要實(shí)現(xiàn)限定條件或更加精確或附加執(zhí)行命令等功能的查找就要使用高級(jí)用法。完整用法:find[-H][-L][-P][-Ddebugopts][-Olevel][path...][expression]
其中,-H,-L和-P選項(xiàng)控制符號(hào)鏈接的處理。在這些之后的命令行參數(shù)被認(rèn)為是要檢查的文件或目錄的名稱,直到以“-”開頭的第一個(gè)參數(shù),或者參數(shù)`('或`!'。 -H排除符號(hào)鏈接,這是默認(rèn)的。當(dāng)find查看或打印文件信息,并且文件是符號(hào)鏈接時(shí),所使用的信息取自符號(hào)鏈接本身的屬性。 -L不排除符號(hào)鏈接。當(dāng)查找或打印有關(guān)文件的信息時(shí),所使用的信息應(yīng)取自鏈接指向的文件的屬性,而不是來自鏈接本身(除非它是一個(gè)破損的符號(hào)鏈接或查找無法檢查文件到哪個(gè)鏈接點(diǎn))。使用此選項(xiàng)意味著-noleaf。如果后面使用-P選項(xiàng),-noleaf仍然有效。如果-L生效且find在搜索期間發(fā)現(xiàn)指向子目錄的符號(hào)鏈接,則將搜索符號(hào)鏈接指向的子目錄。當(dāng)-L選項(xiàng)生效時(shí),-type測(cè)試條件將始終與符號(hào)鏈接指向的文件類型匹配,而不是鏈接本身(除非符號(hào)鏈接斷開)。使用-L會(huì)導(dǎo)致-lname和-ilname測(cè)試條件始終返回false。 -P除處理命令行參數(shù)外,排除符號(hào)鏈接。當(dāng)find查看或打印有關(guān)文件的信息時(shí),所使用的信息應(yīng)取自符號(hào)鏈接本身的屬性。此行為的唯一例外是在命令行上指定的文件是符號(hào)鏈接,并且可以解析鏈接。對(duì)于這種情況,使用的信息取自鏈接指向的任何內(nèi)容。如果無法檢查符號(hào)鏈接指向的文件,則有關(guān)鏈接本身的信息將用作后備。如果-H生效并且命令行中指定的路徑之一是指向目錄的符號(hào)鏈接,則將檢查該目錄的內(nèi)容(當(dāng)然-maxdepth0會(huì)阻止此操作)。 -H排除符號(hào)鏈接,這是默認(rèn)的。當(dāng)find查看或打印文件信息,并且文件是符號(hào)鏈接時(shí),所使用的信息取自符號(hào)鏈接本身的屬性。 -L不排除符號(hào)鏈接。當(dāng)查找或打印有關(guān)文件的信息時(shí),所使用的信息應(yīng)取自鏈接指向的文件的屬性,而不是來自鏈接本身(除非它是一個(gè)破損的符號(hào)鏈接或查找無法檢查文件到哪個(gè)鏈接點(diǎn))。使用此選項(xiàng)意味著-noleaf。如果后面使用-P選項(xiàng),-noleaf仍然有效。如果-L生效且find在搜索期間發(fā)現(xiàn)指向子目錄的符號(hào)鏈接,則將搜索符號(hào)鏈接指向的子目錄。當(dāng)-L選項(xiàng)生效時(shí),-type測(cè)試條件將始終與符號(hào)鏈接指向的文件類型匹配,而不是鏈接本身(除非符號(hào)鏈接斷開)。使用-L會(huì)導(dǎo)致-lname和-ilname測(cè)試條件始終返回false。 -P除處理命令行參數(shù)外,排除符號(hào)鏈接。當(dāng)find查看或打印有關(guān)文件的信息時(shí),所使用的信息應(yīng)取自符號(hào)鏈接本身的屬性。此行為的唯一例外是在命令行上指定的文件是符號(hào)鏈接,并且可以解析鏈接。對(duì)于這種情況,使用的信息取自鏈接指向的任何內(nèi)容。如果無法檢查符號(hào)鏈接指向的文件,則有關(guān)鏈接本身的信息將用作后備。如果-H生效并且命令行中指定的路徑之一是指向目錄的符號(hào)鏈接,則將檢查該目錄的內(nèi)容(當(dāng)然-maxdepth0會(huì)阻止此操作)。 -Ddebugopts輸出調(diào)試信息。調(diào)試選項(xiàng)列表應(yīng)以逗號(hào)分隔。在findutils的發(fā)行版之間不保證調(diào)試選項(xiàng)的兼容性。有關(guān)有效調(diào)試選項(xiàng)的完整列表,請(qǐng)參閱find-Dhelp的輸出。 -Olevel啟用查詢優(yōu)化。find程序重新排序測(cè)試以加快執(zhí)行速度,同時(shí)保持整體效果,level為十進(jìn)制整數(shù)0-3;具體使用方法請(qǐng)參閱find命令手冊(cè)。其中,expression為表達(dá)式,它可以包含邏輯運(yùn)算符、命令選項(xiàng)、測(cè)試條件和后續(xù)動(dòng)作。以符號(hào)“-”、“(”、“)”、“,”或“!”開始的第一個(gè)參數(shù)被認(rèn)為是表達(dá)式的開始,在它之前的任何參數(shù)都會(huì)被視為搜索路徑,在它之后的是其余的表達(dá)式。如果表達(dá)式缺省,則系統(tǒng)會(huì)以-print作為默認(rèn)值。find命令將按照優(yōu)先級(jí)規(guī)則從左到右地計(jì)算表達(dá)式并根據(jù)命令中列出的文件名(或文件名列表)搜索指定路徑的目錄(或目錄列表),搜索以遞歸的方式進(jìn)行,直到搜索完所有指定的目錄。以下詳細(xì)說明表達(dá)式中主要的命令選項(xiàng)、測(cè)試條件和后續(xù)動(dòng)作。
表達(dá)式說明:1.命令選項(xiàng)所有的命令選項(xiàng)總是返回“真”。這些選項(xiàng)對(duì)整個(gè)查找過程有效,而不是只對(duì)表達(dá)式中可及部分有效;所以它們最好放在表達(dá)式的最前面。常用的命令選項(xiàng)有:-daystart 從本日開始計(jì)算時(shí)間,而非從24小時(shí)之前開始。該選項(xiàng)通常與-amin、 -atime、-cmin、-ctime、-mmin、-mtime等一起使用。-depth 從指定目錄的最深子目錄處開始查找。試比較以下兩種形式的運(yùn)行結(jié)果: find/var–name“news*”和find/var–name“news*”-depth-follow 排除符號(hào)鏈接文件。該選項(xiàng)隱含-noleaf選項(xiàng)。-maxdepthlevels設(shè)置最大目錄層數(shù)。該選項(xiàng)可以決定find命令的查找范圍。例如,目錄層數(shù)設(shè)為3,就會(huì)從指定目錄算起,再向下搜索2層。如果目錄層數(shù)設(shè)置為1,則不會(huì)搜索任何子目錄的內(nèi)容。-mindepthlevels設(shè)置最小目錄層數(shù)。該選項(xiàng)可以決定find命令的查找范圍。例如,目錄層數(shù)設(shè)為3,就會(huì)從指定目錄的下面兩層子目錄開始搜索,依此類推。-mount 不在其他文件系統(tǒng)中查找。為了與其他版本的find命令兼容,該選項(xiàng)也可以寫為-xdev。-noleaf 不考慮目錄至少需要有兩個(gè)硬鏈接的存在。一般在UNIX的文件系統(tǒng)里,每個(gè)目錄至少會(huì)有兩個(gè)硬鏈接存在,一個(gè)是目錄名稱,另一個(gè)是當(dāng)前目錄“.”項(xiàng),如果有子目錄,則還有鏈接到父目錄的上級(jí)目錄“..”項(xiàng)。但是其他文件系統(tǒng)不一定具有這種特性,例如,CD-ROM或MS-DOS的文件系統(tǒng),以及AFS(AndrewFilesystem)卷的安裝點(diǎn)等。find命令默認(rèn)會(huì)針對(duì)這種特性設(shè)置最佳化的查找方式。如果在沒有類似鏈接性質(zhì)的文件系統(tǒng)中查找文件時(shí)取消這種最佳化的查找方式,可以提高查找的速度。-xdev 該選項(xiàng)與-mount選項(xiàng)效果相同。2.測(cè)試條件測(cè)試的結(jié)果返回“真”或“假”,決定是否滿足查找文件或目錄的條件。測(cè)試所帶的數(shù)字參數(shù)和條件可以指定為:+n 表示大于n,-n 表示小于n,n 表示等于n。-aminn 如果存在n分鐘前訪問過的文件或目錄,則返回“真”。如果是+n表示超過n分鐘;如果是--n表示n分鐘之內(nèi)。以下n的含義與此相同。-anewerfile 如果存在比參數(shù)file指定的文件或目錄訪問時(shí)間更近的文件或目錄,
則返回“真”。若與命令選項(xiàng)-follow一起使用,則要放在它之后才有效。-atimen 如果存在n天前訪問過的文件或目錄,則返回“真”。-cminn 如果存在n分鐘前修改的文件或目錄,則返回“真”。-cnewerfile 如果存在比參數(shù)file指定的文件或目錄修改時(shí)間更近的文件或目錄,
則返回“真”。若與命令選項(xiàng)-follow一起使用,則要放在它之后才有效。-ctimen 如果存在n天前修改過的文件或目錄,則返回“真”。-empty 如果存在大小為0字節(jié)的文件、或空目錄,則返回“真”。-false 將find命令的返回值都設(shè)置為false。-fstypetype 如果參數(shù)type指定文件系統(tǒng)類型的文件或目錄存在,則返回“真”。
用戶可以使用find/-printf%F命令查看計(jì)算機(jī)文件系統(tǒng)的類型。-gidn 如果存在參數(shù)n指定的組群ID的文件或目錄,則返回“真”。-groupgname如果存在參數(shù)gname指定組群名稱的文件或目錄,則返回“真”(也可以使用組群ID)。-ilnamepattern
與指定-lname類似,但忽略字符大小寫的差別。-inamepattern
與指定-name類似,但忽略字符大小寫的差別。-inumn 如果存在i節(jié)點(diǎn)為n的文件,則返回“真”。-ipathpattern 與指定-path類似,但忽略字符大小寫的差別。-iregexpattern
與指定-regex類似,但忽略字符大小寫的差別。 -linksn 如果存在硬鏈接數(shù)為n的文件或目錄,則返回“真”。-lnamepattern如果存在符號(hào)鏈接所指向的文件或目錄與參數(shù)pattern匹配,則返回“真”。匹配字符不處理“/”或“.”字符。-mminn 查找在指定的時(shí)間曾經(jīng)被修改過的目錄或文件,時(shí)間單位為分鐘。-mtimen 查找在指定的時(shí)間曾經(jīng)被修改過的目錄或文件,時(shí)間單位為天。-namepattern如果存在與參數(shù)pattern匹配的文件或目錄,則返回“真”。參數(shù)pattern為文件或目錄名字符串,可以使用通配符,但是包含通配符的文件或目錄名最好用雙引號(hào)“”括起來。-nouser 如果存在不屬于本地主機(jī)用戶ID的文件或目錄,則返回“真”。-nogroup 如果存在不屬于本地主機(jī)組群ID的文件或目錄,則返回“真”。-pathpattern如果存在與參數(shù)pattern匹配的文件或目錄,則返回“真”。如果查找
從當(dāng)前目錄開始,則其中參數(shù)pattern要以./開始,且用單引號(hào)或雙引號(hào)括起來;如果不是從當(dāng)前目錄開始查找,則patterm中必須指出路徑。pattern可以使用通配符,但是特殊字符“/”和“.”不會(huì)被處理。例如,使用find.-path'./sr*sc'查找時(shí)輸出的可能是./src/misc目錄。為了忽略一個(gè)目錄樹,使用-prune動(dòng)作。例如,為了忽略src/emacs目錄和該目錄下的所有文件和子目錄,而在當(dāng)前目錄下查找時(shí),可以這樣實(shí)現(xiàn):find.-path'./src/emacs'-prune-o–print。-permmode如果存在權(quán)限位與參數(shù)mode(八進(jìn)制)精確匹配的文件或目錄,則返回“真”。+或-mode表示非精確匹配(即可以部分匹配)。-regexpattern如果存在名稱與參數(shù)pattern指定的正則表達(dá)式匹配的文件或目錄,則返回“真”。其中參數(shù)pattern以./開始,且用單引號(hào)或雙引號(hào)括起來;pattern可以使用通配符。在正則表達(dá)式中.(點(diǎn))匹配任意一個(gè)字符。例如,要匹配一個(gè)名為fubar3的文件,正則表達(dá)式可以寫為:.*bar.或.*b.*3,但不能寫為b.*r3。-sizen[bckw]如果存在參數(shù)n所指定大小的文件,則返回“真”。參數(shù)n的單位可
以在參數(shù)n后加[bckw]表示。b表示以塊為單位(默認(rèn)),每塊512Bytes;c表示以Byte為單位;k表示以KB為單位;w表示以兩個(gè)字節(jié)為單位。-true 將find命令的返回值都設(shè)置為true。-typec 如果參數(shù)c指定類型的文件存在,則返回“真”。參數(shù)c可以是: b 塊設(shè)備文件 c 字符設(shè)備文件 d 目錄文件 p 管道文件(FIFO) f 普通文件 l 符號(hào)鏈接文件 s 套接字文件 D 通道文件(Solaris網(wǎng)絡(luò)操作系統(tǒng))-uidn 如果存在參數(shù)n指定的用戶ID的文件或目錄,則返回“真”。-usedn 如果存在修改過,并在參數(shù)n指定的時(shí)間(以天為單位)被訪問過的文件或目錄,則返回“真”。 -useruname如果存在參數(shù)uname指定的擁有者名稱的文件或目錄,則返回“真”(也可以使用用戶ID)。-xtypec 效果與-type類似,除非是對(duì)符號(hào)鏈接文件。如果符號(hào)鏈接所指向的原始文件符合參數(shù)c指定的文件類型,且沒有與命令選項(xiàng)-follow一起使用,則返回“真”。如果與命令選項(xiàng)-follow一起使用,參數(shù)c必須指定文件類型為l時(shí),返回才為“真”。換句話說,對(duì)于符號(hào)鏈接,-xtype檢查文件類型,而-type不檢查。
3.
后續(xù)動(dòng)作-execcommand;如果find命令的測(cè)試結(jié)果為“真”,就執(zhí)行參數(shù)command所指定的命令;所執(zhí)行命令的末尾必須以“\;”結(jié)束,查找得到的文件名可以使用{}代替。命令形式為-execcommand{
}\;,注意:在command和{}之間,{}和\;之間存在空格。-flsfile 效果與-ls動(dòng)作類似,但是當(dāng)測(cè)試為“真”時(shí),像-fprint動(dòng)作一樣把結(jié)果保存到參數(shù)file指定的文件中。-fprintfile 如果find命令的測(cè)試結(jié)果為“真”,則將找到的文件或目錄名保存到參數(shù)file指定的文件中。如果該文件不存在,則建立它;如果該文件存在,則覆蓋它。-okcommand;效果與-exec動(dòng)作類似,但是在執(zhí)行參數(shù)指定的命令之前會(huì)先詢問用戶,若用戶回答不是“y”或“Y”,則放棄執(zhí)行命令。-print 這是find命令缺省的動(dòng)作。如果find命令的測(cè)試結(jié)果為“真”,則將找到的文件或目錄名稱在標(biāo)準(zhǔn)輸出設(shè)備上輸出;每個(gè)文件或目錄名稱占一行。該動(dòng)作也可以帶參數(shù)指定輸出的格式。-print0 與-print類似,只是輸出的文件或目錄名稱在同一行,當(dāng)一行顯示滿時(shí)自動(dòng)換行。-prune 不在當(dāng)前目錄查找。如果與命令選項(xiàng)-depth一起使用,則該動(dòng)作無效。-ls 如果find命令的測(cè)試結(jié)果為“真”,則將找到的文件或目錄名稱在標(biāo)準(zhǔn)輸出設(shè)備上以ls–dils命令的格式輸出;4.邏輯運(yùn)算符用來組合命令選項(xiàng)、測(cè)試和動(dòng)作,形成多條件、復(fù)雜的邏輯表達(dá)式,運(yùn)算符與表達(dá)式之間均有空格。以下按優(yōu)先級(jí)遞減的順序列出所有運(yùn)算符的用法(expr為表達(dá)式,):(expr) 強(qiáng)制優(yōu)先。括號(hào)前一定要加“\”轉(zhuǎn)義字符,括號(hào)與表達(dá)式之間要有空格。!expr或-notexpr 非運(yùn)算。expr1expr2或expr1-aexpr2或expr1-andexpr2 與運(yùn)算,與運(yùn)算符缺省為空格。expr1-oexpr2 或expr1-orexpr2 表示或運(yùn)算。expr1,expr2 逗號(hào)列表。列表的返回值是expr2的值,expr1的值被丟棄。比較以下這兩個(gè)命令的區(qū)別:find/sbin–namefsck–ofdisk 與find/sbin–namefsck,fdisk參考示例1:
在目錄/usr下查找文件名中擴(kuò)展名為.c的文件。$find/usr–name*.c–print -print表示若find返回“真”,則把找到的文件從標(biāo)準(zhǔn)設(shè)備輸出。該動(dòng)作可省略。
參考示例2:在當(dāng)前目錄及子目錄中查找文件名以一個(gè)大寫字母開頭的文件。$find.-name"[A-Z]*"
在文件或目錄名中有多個(gè)通配符的情況下,要使用單引號(hào)或雙引號(hào)。
參考示例3:
在當(dāng)前目錄下查找文件主可讀、寫、執(zhí)行,其他用戶可以讀、執(zhí)行的文件。$find.-perm755
參考示例4:
在/home目錄下查找文件,但不在/home/stu1目錄下查找。$find/home-path"/home/stu1"-prune-o-print
參考示例5:
在/home目錄中查找文件主為sam的文件。$find/home-usersam
參考示例6:
在系統(tǒng)根目錄下查找在5天內(nèi)修改過的所有文件。$find/-ctime-5
參考示例7:
在/home目錄下查找所有的用戶目錄。$find/home-typed
參考示例8:
在/home/stu1目錄下查找文件長度小于100個(gè)字節(jié)的文件。$find/home/stu1-size-100c
在-100c中,-表示小于;c表示以字節(jié)為單位。
參考示例9:
在當(dāng)前目錄下查找修改時(shí)間比hello.c文件新的文件。$find.-cnewerhello.c
本例中的測(cè)試也可以使用-newer,效果是一樣的。
參考示例10:
查找/root目錄下所有含有foxy或river字符串,且在兩天前被訪問過的文件,將這些文件權(quán)限都設(shè)置為對(duì)文件所有者可讀/寫,組用戶可讀,其他用戶可讀。#find/root\(-namefoxy*-o–nameriver*-atime2\)–print–execchmod644{}\;
本例要注意邏輯運(yùn)算符的使用,以及-exec動(dòng)作的格式規(guī)定。5.3.2圖形方式
在系統(tǒng)窗體工具欄上單擊“查找(放大鏡)”圖標(biāo),在輸入框中輸入要查找的文件名。它是以命令行方式下的基本用法為框架,既可以實(shí)現(xiàn)文件的基本查找,也可以實(shí)現(xiàn)帶有其他測(cè)試條件的復(fù)雜查找。以下簡(jiǎn)要介紹它的用法:1.基本查找首先,在查找輸入框中輸入要查找文件的文件全名或帶有通配符的部分文件名;系統(tǒng)自動(dòng)按全路徑查找,即可實(shí)現(xiàn)命令行方式中按-name測(cè)試的文件查找。如果找到指定的文件,則找到文件的信息在窗體中列表顯示;如果沒有找到,則顯示“找不到文件”的信息。查找程序的運(yùn)行界面如圖5-5所示2.添加測(cè)試條件(搜索選項(xiàng))在CentOS7下,圖形方式的文件查找添加的測(cè)試條件較為簡(jiǎn)單,只有按“日期范圍”和“搜索類型”進(jìn)行文件查找中,而沒有用到一些其他的測(cè)試條件以實(shí)現(xiàn)多條件、復(fù)雜表達(dá)式的查找。首先,“查找(放大鏡)”圖標(biāo);其次,點(diǎn)擊輸入框右邊的下拉列表框按鈕,如圖5-6所示;第三,在下拉列表中選擇要使用的搜索選項(xiàng)即可。圖5-5圖形方式下文件查找圖5-6可用搜索選項(xiàng)列表
圖形方式下只是列出命令行方式中部分的測(cè)試條件,這些測(cè)試條件的含義已經(jīng)在命令方式文件查找中做過介紹。3.
停止搜索在查找文件完成之前,如果要停止文件查找,則隨時(shí)單擊窗體右下角“正在搜索”右邊的按鈕即可終止文件查找。4.
查找結(jié)果的操作要在窗體列表中對(duì)找到的文件打開顯示,先選中該文件,再單擊鼠標(biāo)右鍵,在彈出的菜單中選擇打開的方式(用文本編輯器或使用其它程序打開)或直接用鼠標(biāo)左鍵在文件名上雙擊用系統(tǒng)默認(rèn)的程序打開,如圖5-7所示。要在窗體列表中對(duì)找到的文件夾打開顯示,先選中該文件夾,再單擊鼠標(biāo)右鍵,在彈出的菜單中選擇打開的方式(用歸檔管理器器或使用其它程序打開)或直接用鼠標(biāo)左鍵在文件夾上雙擊用系統(tǒng)默認(rèn)的程序打開。要在窗體列表中對(duì)找到的文件復(fù)制到桌面上的目標(biāo)區(qū)域,可以直接拖動(dòng)該文件到目標(biāo)區(qū)域;或用鼠標(biāo)右鍵點(diǎn)擊,在打開的菜單中選擇“復(fù)制”菜單項(xiàng);其它的“移動(dòng)”、“刪除”、“重命名”、“壓縮”、查看“屬性”等也都可以選擇操作。5.4修改文件權(quán)限當(dāng)某個(gè)用戶要對(duì)文件進(jìn)行讀或?qū)懟驁?zhí)行時(shí),如果沒有相應(yīng)的權(quán)限,則用戶就要修改文件的權(quán)限。如果該用戶對(duì)文件有寫權(quán),則可以改變文件的權(quán)限。例如、某用戶編寫一個(gè)shell文件(腳本文件),當(dāng)要執(zhí)行時(shí)就要修改文件的權(quán)限,使其可執(zhí)行。如果該用戶對(duì)文件沒有寫權(quán),則必須請(qǐng)系統(tǒng)管理員來修改文件的權(quán)限。超級(jí)用戶(root)或具有超級(jí)用戶權(quán)限的系統(tǒng)管理員對(duì)所有文件都有寫權(quán)限,也就意味著他們對(duì)所有文件都有權(quán)修改權(quán)限和刪除文件。修改文件權(quán)限可以采用命令方式,也可以采用圖形方式。5.4.1命令方式修改文件權(quán)限可以采用chmod命令,該命令的用法有三種,第一、二兩種較為常用。命令用法:chmod [OPTION]… MODE[,MODE]… FILE…chmod [OPTION]… OCTAL-MODE FILE…chmod [OPTION]… --reference=RFILE FILE
在類UNIX系統(tǒng)的家族中,文件或目錄權(quán)限的控制分別以可讀、可寫、可執(zhí)行3種一般權(quán)限來區(qū)分,另外還有3種特殊權(quán)限可以使用,再加上文件或目錄擁有者與所屬組群管理權(quán)限范圍。用戶可以使用chmod命令改變文件或目錄的權(quán)限,設(shè)置方式可以采用字符或數(shù)字代號(hào)。該命令無法改變符號(hào)鏈接文件本身的權(quán)限,如果對(duì)符號(hào)鏈接文件修改權(quán)限,會(huì)改變被鏈接原始文件的權(quán)限。
命令用法中MODE、OCTAL-MODE、FILE…為命令參數(shù),OPTION為命令選項(xiàng)。
參數(shù)MODE包含權(quán)限范圍、修改動(dòng)作、權(quán)限代號(hào)3個(gè)部分的內(nèi)容。
其中,權(quán)限范圍表示如下: u:表示U
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 炭素工藝學(xué)課程設(shè)計(jì)
- 順序設(shè)計(jì)法課程設(shè)計(jì)方式
- 明天我們畢業(yè)課程設(shè)計(jì)
- 高電壓課程設(shè)計(jì)總結(jié)
- 職場(chǎng)規(guī)劃插畫課程設(shè)計(jì)
- 【正版授權(quán)】 ISO/TS 24399:2025 EN Thermoplastic pipes for the conveyance of fluids - Inspection of polyethylene butt fusion joints using time of flight diffraction testing
- GB/T 45112-2024基于LTE的車聯(lián)網(wǎng)無線通信技術(shù)安全證書管理系統(tǒng)技術(shù)要求
- 2025年度海上油氣田開發(fā)承包合同3篇
- 2025年打樁施工專業(yè)分包合同3篇
- 二零二五年度廠區(qū)安全防范系統(tǒng)建設(shè)合同3篇
- 工作證明模板下載免費(fèi)
- 顛茄流浸膏實(shí)驗(yàn)方案及總結(jié)
- 投標(biāo)人情況表
- GB/T 34241-2017卷式聚酰胺復(fù)合反滲透膜元件
- GB/T 12494-1990食品機(jī)械專用白油
- 運(yùn)輸供應(yīng)商年度評(píng)價(jià)表
- 北京語言大學(xué)保衛(wèi)處管理崗位工作人員招考聘用【共500題附答案解析】模擬試卷
- 肺癌的診治指南課件
- 人教版七年級(jí)下冊(cè)數(shù)學(xué)全冊(cè)完整版課件
- 商場(chǎng)裝修改造施工組織設(shè)計(jì)
- 統(tǒng)編版一年級(jí)語文上冊(cè) 第5單元教材解讀 PPT
評(píng)論
0/150
提交評(píng)論