Linux-磁盤文件與目錄管理_第1頁
Linux-磁盤文件與目錄管理_第2頁
Linux-磁盤文件與目錄管理_第3頁
Linux-磁盤文件與目錄管理_第4頁
Linux-磁盤文件與目錄管理_第5頁
已閱讀5頁,還剩191頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

第五章磁盤文件與目錄管理程序與數(shù)據(jù)以文件的形式保存在磁盤上,操作系統(tǒng)為了解決文件重名和文件查找問題而采用樹形目錄。對于用戶而言,只要他有對文件的訪問權(quán)限就可以按文件名對文件進(jìn)行存取操作。主要內(nèi)容5.1按名存取5.2常用的磁盤、文件和目錄管理命令5.3查找文件5.4修改文件權(quán)限5.5查看文件內(nèi)容5.6文件壓縮與解壓縮5.7文件備份與恢復(fù)5.8簡單信息處理5.9菜單式文件管理程序習(xí)題5.1按名存取

對于操作系統(tǒng)而言文件的存取必須知道它在磁盤上的位置,即文件所在的盤面、磁道和扇區(qū)這三個磁盤參數(shù);但對于普通用戶而言這種要求顯然是不現(xiàn)實的。 為了方便用戶使用文件,可以讓用戶對文件按名存取,即當(dāng)用戶需要對某個文件進(jìn)行操作時只要指定文件名和文件的路徑名,由操作系統(tǒng)來完成文件名和路徑名到磁盤參數(shù)的轉(zhuǎn)換。因此,各種操作系統(tǒng)對文件的命名和訪問文件的路徑都有規(guī)定。5.1.1文件命名

文件名一般由字母、數(shù)字和某些字符組成,且長度有限制。每一種操作系統(tǒng)對文件的命名都有自己的規(guī)那么,例如MS-DOS的8個字符的文件名加上3個字符的擴(kuò)展名,Windows的長文件名〔255個字符〕、支持使用空格字符〔Windows95及以上版本〕等;Linux系統(tǒng)的文件名也是由字母、數(shù)字和某些標(biāo)點符號組成,但以下字符不能出現(xiàn)在文件名中:

!@#$%^&*(){}‘“/\;<>和空格

這是因為系統(tǒng)要把這些字符作為特殊用途,例如,&作為后臺控制字符、$作為引用變量的控制字符、>作為輸出重定向的控制字符等。但是,在RedHatLinux9.0的圖形方式下,所建立的目錄名、文件名可以包含空格,也可以正常翻開使用,如圖5-1所示;而在字符〔控制臺終端〕方式下既不能建立包含空格的目錄和文件也不能翻開它,包含空格的文件名命令解釋器〔一般默認(rèn)為bash〕是無法直接解釋的,將會告知該目錄或文件不存在,如圖5-2所示。Linux系統(tǒng)同樣支持長文件名,對文件名長度的限制也是255個字符。圖5-1圖形方式下包含空格目錄名、文件名圖5-2字符終端上不直接支持目錄名、文件名含空格 在字符終端上如果目錄或文件名一定要用空格,那么一定要加轉(zhuǎn)義字符;如via\b\c.txt,那么建立并編輯名為abc.txt的文件、cda\b\c\d\e才能進(jìn)入名為abcde的子目錄。5.1.2路徑

如果用戶訪問文件時只給出文件名,那么操作系統(tǒng)可能要從根目錄開始逐層查找該文件或包含該文件的子目錄;這樣如果目錄樹很深時,操作系統(tǒng)為找到一個文件要消耗掉許多時間。因此,采用目錄樹結(jié)構(gòu)的操作系統(tǒng)一般只在用戶指定從根目錄開始查找文件或目錄時才會這樣做。顯然,如果用戶能夠指出到達(dá)目標(biāo)文件或目錄的一條通路,那么操作系統(tǒng)就不需要在其他無關(guān)的通路上查找,就會節(jié)省許多的查找時間;這樣的一條通路就是路徑,即指出目錄或文件在這棵目錄樹上的位置。 在知道了路徑以后,如果還能知道從哪里開始查找,那么就能真正加快文件檢索的速度。因此操作系統(tǒng)規(guī)定,從根目錄開始到目標(biāo)文件或目錄為止所經(jīng)過的各級子目錄通路,稱為絕對路徑。在Linux系統(tǒng)中,路徑上的各級子目錄之間用“/”分隔,例如,在/home/stu/zxj/cprogram目錄下有一個hello.c文件,那么該文件的絕對路徑就是: /home/stu/zxj/cprogram/hello.c。 查找文件并非都要從根目錄開始。操作系統(tǒng)為了加快文件檢索的速度設(shè)立了當(dāng)前目錄,所謂當(dāng)前目錄就是用戶當(dāng)前所在的工作目錄,當(dāng)你用cd命令切換到某個目錄時該目錄就是你的當(dāng)前工作目錄。因此,假定用戶知道要找的文件或目錄是在當(dāng)前目錄以下的某個目錄中時,就可以從當(dāng)前目錄開始查找。從當(dāng)前目錄開始到目標(biāo)文件或目錄為止所經(jīng)過的各級子目錄通路,稱為相對路徑。路徑上的各級子目錄之間也是用“/”分隔,例如,用戶當(dāng)前目錄的絕對路徑是/home/stu/zxj,要查找的文件是在zxj目錄下的cprogram/hello.c,那么查找該文件的相對路徑就是cprogram/hello.c;假設(shè)要查找cprogram目錄,那么其相對路徑就是cprogram,即該目錄名。當(dāng)使用相對路徑查找時,第一個目錄名前不能加上斜杠“/”,否那么操作系統(tǒng)會認(rèn)為從根目錄開始查找。 以上這些與路徑相關(guān)的概念與其他常用的、非UNIX類的微機(jī)操作系統(tǒng)相比只是路徑分隔符不同;在MS-DOS和Windows操作系統(tǒng)中路徑分隔符用反斜杠“\”,而在Linux系統(tǒng)中路徑分隔符用“/”〔斜桿〕。

第一章“認(rèn)識Linux”中也介紹過在Linux系統(tǒng)中沒有驅(qū)符的概念,只有設(shè)備名和目錄,要訪問不同的文件系統(tǒng)或設(shè)備要先安裝該文件系統(tǒng),然后用cd命令進(jìn)入該文件系統(tǒng)的安裝點〔目錄〕。5.2常用的磁盤、文件和目錄管理命令

磁盤、文件和目錄管理有許多命令,系統(tǒng)管理員常用的磁盤管理命令主要涉及磁盤分區(qū)、磁盤格式化、文件系統(tǒng)檢查、安裝/卸載文件系統(tǒng)、查看磁盤空間的使用情況、查看目錄所用空間等;文件管理命令主要涉及文件權(quán)限的顯示與修改、文件的復(fù)制、移動、刪除、查找、壓縮和解壓縮、簡單信息處理、文件內(nèi)容查看等;目錄管理命令主要涉及目錄建立、改變、刪除和顯示目錄內(nèi)容等。5.2.1磁盤管理

5.2.1.1查看磁盤空間的使用情況

當(dāng)用戶創(chuàng)立或拷貝文件時,必須保證目標(biāo)文件系統(tǒng)中有足夠的剩余磁盤空間,否那么創(chuàng)立或拷貝文件將會失敗。在Linux系統(tǒng)中,用戶可以使用df〔diskfree磁盤剩余空間〕命令查看計算機(jī)系統(tǒng)上每個文件系統(tǒng)的磁盤空間使用情況;該命令查看的文件系統(tǒng)是指已經(jīng)安裝的文件系統(tǒng),否那么無法查看!查看磁盤空間使用情況也可以在圖形方式下完成。1.命令方式

命令用法:

df[OPTION]...[FILE]...

如果指定參數(shù)FILE,那么顯示這個文件所在的文件系統(tǒng)的信息;如果不帶參數(shù)選項,那么默認(rèn)是顯示除特殊文件系統(tǒng)以外的文件系統(tǒng)所使用磁盤空間的情況。OPTION為命令選項。命令選項及說明:命令選項選項說明-a顯示所有已經(jīng)安裝的文件系統(tǒng)磁盤空間使用情況。-B塊大小值按指定塊的大?。ㄗ止?jié)為單位)顯示文件系統(tǒng)信息。-h以容易理解的格式顯示出文件系統(tǒng)大小(例如,1K234M、2G等)。-H類似-h,但取1000的次方而不是1024。-i顯示inode(i節(jié)點)的使用信息而不是磁盤塊使用量-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-塊已用可用已用%掛載點

/dev/hda279774966505512106674886%/

none624920624920%/dev/shm

/dev/sda13187222112976070%/mnt/udisk

參考例如2:

檢查所有文件系統(tǒng)的使用情況,并以便于閱讀的方式輸出,執(zhí)行命令:

[stu@localhoststu]$df–ah

顯示結(jié)果:

文件系統(tǒng)容量已用可用已用%掛載點

/dev/hda2 7.7G6.3G1.1G86%/

none 000-/proc

usbdevfs000-/proc/bus/usb

none000-/dev/pts

none62M062M0%/dev/shm

/dev/sda132M22M9.6M70%/mnt/udisk參考例如3:

檢查所有文件系統(tǒng)的使用情況,列出所有文件系統(tǒng)的名稱與類型,執(zhí)行命令:

[stu@localhoststu]$df–aT

顯示結(jié)果:

文件系統(tǒng)類型1K-塊已用可用已用%掛載點

/dev/hda2ext279774966505524106673686%/

noneproc000-/proc

usbdevfsusbdevfs000-/proc/bus/usb

nonedevpts000-/dev/pts

nonetmpfs624920624920%/dev/shm

/dev/sda1vfat3187222112976070%/mnt/udisk

如果計算機(jī)系統(tǒng)采用多配置啟動,那么在硬盤上一般至少有一個vfat或ntfs類型的文件系統(tǒng),那就是Windows系統(tǒng)下的C盤,但是從參考例如3看不到該文件系統(tǒng),這是因為它還沒有安裝〔掛接〕!參考例如4:

安裝windows系統(tǒng)C盤的文件系統(tǒng),列出所有文件系統(tǒng)的名稱,執(zhí)行命令:

[root@localhostroot]#mount/dev/hda1/mnt/winc

[root@localhostroot]#df–aT

顯示結(jié)果:

文件系統(tǒng)類型1K-塊已用可用已用%掛載點

/dev/hda2ext279774966505528106673286%/

noneproc000-/proc

usbdevfsusbdevfs000-/proc/bus/usb

nonedevpts000-/dev/pts

nonetmpfs624920624920%/dev/shm

/dev/sda1vfat3187222112976070%/mnt/udisk

/dev/hda1vfat111622564563312659894441%/mnt/winc

從輸出的結(jié)果可以看到,現(xiàn)在增加了一個vfat類型的文件系統(tǒng),它掛接在/mnt/winc目錄下,這個就是C盤上的vfat類型的文件系統(tǒng)。2、圖形方式

在圖形方式下可以通過“系統(tǒng)工具”菜單欄下的“系統(tǒng)監(jiān)視器”或“硬件瀏覽器”查看磁盤空間的使用情況,但所獲得的信息比較少,不能顯示磁盤每塊的大小、已用多少塊、已用的百分比等信息。5.2.1.2顯示磁盤上目錄或文件的大小

當(dāng)用戶復(fù)制或移動目錄或文件時,可能需要了解磁盤上目錄或文件的大小,以決定是否要復(fù)制、移動。在Linux系統(tǒng)中,用戶可以使用du〔diskusage磁盤使用量〕命令查看計算機(jī)系統(tǒng)上每個目錄或文件占用磁盤空間的情況;查看目錄或文件占用磁盤空間的情況也可以在圖形方式下完成。

1、命令方式

命令用法:

du[OPTION]...[FILE]...

該命令顯示指定的目錄或文件所占用的磁盤空間,缺省單位為KB。如果指定的參數(shù)FILE為文件,那么給出該文件的磁盤占用量;如果是目錄,那么給出該目錄總的磁盤占用量。可以一次指定多個目錄或文件。OPTION為命令選項。命令選項及說明:命令選項選項說明-a不僅顯示目錄的空間占用情況,而且顯示目錄中所有文件的空間占用情況。-B塊大小值按指定塊的大小(字節(jié)為單位)顯示目錄或文件的占用塊數(shù)信息。-b顯示的結(jié)果以字節(jié)為單位而不是以磁盤塊為單位。-c在處理完所有指定的目錄參數(shù)后顯示這些目錄總共占用磁盤空間的情況。-D對于在命令參數(shù)中給出的符號鏈接文件,顯示該鏈接所指向文件的空間占用情況,而不是該鏈接文件本身占用的空間。但對于非命令參數(shù)中給出的符號鏈接文件,顯示的是其本身占用的空間。-h以容易理解的格式顯示出文件或目錄的大小(例如,1K234M、2G等)。-H類似-h,但取1000的次方而不是1024。-k指定顯示的塊大小以1KB為單位。-l硬鏈接文件的大小也計算在內(nèi)。-L對于符號鏈接文件,顯示其所指向的文件的空間占用情況,而不是該鏈接文件本身占用的空間。-S只顯示每個目錄自己占用的空間,不包括該目錄中的子目錄所占用的空間。-s對于參數(shù)中指定的目錄,只顯示該目錄總共占用的空間,而不顯示該目錄中的子目錄所占用的空間。-x略過不在當(dāng)前文件系統(tǒng)中的目錄。參考例如1:

列出當(dāng)前目錄下所有文件所占用的磁盤空間。

執(zhí)行命令:

[stu@localhoststu]$du–ab

顯示結(jié)果:

4096 ./t0

4096 ./t1

4096 ./t2

4096 ./t3

4096 ./t4

16384 ./t5

32768 ./t6

73728 .

顯示該目錄下每個文件所占用的磁盤空間,以及當(dāng)前目錄〔.〕所占據(jù)磁盤的總空間。磁盤空間單位為字節(jié)。參考例如2:

列出/var目錄占用的磁盤空間,并給出統(tǒng)計信息,執(zhí)行命令:

[stu@localhoststu]$du–bc/var

顯示結(jié)果:

72630272 /var/lib/rpm

102400 /var/lib/games/gnuchess

106496 /var/lib/games

4096 /var/lib/misc

36864 /var/state/linuxconf

40960 /var/state

270479360 /var

270479360 總用量

除了顯示/var目錄下的每個文件及該目錄本身所占據(jù)的磁盤空間外,還給出該目錄下所有子目錄磁盤空間的總用量。單位為字節(jié)。2、圖形方式

在圖形方式下可以通過桌面上“XX的主目錄”圖標(biāo)〔XX為用戶名〕,用鼠標(biāo)左鍵雙擊〔系統(tǒng)默認(rèn)設(shè)置,用戶也可以通過“開始[紅帽子圖標(biāo)]”、“首選項”、“文件管理”菜單翻開“文件管理首選項”窗口的“行為”選項卡進(jìn)行修改〕進(jìn)入各級需要的目錄窗口查看。鼠標(biāo)右鍵單擊要查看的目錄或文件,在彈出式菜單上選擇“屬性”并單擊左鍵翻開“屬性”對話框。采用這種方式時,如果選擇的是目錄,那么只能顯示該目錄下有多少項、總共占用多少磁盤空間,不能同時顯示該目錄下每個文件的占用空間信息。如果選擇的是文件,那么只能顯示該文件的大小〔占據(jù)的空間〕。如圖5-3所示。圖5-3圖形方式查看目錄大小5.2.2文件與目錄管理

5.2.2.1目錄切換

當(dāng)用戶需要對某個目錄下的假設(shè)干文件進(jìn)行編輯、復(fù)制、刪除或移動等操作時,最方便的做法就是進(jìn)入該目錄,以免每次對一個文件的操作都要給出絕對路徑名。因此,從一個目錄進(jìn)入到另一個目錄就是目錄的切換。在命令行方式下使用cd命令切換目錄。

命令用法:

cd[dir]

參數(shù)dir為要切換到的路徑目錄名。如果沒有給出路徑名,那么系統(tǒng)在當(dāng)前目錄下查找目錄;路徑既可以是絕對路徑也可以是相對路徑,如果切換的是當(dāng)前目錄下的子目錄,那么可以使用相對路徑,否那么應(yīng)該使用絕對路徑。

與命令行方式相比,在圖形方式下切換目錄非常方便,只要在翻開的目錄窗口中找到所需要的目錄圖標(biāo)并用鼠標(biāo)左鍵雙擊它即可。5.2.2.2顯示當(dāng)前目錄

用戶有時需要知道自己當(dāng)前所在工作目錄的絕對路徑信息。如果是工作在圖形方式下,那么在翻開的目錄窗口“位置”輸入框中可以方便地看到自己所在工作目錄的絕對路徑;如果是工作在命令行方式下,那么可以使用pwd命令查看。

命令用法:

pwd[OPTION]

該命令沒有參數(shù),OPTION為命令選項。

選項說明:

在Linux系統(tǒng)中的絕大多數(shù)命令都有這兩個選項,以后介紹命令時不再提及它們。選項說明--help顯示幫助信息。--version顯示版本信息。5.2.2.3建立目錄

當(dāng)用戶需要對自己的文件分類存放或需要把某些文件讓其他用戶共享時就需要建立相應(yīng)的目錄。建立目錄既可以在命令行方式下,也可以在圖形方式下。

1、命令行方式

在命令行方式下建立目錄使用mkdir命令。它能根據(jù)命令的參數(shù)選項在指定的位置〔目錄〕下建立目錄,當(dāng)然用戶必須要擁有該位置的寫權(quán)。

命令用法:

mkdir[OPTION]DIRECTORY…

OPTION為命令選項,參數(shù)DIRECTORY…為所要建立目錄的列表。如果參數(shù)所指定的目錄已經(jīng)存在,那么該命令無法建立目錄。

局部選項說明:選項說明-m在建立目錄時,設(shè)置目錄的權(quán)限。權(quán)限設(shè)置方法與chmod命令相同。-p如果所要建立目錄的上級目錄不存在,則一起建立。-v顯示命令執(zhí)行的詳細(xì)過程。mkdir命令使用注意點:

第一、命令mkdir不能省略為md。

第二、系統(tǒng)默認(rèn)新建立目錄的用戶權(quán)限數(shù)字代碼為755,即文件主為可讀、寫、執(zhí)行〔rwx〕,同組用戶和其他用戶為可讀、執(zhí)行〔r-x〕。如果默認(rèn)的目錄權(quán)限無法滿足要求,那么使用-m選項設(shè)置。

參考例如1:

建立名為public的目錄,讓所有的用戶都有rxw權(quán)限。

mkdir–m777public 或

mkdir–ma=rwxpublic參考例如2:

在當(dāng)前目錄stu下建立stu1/pro/fox目錄,但stu目錄下沒有任何目錄存在。

mkdir–pstu1/pro/fox

本例中由于fox目錄的上級目錄不存在,所以如果不使用-p選項,那么系統(tǒng)提示無法創(chuàng)立這些目錄。2、圖形方式

在圖形方式下建立目錄非常方便,只要在相應(yīng)目錄窗口的空白處單擊鼠標(biāo)右鍵,在彈出式的菜單中選擇“新建文件夾”并用鼠標(biāo)左鍵單擊,在新生成的文件夾〔目錄〕圖標(biāo)下輸入目錄名即可。5.2.2.4文件或目錄復(fù)制

對用戶而言,復(fù)制文件或目錄就是把需要的文件或目錄從目錄樹上的一個位置復(fù)制到另一個指定的位置。復(fù)制文件或目錄可以在命令行方式下,也可以在圖形方式下進(jìn)行。

1、命令行方式

在命令行方式下采用cp命令復(fù)制文件或目錄。

命令用法:

cp[OPTION]...SOURCEDEST或

cp[OPTION]...SOURCE...DIRECTORY或

cp[OPTION]...--target-directory=DIRECTORYSOURCE...

其中,OPTION為命令選項,參數(shù)SOURCE為源文件、SOURCE...為源文件列表、DEST為目標(biāo)文件、DIRECTORY為目標(biāo)目錄。局部命令選項及說明:命令選項選項說明-a等價于同時指定-dpR選項。-b復(fù)制時若目標(biāo)文件存在,則為已存在的目標(biāo)文件創(chuàng)建備份文件。-d當(dāng)復(fù)制符號鏈接文件或目錄時,把目標(biāo)文件或目錄也建立為符號鏈接的文件或目錄,并指向與源文件或目錄鏈接的原始文件或目錄。如果不加該選項,則復(fù)制中在遇到符號鏈接文件或目錄時,不是重新建立一個指向該原始文件或目錄的符號鏈接文件或目錄,而是直接復(fù)制該鏈接所指向的原始文件或目錄。-f無論目標(biāo)文件或目錄是否存在,都強(qiáng)制復(fù)制文件或目錄。-i覆蓋文件或目錄前要求用戶確認(rèn)。-H復(fù)制命令行中符號鏈接文件所指向的原始文件。-l對源文件建立硬鏈接,而非復(fù)制文件。-p復(fù)制文件或目錄時,保留源文件或目錄的屬性,包括擁有者、所屬組群、權(quán)限與時間。-P復(fù)制文件或目錄時,保留源文件或目錄的路徑(絕對或相對路徑),且目標(biāo)目錄必須存在。-r或-R遞歸處理,將指定目錄下的文件和子目錄一起復(fù)制。-s對源文件只是創(chuàng)建符號鏈接,而不是復(fù)制文件。-S尾字符串系統(tǒng)預(yù)設(shè)的備份文件尾字符串是“~”;用該選項可以修改它。--target-directory=目錄名將命令中所有SOURCE...參數(shù)指定的源文件或目錄復(fù)制到指定的目標(biāo)目錄。-u只在源文件日期比目標(biāo)文件新,或目標(biāo)文件不存在時才進(jìn)行復(fù)制。-v顯示命令執(zhí)行的詳細(xì)信息。-x不會在不同的文件系統(tǒng)之間進(jìn)行復(fù)制操作。使用cp命令的注意點:

第一、要注意是否有源、目標(biāo)文件的讀、寫權(quán)限。

第二、系統(tǒng)為了用戶文件平安實際上已經(jīng)添加了–i參數(shù),以提示同名覆蓋確認(rèn)。

第三、源、目標(biāo)既可以是文件名,也可以是目錄名。

第四、cp命令還有很多項選擇項,使用中可以利用聯(lián)機(jī)幫助。

參考例如1:

復(fù)制文件file1、file2、file3與目錄directory1到目錄directory2下。

#cp–Rfile1file2file3directory1directory2

本例由于源目錄中還有目錄存在,所以必須加-R選項,否那么目錄無法復(fù)制。如果源文件或目錄超過一個,那么目標(biāo)目錄必須存在,否那么會出現(xiàn)錯誤信息。參考例如2:

復(fù)制符號鏈接文件sever到目標(biāo)目錄/home/stu下。

#cp–dsever/home/stu/

本例是復(fù)制符號鏈接文件,如果不使用-d選項,那么復(fù)制的是符號鏈接文件所指向的原始文件。

參考例如3:

復(fù)制/var/tmp/netvigator文件到目錄twngsm下。

#cp–P/var/tmp/netvigatortwngsm

本例由于使用了-P選項,所以文件netvigator將會在twngsm/var/tmp目錄中,而不是在twngsm目錄中。另外,目標(biāo)目錄twngsm目錄必須存在。2、圖形方式

圖形方式下復(fù)制文件或目錄非常簡單,與Windows系統(tǒng)下的復(fù)制操作類似。在一個翻開的目錄窗口中選擇源文件或目錄〔一個或多個,如果是多個,那么按住Ctrl鍵〕,單擊鼠標(biāo)右鍵,在彈出式菜單中選擇“復(fù)制文件”;再在另一個目錄窗口中的空白處單擊鼠標(biāo)右鍵,在彈出式菜單中選擇“粘貼文件”即可完成文件或目錄的復(fù)制操作。此外,也可以在選中的文件或目錄圖標(biāo)上按住鼠標(biāo)左鍵不放,拖動到另一個目錄窗口中。5.2.2.5移動文件或目錄

移動實際上就是把選中的源文件或目錄復(fù)制到目錄樹上某個指定的位置,再把源文件刪除。移動文件或目錄可以在命令行方式下,也可以在圖形方式下進(jìn)行。

1、命令行方式

在命令行方式下采用mv命令移動文件或目錄,該命令也可用于為文件或目錄更名。

命令用法:

mv[OPTION]...SOURCEDEST 或

mv[OPTION]...SOURCE...DIRECTORY 或

mv[OPTION]...--target-directory=DIRECTORYSOURCE...

該命令的參數(shù)與cp命令相同,命令選項也很類似。局部命令選項及說明:命令選項選項說明-b移動時若目標(biāo)文件存在,則為已存在的目標(biāo)文件創(chuàng)建備份文件。-f強(qiáng)制移動文件或目錄,若要覆蓋,無須用戶確認(rèn),。-i覆蓋文件或目錄前要求用戶確認(rèn)。-S尾字符串系統(tǒng)預(yù)設(shè)的備份文件尾字符串是“~”;用該選項可以修改它。-u只在源文件日期比目標(biāo)文件新,或目標(biāo)文件不存在時才進(jìn)行移動,文件更名時也是如此。-v顯示命令執(zhí)行的詳細(xì)信息。 使用mv命令的注意點與使用cp命令類似。

參考例如1:

在當(dāng)前目錄下移動文件sudo.txt、suid.txt和目錄bin到目標(biāo)目錄/home/stu/temp下。

$mvsudo.txtsuid.txtbin/home/stu/temp

移動文件或目錄時,如果目標(biāo)目錄不存在,那么系統(tǒng)會自動建立。本例沒有使用-i選項,但系統(tǒng)會默認(rèn)覆蓋前提請用戶確認(rèn)。

參考例如2:

把當(dāng)前目錄下文件sudo.txt更名為sd.txt,如果sd.txt存在,那么將它備份為sd.txtbak文件。

$mv–b–Sbaksudo.txtsd.txt

本例用-b選項實現(xiàn)同名目標(biāo)文件的備份,用-S選項把系統(tǒng)預(yù)設(shè)的備份文件尾字符串“~”修改為bak字符串。2、圖形方式

圖形方式下移動文件或目錄非常簡單,與Windows系統(tǒng)下的移動操作類似。在一個翻開的目錄窗口中選擇源文件或目錄〔一個或多個,如果是多個,那么按住Ctrl鍵〕,單擊鼠標(biāo)右鍵,在彈出式菜單中選擇“剪切文件”;再在另一個目錄窗口中的空白處單擊鼠標(biāo)右鍵,在彈出式菜單中選擇“粘貼文件”即可完成文件或目錄的移動操作。5.2.2.6刪除空目錄

當(dāng)系統(tǒng)中有空目錄要刪除時,可以使用rmdir命令。如果所指定刪除的目錄非空,那么會出現(xiàn)錯誤信息。

命令用法:

rmdir[OPTION]…DIRECTORY…

OPTION為命令選項,參數(shù)DIRECTORY…為要刪除的空目錄列表。

命令選項及說明:命令選項選項說明--ignore-fail-on-non-empty忽略刪除非空目錄時錯誤信息(沒有刪除目錄)。-p刪除指定的空目錄后,若其上級目錄也已為空時則一起刪除。-v顯示命令執(zhí)行的詳細(xì)過程。5.2.2.7刪除文件或目錄

對于一些不再使用的文件或目錄,用戶或系統(tǒng)管理員都應(yīng)該及時刪除它們,以便讓出更多的磁盤空間保證系統(tǒng)穩(wěn)定地運行。刪除文件或目錄既可以在命令行方式下,也可以在圖形方式下。

命令行方式

在命令行方式下,刪除文件或目錄使用rm命令。如果用戶刪除文件,那么該用戶必須要有對所刪除文件的寫權(quán)限;如果用戶刪除目錄,那么該用戶除了對所刪除目錄必須有寫權(quán)限外,還要有執(zhí)行的權(quán)限才能進(jìn)入目錄。

命令用法:

rm[OPTION]...FILE...

其中,OPTION為命令選項,F(xiàn)ILE…為命令參數(shù)、指定要刪除文件或目錄的列表。局部命令選項及說明:命令選項選項說明-d可以刪除非空的目錄(只限超級用戶)。-f強(qiáng)制刪除文件或目錄。該選項會忽略放在它前面的-i選項。-i刪除文件或目錄前先請用戶確認(rèn)(默認(rèn))。該選項會忽略放在它前面的-f選項。-r或-R遞歸處理,將指定目錄下的所有文件和子目錄一起刪除。-v顯示命令執(zhí)行的詳細(xì)過程。使用rm命令的注意點:

第一、如果用rm命令刪除目錄,那么一定要使用-r或-R選項;否那么無法刪除目錄。

第二、要刪除第一個字符為‘-’的文件(例如‘-foo’),請使用以下其中一種方法:

rm---foo

或 rm./-foo

第三、如果使用rm命令刪除文件,通??梢詫⒃撐募謴?fù)。如果想保證文件的內(nèi)容無法復(fù)原可以使用shred命令,但shred命令對許多種文件系統(tǒng)是無效的,包括ext3。參考例如:

刪除當(dāng)前目錄中的所有文件和子目錄。

rm–r*

由于系統(tǒng)默認(rèn)參加-i選項,所以每刪除一個文件或目錄都會要求用戶確認(rèn),如果無需確認(rèn),那么可以增加-f選項。

2、圖形方式

在圖形方式下要刪除文件或目錄時可以在一個翻開的目錄窗口中選擇要刪除的文件或目錄〔一個或多個,如果是多個,那么按住Ctrl鍵單擊文件圖標(biāo)〕,單擊鼠標(biāo)右鍵,在彈出式菜單中選擇“移動到回收站”,這種方式刪除的文件或目錄是可以恢復(fù)的;如果要徹底地刪除,那么可以在選中文件或目錄后按“Del”鍵刪除。5.2.2.8顯示目錄內(nèi)容

在Linux系統(tǒng)中,要顯示當(dāng)前目錄下的文件和目錄在圖形方式下非常直觀,但是有些功能被分散到假設(shè)干個系統(tǒng)圖形應(yīng)用程序中實現(xiàn),所以使用上沒有用命令行方式快捷。

1、命令行方式

顯示當(dāng)前目錄下的文件和目錄使用ls命令,它是用戶最常用的一條命令,其功能類似于MS-DOS下的dir命令,但是它的功能更強(qiáng)大、參數(shù)和選項也更多。例如,可以遞歸列出當(dāng)前目錄下各子目錄的所有內(nèi)容等。

命令用法:

ls[-OPTION]…[FILE]…

參數(shù)FILE…是指定列出的文件或目錄列表,OPTION為命令選項。命令中如果不指定選項和參數(shù),那么系統(tǒng)默認(rèn)列出當(dāng)前目錄下除隱藏文件、本級目錄〔.〕和上級目錄〔..〕以外的所有文件。局部命令選項及說明:命令選項選項說明-1每列只顯示一個文件或目錄名稱。-a顯示所有文件,包括隱藏文件、本級和上級目錄。-A顯示所有文件,包括隱藏文件,但不包括本級和上級目錄。-b以八進(jìn)制顯示非圖形的轉(zhuǎn)義字符。-B忽略備份文件和目錄。不顯示名稱具有備份字尾字符“~”的文件或目錄。-c所顯示的文件和目錄按它們的修改時間排序。如果與-l選項一起使用可以顯示修改時間。--color=[WHEN]設(shè)置是否使用顏色區(qū)分文件類型。參數(shù)WHEN可以是“never”,“always”,或“auto”。-C按從上到下、從左到右的分欄方式顯示文件和目錄名稱(系統(tǒng)默認(rèn)方式)。-d顯示目錄名稱,而不是目錄的內(nèi)容。讀者可以自己比較ls/bin與ls–d/bin的差別。-f不對目錄中的文件排序,而是直接按照文件在磁盤中的存放順序顯示。-F在可執(zhí)行文件、目錄、Socket、符號鏈接文件、管道文件后面各自加上“*”、“/”、“=”、“@”、“|”符號。--full-time顯示效果與用-l選項類似,但列出完整的日期與時間。-g除了不列出文件主信息外,顯示結(jié)果與-l選項一樣。-G該選項與-l一起使用時其效果與-o選項一樣,即不顯示組群名稱。-h以容易理解的形式顯示文件或目錄的大小,即以K、M、G為單位。該選項要與-l、-o等一起使用。--si該選項的顯示效果與-h類似,但計算單位是1000Bytes而不是1024Bytes。-i顯示文件和目錄的inode編號。-I范本模式或--ignore=范本模式不顯示符合范本模式的文件或目錄。注意:-I與范本模式之間沒有空格。如ls–If*,則不顯示所有以f開頭的文件或目錄。-k指定顯示時,塊的大小為1K。效果同選項--block-size=1K。-l使用詳細(xì)格式顯示。使用該選項后,ls命令會將權(quán)限標(biāo)識、硬鏈接數(shù)目、擁有者與組群名稱、文件或目錄大小以及修改時間等信息一起顯示。-L對符號鏈接文件或目錄直接列出該鏈接所指向的原始文件或目錄。除名稱之外,其他各項如權(quán)限標(biāo)識、硬鏈接數(shù)目、擁有者與組群名稱、文件或目錄大小以及修改時間等,都以所指向的原始文件或目錄為準(zhǔn)。該選項常與-l一起使用。-m顯示以逗號分隔的文件和目錄名稱。按從上到下、從左到右的橫列方式顯示。如果該選項與-l或-o連用,則顯示效果以在后面的選項為主。-n以UID和GID代替文件和目錄的名稱。該選項需要與-l或-o等連用。-o該選項的顯示效果與用-l類似,但不顯示組群名稱或GID。-p該選項的顯示效果與用-F類似,但不會在可執(zhí)行文件名后面加上*號。-q用“?”代替控制字符,列出文件和目錄名稱。-Q把文件和目錄名稱用“”括起來。-r顯示的文件和目錄名以逆序排列。-R遞歸處理,將指定目錄下的所有文件和子目錄的內(nèi)容一起顯示。-s以塊為單位,顯示文件和目錄的大小。-S按文件和目錄的大小排序顯示。-t按文件和目錄的修改時間排序顯示。-TTAB字?jǐn)?shù)設(shè)置TAB字符所對應(yīng)的空白字符數(shù)。預(yù)設(shè)值為8。-u按最后存取時間排序顯示文件和目錄名稱。如果與-l選項連用,則可以顯示存取時間。-U顯示文件和目錄名稱時不排序。-v按版本排序顯示文件和目錄名稱。-w字符數(shù)/列設(shè)置每列的最大字符數(shù)。-x按從左到右、從上到下的橫列方式顯示文件和目錄名稱。-X按文件擴(kuò)展名排序顯示(即最后一個“.”后面的字母),沒有擴(kuò)展名的文件排在前面。 ls命令的可用選項很多,這里僅列舉局部選項,其他的讀者可以請求聯(lián)機(jī)幫助。雖然該命令的選項很多,但常用的就幾個,如–a、–l、-R等。如果有多個選項,那么可以連在一起給出,如–al等價于–a–l。文件和目錄名稱可以包含通配符*和?。

在Linux系統(tǒng)中,還有一個顯示目錄內(nèi)容的命令是dir,這個命令與ls命令無論在功能上還是在參數(shù)選項上都根本上相同;但是它不是MS-DOS下dir命令的翻版,其用法、參數(shù)選項也都不一樣。2、圖形方式

在圖形方式下要查看目錄內(nèi)容,只要從桌面上進(jìn)入用戶的主目錄后就可以根據(jù)需要逐級查看了,如圖4-15顯示超級用戶的root目錄內(nèi)容。如果要對文件或目錄排序,那么可以從“查看”菜單下的“排列工程”菜單項選擇,如圖5-4所示;如果要顯示隱藏和備份文件或目錄,那么需要從“編輯”菜單下的“首選項”菜單翻開“文件管理首選項”窗口的“視圖”選項卡進(jìn)行修改。

圖5-4圖形方式下顯示目錄內(nèi)容

在圖形方式下,由于某些ls命令的選項功能并沒有實現(xiàn),例如顯示文件或目錄的inode等;所以許多系統(tǒng)管理員更喜歡工作在命令行方式下。5.3查找文件 如果用戶忘記了自己的文件或目錄在磁盤上的哪個目錄中,那么只要知道文件或目錄的名稱〔或局部字母〕就可以找到它們。在圖形方式下查找文件或目錄雖然簡單、直觀和方便,但是其附加功能受到限制;而在命令行方式下命令使用靈活、附加功能強(qiáng)大,但是命令的參數(shù)選項很多對初學(xué)者可能會感到不便。5.3.1命令行方式

在命令行方式下查找文件或目錄使用find命令。該命令可以根據(jù)給定的條件查找文件或目錄,如果需要還可對找到的文件或目錄執(zhí)行各種命令。

根本用法:

find[path...][-namefilename]

其中,path...為查找的路徑,缺省是當(dāng)前目錄;filename為要查找的文件或目錄名,可以是全名或帶通配符的局部文件或目錄名。注意:非當(dāng)前目錄下查找文件或目錄時,命令選項-name不能省略。根本用法并沒有充分發(fā)揮該命令的強(qiáng)大功能,要實現(xiàn)限定條件或更加精確或附加執(zhí)行命令等功能的查找就要使用高級用法。完整用法:

find[path...][expression]

其中,expression為表達(dá)式,它可以包含邏輯運算符、命令選項、測試條件和后續(xù)動作。以符號“-”、“(”、“)”、“,”或“!”開始的第一個參數(shù)被認(rèn)為是表達(dá)式的開始,在它之前的任何參數(shù)都會被視為搜索路徑,在它之后的是其余的表達(dá)式。如果表達(dá)式缺省,那么系統(tǒng)會以-print作為默認(rèn)值。

find命令將按照優(yōu)先級規(guī)那么從左到右地計算表達(dá)式并根據(jù)命令中列出的文件名〔或文件名列表〕搜索指定路徑的目錄〔或目錄列表〕,搜索以遞歸的方式進(jìn)行,直到搜索完所有指定的目錄。以下詳細(xì)說明表達(dá)式中主要的命令選項、測試條件和后續(xù)動作。 表達(dá)式說明:

1、命令選項

所有的命令選項總是返回“真”。這些選項對整個查找過程有效,而不是只對表達(dá)式中可及局部有效;所以它們最好放在表達(dá)式的最前面。常用的命令選項有:

-daystart

從本日開始計算時間,而非從24小時之前開始。該選項通常與

-amin、 -atime、-cmin、-ctime、-mmin、-mtime等一起使用。

-depth

從指定目錄的最深子目錄處開始查找。試比較以下兩種形式的運

行結(jié)果:

find/var–name“news*”和find/var–name“news*”-depth

-follow

排除符號鏈接文件。該選項隱含-noleaf選項。

-maxdepthlevels

設(shè)置最大目錄層數(shù)。該選項可以決定find命令的查找范圍。例

如,目錄層數(shù)設(shè)為3,就會從指定目錄算起,再向下搜索2層。如

果目錄層數(shù)設(shè)置為1,那么不會搜索任何子目錄的內(nèi)容。-mindepthlevels

設(shè)置最小目錄層數(shù)。該選項可以決定find命令的查找范圍。例

如,目錄層數(shù)設(shè)為3,就會從指定目錄的下面兩層子目錄開始搜

索,依此類推。

-mount

不在其他文件系統(tǒng)中查找。為了與其他版本的find命令兼容,該

選項也可以寫為-xdev。

-noleaf

不考慮目錄至少需要有兩個硬鏈接的存在。一般在UNIX的文件

系統(tǒng)里,每個目錄至少會有兩個硬鏈接存在,一個是目錄名稱,

另一個是當(dāng)前目錄“.”項,如果有子目錄,那么還有鏈接到父目錄的

上級目錄“..”項。但是其他文件系統(tǒng)不一定具有這種特性,例如,

CD-ROM或MS-DOS的文件系統(tǒng),以及AFS〔Andrew

Filesystem〕卷的安裝點等。find命令默認(rèn)會針對這種特性設(shè)置

最正確化的查找方式。如果在沒有類似鏈接性質(zhì)的文件系統(tǒng)中查找

文件時取消這種最正確化的查找方式,可以提高查找的速度。

-xdev

該選項與-mount選項效果相同。測試的結(jié)果返回“真”或“假”,決定是否滿足查找文件或目錄的條件。測試所帶的數(shù)字參數(shù)和條件可以指定為:

+n 表示大于n,

-n 表示小于n,

n 表示等于n。

-aminn

如果存在n分鐘前訪問過的文件或目錄,那么返回“真”。

如果是+n表示超過n分鐘;如果是--n表示n分鐘之內(nèi)。

以下n的含義與此相同。

-anewerfile

如果存在比參數(shù)file指定的文件或目錄訪問時間更近的

文件或目錄,那么返回“真”。假設(shè)與命令選項-follow一起使

用,那么要放在它之后才有效。

-atimen

如果存在n天前訪問過的文件或目錄,那么返回“真”。2、測試條件-cminn

如果存在n分鐘前修改的文件或目錄,那么返回“真”。

-cnewerfile

如果存在比參數(shù)file指定的文件或目錄修改時間更近的

文件或目錄,那么返回“真”。假設(shè)與命令選項-follow一起使

用,那么要放在它之后才有效。

-ctimen

如果存在n天前修改正的文件或目錄,那么返回“真”。

-empty

如果存在大小為0字節(jié)的文件、或空目錄,那么返回“真”。

-false

將find命令的返回值都設(shè)置為false。

-fstypetype

如果參數(shù)type指定文件系統(tǒng)類型的文件或目錄存在,

那么返回“真”。 用戶可以使用find/-printf%F命令查看

計算機(jī)文件系統(tǒng)的類型。-gidn

如果存在參數(shù)n指定的組群ID的文件或目錄,那么返回“真”。

-groupgname

如果存在參數(shù)gname指定組群名稱的文件或目錄,那么返

回“真”〔也可以使用組群ID〕。

-ilnamepattern

與指定-lname類似,但忽略字符大小寫的差異。

-inamepattern

與指定-name類似,但忽略字符大小寫的差異。

-inumn

如果存在i節(jié)點為n的文件,那么返回“真”。

-ipathpattern

與指定-path類似,但忽略字符大小寫的差異。

-iregexpattern

與指定-regex類似,但忽略字符大小寫的差異。

-linksn

如果存在硬鏈接數(shù)為n的文件或目錄,那么返回“真”。-lnamepattern

如果存在符號鏈接所指向的文件或目錄與參數(shù)pattern

匹配,那么返回“真”。匹配字符不處理“/”或“.”字符。

-mminn

查找在指定的時間曾經(jīng)被修改正的目錄或文件,時間單位

為分鐘。

-mtimen

查找在指定的時間曾經(jīng)被修改正的目錄或文件,時間單位

為天。

-namepattern

如果存在與參數(shù)pattern匹配的文件或目錄,那么返回“真”。

參數(shù)pattern為文件或目錄名字符串,可以使用通配符,

但是包含通配符的文件或目錄名最好用雙引號“”括起來。

-nouser

如果存在不屬于本地主機(jī)用戶ID的文件或目錄,那么返回“真”。

-nogroup

如果存在不屬于本地主機(jī)組群ID的文件或目錄,那么返回“真”。-pathpattern

如果存在與參數(shù)pattern匹配的文件或目錄,那么返回

“真”。如果查找 從當(dāng)前目錄開始,那么其中參數(shù)

pattern要以./開始,且用單引號或雙引號括起來;如

果不是從當(dāng)前目錄開始查找,那么patterm中必須指出路

徑。pattern可以使用通配符,但是特殊字符“/”和“.”不

會被處理。例如,使用find.-path‘./sr*sc’查找時輸出

的可能是./src/misc目錄。為了忽略一個目錄樹,使用-

prune動作。例如,為了忽略src/emacs目錄和該目錄

下的所有文件和子目錄,而在當(dāng)前目錄下查找時,可

以這樣實現(xiàn):

find.-path‘./src/emacs’-prune-o–print。

-permmode

如果存在權(quán)限位與參數(shù)mode〔八進(jìn)制〕精確匹配的文

件或目錄,那么返回“真”。+或-mode表示非精確匹配

〔即可以局部匹配〕。-regexpattern

如果存在名稱與參數(shù)pattern指定的正那么表達(dá)式匹配的

文件或目錄,那么返回“真”。其中參數(shù)pattern以./開始,

且用單引號或雙引號括起來;pattern可以使用通配符。

在正那么表達(dá)式中.〔點〕匹配任意一個字符。例如,要

匹配一個名為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表示以兩個字節(jié)為單位。

-true

將find命令的返回值都設(shè)置為true。-typec

如果參數(shù)c指定類型的文件存在,那么返回“真”。參數(shù)c可

以是:

b 塊設(shè)備文件

c 字符設(shè)備文件

d 目錄文件

p 管道文件〔FIFO〕

f 普通文件

l 符號鏈接文件

s 套接字文件

D 通道文件〔Solaris網(wǎng)絡(luò)操作系統(tǒng)〕

-uidn

如果存在參數(shù)n指定的用戶ID的文件或目錄,那么返回“真”。

-usedn

如果存在修改正,并在參數(shù)n指定的時間〔以天為單位〕

被訪問過的文件或目錄,那么返回“真”。-useruname

如果存在參數(shù)uname指定的擁有者名稱的文件或目

錄,那么返回“真”〔也可以使用用戶ID〕。

-xtypec

效果與-type類似,除非是對符號鏈接文件。如果符號

鏈接所指向的原始文件符合參數(shù)c指定的文件類型,

且沒有與命令選項-follow一起使用,那么返回“真”。如

果與命令選項-follow一起使用,參數(shù)c必須指定文件

類型為l時,返回才為“真”。換句話說,對于符號鏈

接,-xtype檢查文件類型,而-type不檢查。3、后續(xù)動作

-execcommand;

如果find命令的測試結(jié)果為“真”,就執(zhí)行參數(shù)command所指

定的命令;所執(zhí)行命令的末尾必須以“\;”結(jié)束,查找得到的

文件名可以使用{}代替。命令形式為-execcommand{

}\;,

注意:在command和{}之間,{}和\;之間存在空格。

-flsfile

效果與-ls動作類似,但是當(dāng)測試為“真”時,像-fprint動作一樣

把結(jié)果保存到參數(shù)file指定的文件中。

-fprintfile

如果find命令的測試結(jié)果為“真”,那么將找到的文件或目錄名保

存到參數(shù)file指定的文件中。如果該文件不存在,那么建立它;

如果該文件存在,那么覆蓋它。-okcommand;

效果與-exec動作類似,但是在執(zhí)行參數(shù)指定的命令之前會

先詢問用戶,假設(shè)用戶答復(fù)不是“y”或“Y”,那么放棄執(zhí)行命令。

-print

這是find命令缺省的動作。如果find命令的測試結(jié)果為“真”,

那么將找到的文件或目錄名稱在標(biāo)準(zhǔn)輸出設(shè)備上輸出;每個文

件或目錄名稱占一行。該動作也可以帶參數(shù)指定輸出的格式。

-print0

與-print類似,只是輸出的文件或目錄名稱在同一行,當(dāng)一行

顯示滿時自動換行。

-prune

不在當(dāng)前目錄查找。如果與命令選項-depth一起使用,那么該

動作無效。

-ls

如果find命令的測試結(jié)果為“真”,那么將找到的文件或目錄名稱

在標(biāo)準(zhǔn)輸出設(shè)備上以ls–dils命令的格式輸出;4、邏輯運算符

用來組合命令選項、測試和動作,形成多條件、復(fù)雜的邏輯表達(dá)式,運算符與表達(dá)式之間均有空格。以下按優(yōu)先級遞減的順序列出所有運算符的用法〔expr為表達(dá)式,〕:

(expr) 強(qiáng)制優(yōu)先。括號前一定要加“\”轉(zhuǎn)義字符,括號

與表達(dá)式之間要有空格。

!expr或-notexpr

非運算。

expr1expr2或expr1-aexpr2或expr1-andexpr2

與運算,與運算符缺省為空格。

expr1-oexpr2 或expr1-orexpr2

表示或運算。

expr1,expr2

逗號列表。列表的返回值是expr2的值,expr1

的值被丟棄。比較以下這兩個命令的區(qū)別:

find/sbin–namefsck–ofdisk 與

find/sbin–namefsck,fdisk參考例如1:

在目錄/usr下查找文件名中擴(kuò)展名為.c的文件。

$find/usr–name*.c–print

-print表示假設(shè)find返回“真”,那么把找到的文件從標(biāo)準(zhǔn)設(shè)備輸出。該動作可省略。

參考例如2:

在當(dāng)前目錄及子目錄中查找文件名以一個大寫字母開頭的文件。

$find.-name“[A-Z]*”

在文件或目錄名中有多個通配符的情況下,要使用單引號或雙引號。參考例如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個字節(jié)的文件。

$find/home/stu1-size-100c

在-100c中,-表示小于;c表示以字節(jié)為單位。參考例如9:

在當(dāng)前目錄下查找修改時間比hello.c文件新的文件。

$find.-cnewerhello.c

本例中的測試也可以使用-newer,效果是一樣的。

參考例如10:

查找/root目錄下所有含有foxy或river字符串,且在兩天前被訪問過的文件,將這些文件權(quán)限都設(shè)置為對文件所有者可讀/寫,組用戶可讀,其他用戶可讀。

#find/root\(-namefoxy*-o–nameriver*-atime2\)–print–execchmod644{}\;

本例要注意邏輯運算符的使用,以及-exec動作的格式規(guī)定。5.3.2圖形方式

在系統(tǒng)狀態(tài)欄上單擊“開始〔紅帽子〕”,從彈出式菜單中單擊“查找文件…”菜單項,即可看到圖形方式下文件查找程序的運行界面如圖5-5所示。它是以命令行方式下的根本用法為框架,既可以實現(xiàn)文件的根本查找,也可以實現(xiàn)帶有其他測試條件的復(fù)雜查找。以下簡要介紹它的用法:

1.根本查找

首先,在“Fileisnamed”輸入框中輸入要查找文件的文件全名或帶有通配符的局部文件名;其次,在“Lookinfolder”輸入框中輸入指定查找的路徑目錄名;最后,按“查找”鈕后即可實現(xiàn)命令行方式中按-name測試的文件查找。

如果找到指定的文件,那么文件的文件信息在“搜索結(jié)果”列表框中顯示;如果沒有找到,那么顯示“找不到文件”的信息。圖5-5圖形方式下文件查找2.添加測試條件〔搜索選項〕

在文件查找中經(jīng)常要用到一些其他的測試條件以實現(xiàn)多條件、復(fù)雜表達(dá)式的查找。首先,單擊搜索文件窗口中的“AdditionalOptions”區(qū)域;其次,單擊翻開“Availableoptions”下拉列表框,如圖5-6所示;第三,在下拉列表中選擇要使用的搜索選項;第四,單擊“添加”按鈕,以添加該搜索選項到“Availableoptions”下拉列表中;第五,根據(jù)搜索規(guī)那么指定要求的搜索信息;第六,對要使用的搜索選項重復(fù)以上步驟。添加搜索選項后如圖5-7所示。圖5-6可用搜索選項列表圖5-7添加搜索選項 圖形方式下只是列出命令行方式中局部的測試條件,這些測試條件的含義已經(jīng)在命令方式文件查找中做過介紹。用戶可以根據(jù)自己查找的需要添加假設(shè)干搜索選項并在輸入框中輸入需要的內(nèi)容。

3、停止搜索

在查找文件完成之前,如果要停止文件查找,那么隨時單擊“停止”按鈕即可終止文件查找。4、查找結(jié)果的操作

要在“搜索結(jié)果”列表框中對找到的文件翻開顯示,先選中該文件,再單擊鼠標(biāo)右鍵,在彈出的菜單中選擇“翻開〔Open〕”或直接用鼠標(biāo)左鍵在文件名上雙擊。

要在“搜索結(jié)果”列表框中對找到的文件夾翻開顯示,先選中該文件夾,再單擊鼠標(biāo)右鍵,在彈出的菜單中選擇“翻開文件夾〔OpenFolder〕”。

要在“搜索結(jié)果”列表框中把找到的文件復(fù)制到桌面上的目標(biāo)區(qū)域,可以直接拖動該文件到目標(biāo)區(qū)域。5、保存查找結(jié)果

要保存查找的結(jié)果時,在“搜索結(jié)果”列表框中單擊鼠標(biāo)右鍵,然后選擇“結(jié)果另存為〔SaveResultsAs…〕”,在翻開的對話框中輸入要保存的文件名后單擊“確定”鈕。5.4修改文件權(quán)限 當(dāng)某個用戶要對文件進(jìn)行讀或?qū)懟驁?zhí)行時,如果沒有相應(yīng)的權(quán)限,那么用戶就要修改文件的權(quán)限。如果該用戶對文件有寫權(quán),那么可以改變文件的權(quán)限。 例如、某用戶編寫一個shell文件〔腳本文件〕,當(dāng)要執(zhí)行時就要修改文件的權(quán)限,使其可執(zhí)行。如果該用戶對文件沒有寫權(quán),那么必須請系統(tǒng)管理員來修改文件的權(quán)限。 超級用戶〔root〕或具有超級用戶權(quán)限的系統(tǒng)管理員對所有文件都有寫權(quán)限,也就意味著他們對所有文件都有權(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ù)字代號。該命令無法改變符號鏈接文件本身的權(quán)限,如果對符號鏈接文件修改權(quán)限,會改變被鏈接原始文件的權(quán)限。 命令用法中MODE、OCTAL-MODE、FILE…為命令參數(shù),OPTION為命令選項。

參數(shù)MODE包含權(quán)限范圍、修改動作、權(quán)限代號3個局部的內(nèi)容。其中,

權(quán)限范圍表示如下:

u:表示User,即文件或目錄的擁有者〔文件主〕。

g:表示Group,即文件或目錄所屬的組群〔同組用戶〕。

o:表示Other,即除文件或目錄的擁有者或所屬組群之外的

其他用戶。

a:表示All,即所有的用戶,包括擁有者、所屬組群和其他

用戶。

權(quán)限范圍中的u、g、o可以一起使用,例如寫為ugo等價于a;也可以單獨使用。修改動作表示如下:

+:表示將隨后的權(quán)限追加到原來的權(quán)限上。

-:表示將隨后的權(quán)限從原來的權(quán)限中除去。

=:表示將隨后的權(quán)限直接賦予,而不管原來的權(quán)限情況。

修改動作表示對權(quán)限范圍中的u、g、o或a,增加、減少或賦予權(quán)限的操作。

權(quán)限代號表示如下:

r:可讀權(quán)限,數(shù)字代號為4。

w:可寫權(quán)限,數(shù)字代號為2。

x:執(zhí)行權(quán)限,數(shù)字代號為1。

-:沒有任何權(quán)限,數(shù)字代號為0。

s:特殊權(quán)限SUID或SGID,各自代表擁有者和所屬組群的特

殊權(quán)限。數(shù)字代號分別為4和2。

t:特殊權(quán)限Sticky,數(shù)字代號為1。 特殊權(quán)限的數(shù)字代號位于普通權(quán)限的數(shù)字代號之前。例如,4644、6644、1644等。

對于權(quán)限代號,chmod命令的第一種方式用字符代號,第二種方式用數(shù)字代號。

參數(shù)OCTAL-MODE是八進(jìn)制的數(shù),直接描述一個文件的權(quán)限。在Linux系統(tǒng)中一個文件或目錄的權(quán)限可以用十位二進(jìn)制數(shù)表示,后9位中,每3位一組分別表示文件主、同組用戶和其他用戶的讀、寫和執(zhí)行權(quán)限。對于普通文件第一位二進(jìn)制數(shù)為0,其他各位的設(shè)置原那么是:有權(quán)限就為1,否那么就為0。把二進(jìn)制轉(zhuǎn)換為八進(jìn)制就是OCTAL-MODE參數(shù)。

參數(shù)FILE…表示要修改的文件或目錄的列表。主要命令選項及說明:命令選項選項說明-c顯示效果與-v選項類似,但只顯示更改的部分。-f不顯示錯誤信息。-v顯示命令執(zhí)行的詳細(xì)過程。-R遞歸處理,將指定目錄下的所有文件及子目錄一起處理。--reference=參考文件或目錄把命令中參數(shù)FILE所指定文件或目錄的權(quán)限,設(shè)置成參考文件或目錄的權(quán)限。 如果普通用戶設(shè)置的是目錄權(quán)限,那么相應(yīng)的權(quán)限范圍〔u、g、o或a〕內(nèi)一定要設(shè)為可執(zhí)行,否那么無法進(jìn)入該目錄!

參考例如1:

某普通文件的權(quán)限要改為對文件主可讀、寫、執(zhí)行;對同組用戶可讀、可執(zhí)行;對其他用戶可執(zhí)行。采用chmod命令的第二種方式設(shè)置權(quán)限。

根據(jù)題目原意,對應(yīng)的文件權(quán)限字段為–rwxr-x—x

對應(yīng)的二進(jìn)制數(shù)為0111101001

對應(yīng)的八進(jìn)制數(shù)為0751

所以修改權(quán)限的命令為chmod0751filename

采用第二種方式時,每次使用都要計算MODE,初學(xué)的用戶可能會略感不便,但在對命令熟悉后這種方式設(shè)置權(quán)限更為快捷。用戶也可以使用chmod命令的第一種方式設(shè)置文件或目錄權(quán)限,該方式更為直觀。參考例如2:問題同前,采用chmod命令的第一種方式設(shè)置權(quán)限。命令為chmodu=rwx,g=rx,o=xfilename

如果要對文件主添加設(shè)置特殊權(quán)限SUID,那么執(zhí)行:

chmodu+sfilename

同理、如果要減少設(shè)置權(quán)限用“–權(quán)限字符”。

參考例如3:

把tango文件開放給所有用戶讀和寫。

第一種方式,執(zhí)行chmoda=rwtango

第二種方式,執(zhí)行chmod666tango參考例如4:設(shè)置cprogram目錄的權(quán)限為對擁有者可讀、可寫、可執(zhí)行,同組和其他用戶可讀、可執(zhí)行。第一種方式,chmoda=rx,u+wcprogram或

chmodu=rwx,g=rx,o=rxcprogram

第二種方式,chmod755cprogram從以上各個參考例如可以看到,第一種方式比較直觀,但參數(shù)較多,該格式對所有用戶設(shè)置相同的權(quán)限特別方便。5.4.2圖形方式

對于系統(tǒng)管理員而言,經(jīng)常工作在字符界面下〔速度較快、系統(tǒng)更穩(wěn)定〕,故常常用chmod命令;但一般用戶更喜歡在圖形界面下工作,在圖形方式下修改文件或目錄權(quán)限非常方便、直觀。

進(jìn)入該文件所在的目錄,選中該文件后單擊鼠標(biāo)右鍵,選擇屬性,雙擊翻開屬性對話框,單擊“權(quán)限選項卡”即可看到各類用戶的文件訪問權(quán)限和特殊標(biāo)志〔權(quán)限〕的多項選擇框,如圖5-8所示;用鼠標(biāo)選中你所要權(quán)限的多項選擇框并關(guān)閉該“屬性”對話框窗口即可。圖5-8目錄屬性對話框的選項卡從圖5-8可以看到,“權(quán)限”選項卡上不但有權(quán)限設(shè)置多項選擇框,而且還有對應(yīng)的文本視圖和數(shù)字視圖。

參考例如:以圖形方式設(shè)置某個目錄的特殊權(quán)限。 圖5-9文件特殊權(quán)限設(shè)置例如

圖5-9中,左邊的圖是特殊權(quán)限設(shè)置前,右邊是設(shè)置后。當(dāng)設(shè)置用戶ID〔SUID〕后,文件主權(quán)限的可執(zhí)行標(biāo)志位變?yōu)閟。設(shè)置組群ID后,同組用戶權(quán)限的可執(zhí)行標(biāo)志位變?yōu)閟。設(shè)置粘附后,其他用戶的可執(zhí)行標(biāo)志位變?yōu)閠。5.5查看文件內(nèi)容 用戶有時需要查看一些文件的內(nèi)容,如果文件比較大還需要能分頁顯示。在圖形方式下有許多編輯器軟件,只要通過鼠標(biāo)操作就可以方便地滿足這種需求。但是在命令行方式下使用命令可以實現(xiàn)更多的功能,用法也更靈活。在Linux系統(tǒng)中,常用的查看文件內(nèi)容的命令有cat、more、less等,熟悉這些命令可以使普通用戶或系統(tǒng)管理員工作更加便利。5.5.1cat命令

命令用法:

cat[OPTION][FILE]…

OPTION為命令選項,參數(shù)FILE…為文件列表。該命令不但可以查看小文件的內(nèi)容,也可以把參數(shù)中所指定的假設(shè)干個文件通過輸出重定向或輸出附加重定向命令連接成一個文件;如果參數(shù)中的文件名不指定或指定為“-”,那么cat命令從標(biāo)準(zhǔn)輸入設(shè)備〔鍵盤〕上讀取數(shù)據(jù),然后再把所獲得的數(shù)據(jù)輸出到輸出設(shè)備,因此cat命令還可以用于建立小文件。命令選項及說明:命令選項選項說明-A該選項的效果與同時指定-vET選項相同。-b在顯示文件內(nèi)容時,在非空白行前面顯示行號。編號從1開始遞增。-e該選項的效果與同時指定-vE選項相同。-E在顯示文件內(nèi)容時,在每一行的最后加上“$”符號。-n在顯示文件內(nèi)容時,在每一行前面加上行號(包括空白行)。編號從1開始遞增。-s如果文件中有多個連續(xù)空白行,則顯示時只以一行表示。-t該選項的效果與同時指定-vT選項相同。-T將文件中的跳格字符(Tab)以“^I”表示。-v除換行字符(LFD)和跳格字符外,其他控制字符都以“^”字符表示,擴(kuò)展字符(十進(jìn)制ASCII碼大于127的)用“M-”表示。 從cat命令選項可以看到,要對一個文件加上行號或要顯示文件中的控制字符非常方便,而在圖形方式下實現(xiàn)這些功能相對就比較麻煩了。

參考例如1:

顯示用戶主目錄下的.bashrc文件內(nèi)容,并在每行前加上行號。

執(zhí)行:cat–n/root/.bashrc

顯示:1 #.bashrc

2

3 #Userspecificaliasesandfunctions

4

5 aliasrm='rm-i'

6 aliascp='cp-i'

7 aliasmv='mv-i'

8

9 #Sourceglobaldefinitions

10 if[-f/etc/bashrc];then

11 ./etc/bashrc

12 fi

參考例如2:

把文件file1和file2合并成file3。

$catfile1file2>file3

如果文件file3已經(jīng)存在,那么合并后的新文件將覆蓋它;如果只是添加到文件file3中,那么可以使用輸出附加重定向>>命令,這樣就會添加到文件原有內(nèi)容之后。5.5.2more命令

當(dāng)用戶要查看一些比較大型的文件時,使用cat命令就會感到非常不方便,因為它會連續(xù)顯示,直到文件結(jié)束才停止。在這種情況下可以使用more命令,該命令可以使文件分屏顯示以便于用戶閱讀,并顯示該文件已經(jīng)顯示的百分?jǐn)?shù),但該命令只能使文件向下瀏覽。任何時候按q鍵都可以退出顯示。

命令用法:

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

其中,參數(shù)file…為指定要顯示的文件列表,其他為命令選項。命令選項及說明:命令選項選項說明-num指定每次要顯示的行數(shù)。-d每屏下方顯示Pressspacetocontinue,’q’toquit。若用戶按下其他鍵,則顯示Press‘h’forinstructions信息。-lmore命令默認(rèn)在遇到^L控制字符時會暫停,若使用該選項可取消。-f計算行數(shù)時用實際行數(shù),而不是自動換行后的行數(shù)。-p顯示每屏內(nèi)容時不滾屏,而是先清屏再顯示。-c與-p類似,但從每屏的頂部開始顯示、同時清除屏上其他數(shù)據(jù)。-s如果文件中有連續(xù)的空白行,則將它們合并為一行。-u不顯示下引號。+/pattern在文件中查找指定的字符串,并顯示字符串所在頁的內(nèi)容。+linenum從指定的行數(shù)開始顯示。參考例如:

在telnet.txt文件中查找“The”字符串,并從該頁開始顯示文件內(nèi)容。

$more+/Thetelnet.txt

more命令適合查看大文件,如一些腳本程序;但more命令不能向前查看。另一個可以查看大文件內(nèi)容的命令是less,該命令允許查看文件時自由地前后翻看文件的內(nèi)容。less命令也有許多參數(shù)選項,讀者可以通過執(zhí)行manless進(jìn)行在線幫助。使用less命令查看文件時,更經(jīng)常、更方便的是用上、下光標(biāo)鍵前后逐行翻看、用pgup或pgdn鍵前后逐頁〔屏〕翻看。但是在圖形方式下的終端中,pgup和pgdn這兩個鍵已經(jīng)被其他功能占用。lessheadtail5.6文件壓縮與解壓縮

無論是軟件開發(fā)后制作發(fā)行版、或者是為節(jié)省磁盤空間、又或是通過網(wǎng)絡(luò)傳輸可能都要對軟件進(jìn)行壓縮,所以壓縮與解壓縮命令也是常用的命令。當(dāng)然、在圖形方式下也有使用方便的壓縮和解壓縮軟件,如文件打包器。5.6.1命令行方式

在Linux系統(tǒng)中,compress和uncompress命令是標(biāo)準(zhǔn)的壓縮與解壓縮命令,此外、還可以用gzip和gunzip命令來完成文件的壓縮與解壓縮工作。

5.6.1.1compress與uncompress命令

壓縮命令compress是一個歷史悠久的壓縮程序,文件經(jīng)過它壓縮后原文件的屬性保持不變,擴(kuò)展名為.Z。解壓縮命令uncompress實際上是指向compress程序的符號鏈接文件,解壓縮后文件屬性保持不變。因此,使用compress命令既可以壓縮文件也可以實現(xiàn)壓縮文件的解壓縮。

1、compress命令

命令用法:

compress[-dfvcVr][-bmaxbits][file…]

溫馨提示

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

最新文檔

評論

0/150

提交評論