《unix操作系統(tǒng)教學(xué)》第7章unix文件、目錄和檔案的操作_第1頁
《unix操作系統(tǒng)教學(xué)》第7章unix文件、目錄和檔案的操作_第2頁
《unix操作系統(tǒng)教學(xué)》第7章unix文件、目錄和檔案的操作_第3頁
《unix操作系統(tǒng)教學(xué)》第7章unix文件、目錄和檔案的操作_第4頁
《unix操作系統(tǒng)教學(xué)》第7章unix文件、目錄和檔案的操作_第5頁
已閱讀5頁,還剩45頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第7章 UNIX文件、目錄和檔案的操作使用文件和目錄是工作中不可回避的環(huán)節(jié)。通過前面的章節(jié),讀者已經(jīng)積累了一些文件和目錄的操作經(jīng)驗。本章將進一步介紹如何使用Shell管理文件和目錄。在正式講解相關(guān)命令之前,有必要介紹一下UNIX目錄結(jié)構(gòu)的組織形式。第7章 UNIX文件、目錄和檔案的操作n7.1理解UNIX中的文件類型n文件操作n目錄操作n文件和目錄權(quán)限n搜索文件n文件壓縮與歸檔n文件處理相關(guān)命令nvi文本編輯器n常見問題n小結(jié)2022-3-87.1理解UNIX中的文件類型n7.1.1什么是文件7.1.2文件類型7.1.3目錄和子目錄7.1.4鏈接文件7.1.5設(shè)備文件7.1.6命名管道7.1.

2、7proc文件2022-3-87.1.1什么是文件n一切皆文件n目的:p可從任意的輸入源讀取數(shù)據(jù)p可向任意的輸出源寫入數(shù)據(jù)2022-3-87.1.2文件類型n普通文件:文本文件、二進制文件(可執(zhí)行文件、圖像文件、數(shù)據(jù)庫文件、音視頻文件、office文檔等)n目錄文件:可包含目錄和文件,可嵌套。文件本身只存儲文件的內(nèi)容,也不包括文件名;文件名和文件的其他屬性只存在于目錄中;n偽文件:設(shè)備文件,存在于目錄樹中2022-3-8file,文本文件可閱讀n#n#Simpleprofileplaces/usr/binatfront,followedby/usr/sbin.n#n#Useless

3、(1)ormore(1)asthedefaultpagerfortheman(1)command.n#nexportPATH=/usr/bin:/usr/sbinnif-f/usr/bin/less;thennexportPAGER=/usr/bin/less-insnelif-f/usr/bin/more;thennexportPAGER=/usr/bin/file,文本文件可閱讀n#n#Definedefaultpromptto:n#andprint#foruserrootand$fornormalusers.n#n#Currentlythis

4、isonlydoneforbash/pfbash(1).n#ncase$SHELLinn*bash)ntypeset+xPS1=uh:w$n;nesac2022-3-8二進制文件,不可直接閱讀和理解。ls命令就是二進制文件2022-3-87.1.2文件類型目錄文件2022-3-8UNIX常見的目錄和文件常見的目錄和文件 路 徑 說 明 /unix 程序文件,UNIX 內(nèi)核 /etc 供系統(tǒng)維護管理用的命令和配置文件。例如: 文件/etc/passwd:存放的是用戶相關(guān)的配置信息; 文件/etc/issue:登錄前在 login 之上的提示信息; 文件/etc/motd:存放登錄成功后顯示給用戶

5、的信息。 文件系統(tǒng)管理的程序有 fsck,mount,shutdown 等。 許多系統(tǒng)維護的命令,在不同的 UNIX 系統(tǒng)之間區(qū)別很大 /tmp,/usr/tmp 存放臨時文件 /bin 系統(tǒng)常用命令,如 ls,ln,cp,cat 等 /dev 存放設(shè)備文件,如終端設(shè)備文件,磁帶機,打印機等 /usr/include C 語言頭文件存放目錄 /usr/bin 存放一些常用命令,如 ftp,make 等 /lib,/usr/lib 存放各種庫文件,包括 C 語言的鏈接庫文件,動態(tài)鏈接庫,還包括與終端類型相關(guān)的 terminfo 終端庫,等等。靜態(tài)鏈接庫文件有.a 后綴, 動態(tài)鏈接庫文件的后綴不是

6、.DLL, 而是.so。UNIX 很早就廣泛地使用動態(tài)鏈接庫,靜態(tài)鏈接庫逐漸過時。.a 取名于 archive(存檔),.so 取名于 shared objects(共享對象) /usr/spool 存放與用戶有關(guān)的一些臨時性文件,如: 打印隊列,已收到但未讀的郵件等 (1)名字長度)名字長度。= ”創(chuàng)建空白文件n輸入:catnewfile后回車n輸入newfile的內(nèi)容(根據(jù)自己的需要)n按ctrl+D鍵保存退出(虛擬機按右側(cè)的ctrl)2022-3-87.2.3在當(dāng)前目錄中復(fù)制文件ncpoptionssource_filetarget_filenOptions選項有:-i:如存在targe

7、t_file名字的文件,是否覆蓋;-p:不僅保存源文件的內(nèi)容,還保持源文件的訪問權(quán)限、最后訪問時間、修改時間等屬性。如省略-p,則cp將target_file的最后訪問時間、修改時間設(shè)定為系統(tǒng)時間,其屬組和屬主改為cp命令執(zhí)行者及其屬組。2022-3-87.2.4將文件復(fù)制到目錄中ncpoptionsfilelistdirectorynfilelist:要復(fù)制的源文件列表ndirectory:要復(fù)制到的目標目錄nlaodongsolaris:$pwdn/export/home/laodongnlaodongsolaris:$ls-Fanwork/test1test2test3test42022

8、-3-86.4.2 復(fù)制文件和目錄:cp$cp test.cpp test/ #將覆蓋同名文件將覆蓋同名文件$cp i test.cpp test/ #詢問是否覆蓋詢問是否覆蓋$cp -b test.cpp test/ #有同名則重命名有同名則重命名$cp -r test/ 桌面桌面/ #將目錄將目錄test拷貝到桌面拷貝到桌面,去掉去掉“-r”,不成功,不成功$cp /etc/passwd /root $cp長與長與“ . ”(當(dāng)前目錄當(dāng)前目錄) , “ ”(當(dāng)前用戶的主目錄當(dāng)前用戶的主目錄)一起使用一起使用cp /etc/passwd . /拷貝拷貝/etc/passwd 到當(dāng)前目錄到當(dāng)前

9、目錄cp /etc/passwd /拷貝拷貝/etc/passwd 到到當(dāng)前用戶的主目錄當(dāng)前用戶的主目錄顯示文件類型nfilefile_name2022-3-8移動和重命名:mvmv命令:命令:move的縮寫的縮寫用來移動文件用來移動文件:$mv day bin/,當(dāng),當(dāng)bin目錄中有同名文件目錄中有同名文件時,將被覆蓋時,將被覆蓋; $mv i day bin/ 解決解決; $mv f day bin/ 強制覆蓋同名文件強制覆蓋同名文件 ,-f是默認選項是默認選項$mv day day_bak #將將day重命名為重命名為day_bak如如day_bak文件存在,文件存在, 除除day文件被

10、重命名為文件被重命名為day_bak外,外,day_bak內(nèi)容替換成內(nèi)容替換成day的內(nèi)容;的內(nèi)容;如不存在,則如不存在,則day文件被重命名為文件被重命名為day_bak.用來移動目錄用來移動目錄:$mv photos /桌面桌面6.4.3 刪除目錄和文件:rmdir和rm1.rmdir命令:刪除空文件夾命令:刪除空文件夾$rmdir test #只能刪除空文件夾只能刪除空文件夾2.rm命令:命令: 刪除文件或文件夾刪除文件或文件夾$ rm test/ *.php #刪除刪除test/下的所有下的所有php文件文件,無提示無提示$ rm i test/hello #刪除文件刪除文件hello

11、前,提示確認(前,提示確認(y, n)$rm f hello_bak #自動回答是自動回答是$rm r test/ #遞歸的刪除目錄遞歸的刪除目錄test下的所有文件和文件夾下的所有文件和文件夾To remove a file whose name starts with a -, for example -foo,use one of these commands: rm - -foo rm ./-foo2022-3-8目錄n“.”當(dāng)前目錄n“.”父目錄n“”當(dāng)前用戶的主目錄2022-3-8n當(dāng)前在/scores則則 ./information 指的是/scores/informationn

12、當(dāng)前在/scores/information/computer,則./electronic 指的是/scores/information/electronicls l /docs /顯示當(dāng)前用戶目錄下的docs文件夾的內(nèi)容2022-3-8建立目錄:mkdirmkdir可以一次創(chuàng)建一到多個目錄??梢砸淮蝿?chuàng)建一到多個目錄。$cd #進入用戶主目錄$mkdir doc picture #新建doc 和 picture兩個文件夾(目錄)也可以使用絕對路徑來新建目錄$mkdir /picture/tmp #在主目錄下(的picture下)創(chuàng)建tmp目錄,因為主目錄下有picture,正確$mkdir /

13、tempx/green #錯誤。 因為主目錄下沒有tempx這個目錄 mkdir -p /tempx/green #加上“-p”,如果有”/tempx”這個目錄,就直接在其下創(chuàng)建green目錄;否則,先創(chuàng)建“/tempx”,然后再在其下創(chuàng)建green目錄;列出當(dāng)前目錄下的目錄樹find.-typed-print|sed-es;/*/;|_;g;s;_|;|;g文件和目錄的權(quán)限很難想象沒有權(quán)限的世界會變成什么樣子。隨便哪個用戶都可以大搖大擺地“溜”進別人的目錄,然后對里面的文件亂改一氣。當(dāng)然,他自己的文件也可能正經(jīng)歷著同樣的命運。UNIX是一個多用戶的操作系統(tǒng),正確地設(shè)置文件權(quán)限非常重要,就像讀

14、者在“快速上手”環(huán)節(jié)中做的那樣。6.5.1 權(quán)限設(shè)置針對的用戶享有文件或目錄權(quán)限的三種人享有文件或目錄權(quán)限的三種人文件屬主:文件屬主:文件所有者,文件創(chuàng)建者自動為文件屬主文件所有者,文件創(chuàng)建者自動為文件屬主文件屬組用戶:文件屬組用戶:文件總屬于一個組。默認屬于創(chuàng)建者文件總屬于一個組。默認屬于創(chuàng)建者的組。的組。其他人:其他人:非上兩種人,也非非上兩種人,也非root的用戶的用戶注:注:root用戶擁有所有的權(quán)限用戶擁有所有的權(quán)限文件所有權(quán)(房產(chǎn))可以轉(zhuǎn)讓,但必須由文件所有權(quán)(房產(chǎn))可以轉(zhuǎn)讓,但必須由root(政府)(政府)辦理。辦理。6.5.2 需要設(shè)置哪些權(quán)限文件或目錄權(quán)限: r(讀)、(讀)

15、、w(寫入寫入)、 x(執(zhí)行)(執(zhí)行)關(guān)于目錄的權(quán)限說明關(guān)于目錄的權(quán)限說明 r:能否列出該目錄的內(nèi)容:能否列出該目錄的內(nèi)容 x:說明能否進入該目錄:說明能否進入該目錄 w: 說明能否在該目錄中創(chuàng)建、刪除、重命名文件;說明能否在該目錄中創(chuàng)建、刪除、重命名文件;6.5.3 查看文件和目錄的屬性ls命令命令$ls l day #查看當(dāng)前目錄下的文件文件day的屬性說明:-rw-rw-r-: 第一個“-”,說明是普通文件第一個第一個“rw-”,屬主的權(quán)限是,屬主的權(quán)限是rw;第二個第二個“rw-”,屬組的權(quán)限是,屬組的權(quán)限是rw;“r-”,其他人的權(quán)限只讀,其他人的權(quán)限只讀$ ls ld test/

16、#查看目錄查看目錄test的屬性的屬性6.5.4 改變文件所有權(quán):chown和chgrp1.chown:改變文件的所有權(quán):改變文件的所有權(quán) $ chown tianjun:dong days #修改修改days的所有權(quán)為文件屬主的所有權(quán)為文件屬主tianjun,文件屬組:,文件屬組:dong$ chown guest days #只更改文件屬主只更改文件屬主$ chown :nogroup days #只更改文件屬組,不能省略只更改文件屬組,不能省略“:”$ chown R aitian test/ # 遞歸的將目錄遞歸的將目錄test下的所有文件、子文件夾的屬主更下的所有文件、子文件夾的屬主

17、更改為改為aitian2.chgrp:改變文件的屬組:改變文件的屬組$chgrp nogroup days #將文件將文件days的屬主改為的屬主改為nogroup$chgrp -R root test/ #遞歸的將目錄遞歸的將目錄test下的所有文件和子下的所有文件和子文件夾的屬組更改為文件夾的屬組更改為 root組組。6.5.5 改變文件權(quán)限:chmod1.chmod命令:改變文件權(quán)限命令:改變文件權(quán)限用戶組用戶組 +/- 權(quán)限權(quán)限用戶組:用戶組:u(文件屬主文件屬主),g(文件屬組文件屬組),o(其他人其他人),a(所有人所有人)權(quán)限:權(quán)限:r, w ,x$chmod u+x days

18、#給給days的文件屬主增加的文件屬主增加x的權(quán)限的權(quán)限$chmod a-x days“用戶組用戶組=權(quán)限權(quán)限”,直接設(shè)置權(quán)限,直接設(shè)置權(quán)限“用戶組用戶組1=用戶組用戶組2” #將用戶組將用戶組2的權(quán)限賦值給用戶組的權(quán)限賦值給用戶組1$chmod o=u days #將文件屬主的權(quán)限賦值給其他人將文件屬主的權(quán)限賦值給其他人和你的團隊共享文件#新建一個名為workg的用戶組$ groupadd workg#新建用戶,并歸入workg$ useradd -G workg 張三$ passwd 張三$ useradd -G workg 李四$ passwd 李四$ useradd -G workg

19、王五$ passwd 王五 和你的團隊共享文件建一個/work的目錄(文件夾),作為創(chuàng)建的小組workg的工作目錄(需要root權(quán)限)$ mkdir work #任何用戶(包括除workg外的用戶)都可以訪問 “/work ” ,這顯然不合適。應(yīng)該只允許root和workg工作組的用戶訪問。$ chgrp workg wrok/ #將work的所有權(quán)交給workg組$ chmod g+rwx work/ #增加workg組對work目錄的讀、寫、執(zhí)行權(quán)限;$ chmod 0-rwx work/ #撤銷其他用戶對work目錄的讀、寫、執(zhí)行權(quán)限。$ chown 李四 work/ # 將work目錄

20、的所有者改為李四 6.2 快速上手:和你的團隊共享文件此時,所有workg組的用戶都對work目錄擁有讀寫執(zhí)行的權(quán)限了。其他用戶(除root外),都不能訪問work了。$su 李四 #切換到用戶李四$cd /home/work/ $touch test #在work目錄中新建空文件test$su 王五 #切換到用戶王五$cd /home/work/$rm test #刪除空文件test7.1.4鏈接文件2022-3-8建立鏈接:lnln命令:需加命令:需加“-s”, 軟鏈接。軟鏈接。用于文件用于文件$ln s days my_days #給文件給文件days創(chuàng)建一個鏈接創(chuàng)建一個鏈接my_day

21、s (快捷方式快捷方式)$ls l my_days 用于目錄用于目錄$ln s /usr/local/share/ local_share #給給/usr/local/share/ 創(chuàng)建一個快捷方式創(chuàng)建一個快捷方式 建立鏈接:lnln命令:不加命令:不加“-s”, 硬鏈接。硬鏈接。$ln days hard_days #創(chuàng)建一個鏈接到文件days的新文件hard_days,兩者的內(nèi)容完全一致$gedit days #打開days,修改后保存退出$cat days $cat hard_days 輸入輸出重定向和管道重定向和管道是Shell的一種高級特性,這種特性允許用戶人為地改變程序獲取輸入和產(chǎn)生輸出的位置。這個有趣的功能并不是UNIX的專利,幾乎所有的操作系統(tǒng)(包括Windows)都能支持這樣的操作。輸出重定向默認的標準輸出指向顯示器;默認的標準輸出指向顯示器;輸出重定向符號輸出重定向符號“”:用于把程序的輸出轉(zhuǎn)移到其他:用于把程序的輸出轉(zhuǎn)移到其他地方。地方。$ls /ls_out #將將ls的輸出重定向到的輸出重定向到ls_out文件中文件中$cat /ls_out 輸出重定向默認的標準輸出指向顯示器;默認的標準輸出指向顯示器;輸出重定向符號輸出重定向符號“”:用于把程序的輸出

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論