Linux編程-第1章-Linux系統(tǒng)文件操作課件_第1頁
Linux編程-第1章-Linux系統(tǒng)文件操作課件_第2頁
Linux編程-第1章-Linux系統(tǒng)文件操作課件_第3頁
Linux編程-第1章-Linux系統(tǒng)文件操作課件_第4頁
Linux編程-第1章-Linux系統(tǒng)文件操作課件_第5頁
已閱讀5頁,還剩44頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第1講 Linux系統(tǒng)文件操作本章概述 本章的學習目標主要內容本章概述 本章主要介紹Linux系統(tǒng)基本知識,包括Linux系統(tǒng)簡介、文件系統(tǒng)目錄結構、文件類型、文件權限、Linux命令格式,以及文件目錄的基本操作,為在Linux環(huán)境下進行編程設計打下基礎。本章的學習目標了解UNIX與Linux系統(tǒng)的基本特點和發(fā)展歷程理解Linux系統(tǒng)目錄結構掌握Linux系統(tǒng)安裝、啟動、登錄方法掌握Linux文件屬性和權限掌握Linux文件路徑概念和通配符含義掌握常用Linux文件與目錄的操作命令使用掌握Linux文件打包解包方法理解I/O重定向和管道功能和基本概念主要內容Linux/Unix系統(tǒng)簡介Linu

2、x目錄結構Linux系統(tǒng)用戶界面、命令格式Linux文件與命令操作輸入輸出重定向和管道1.1 UNIX/Linux系統(tǒng)簡介(一)UNIX系統(tǒng)簡介1. 什么是UNIX系統(tǒng)是一種多用戶、多任務、多層次的操作系統(tǒng),廣泛用于金融、教育、科研、軍事領域,用于運行核心業(yè)務,管理企業(yè)關鍵數據資料、信息與Windows系列系統(tǒng)相比,具有安全性高、可靠性強、性能高優(yōu)點,可以一年365天、724小時不停機運行UNIX系統(tǒng)凝聚了一大批天才計算機科學家和程序員的智慧,結構清晰、功能強大、技術先進,是大學師生研究、學習操作系統(tǒng)原理、計算機系統(tǒng)工作原理首選的實例系統(tǒng)2. UNIX系統(tǒng)誕生1969年, 由Bell Labs

3、(貝爾實驗室)Ken Thompson和Dennis Ritchie處于興趣開發(fā)而成,1971年完成版本11973年,Dennis Ritchie 創(chuàng)造了C語言,與Ken Thompson一起用C語重寫了Unix的第三版內核,使維護和移植變得便利同時授權給科研機構與企業(yè)進一步發(fā)展,逐漸形成兩個版本線:加州大學Berkeley分校,1978年發(fā)展了研究版本BSD UNIXAT&T, 1983年開發(fā)商業(yè)版本System V版本4(SVR4),在此基礎上早就了IBM AIX和HP UX兩個發(fā)現版本3. UNIX主要版本AIX:是IBM基于SVR4開發(fā)的一套UNIX操作系統(tǒng),性能高、安全、可靠性高,廣

4、泛用于金融領域。Solaris :Sun Microsystems1982年推出基于BSD Unix的Sun OS,以后在接口上向SVR4靠攏,新版本稱為Solaris,性能高、處理能力強,在高校、科研院所用得多HP-UX:是惠普公司以SVR4為基礎所研發(fā)成的類UNIX操作系統(tǒng)。IRIX:是SGI公司以SVR4與BSD延伸程序為基礎所發(fā)展成的UNIX操作系統(tǒng),具有很強的圖形處理功能,在游戲設計中廣泛使用的三維圖形庫編程openGL從此而來。4. UNIX系統(tǒng)存在的問題Unix的不同版本間不兼容,給應用開發(fā)帶來極大負擔搭建Unix系統(tǒng)的費用非常昂貴。主機、UNIX系統(tǒng)、開發(fā)工具、應用軟件需分別購

5、買Unix系統(tǒng)源碼不開放,購買要錢,給學習、研究帶來不便(二) Linux系統(tǒng)概述1. 什么是Linux? Linux是一種類UNIX操作系統(tǒng),繼承了Unix系統(tǒng)強大的功能和性能,采用與Unix系統(tǒng)兼容的操作命令,學會操作Linux一般就會操作UNIX系統(tǒng),學會在Linux下開發(fā)應用,就會在UNIX下開發(fā)應用Linux系統(tǒng)運行于廉價的PC和大多數計算機系統(tǒng)硬件,開放源碼,各種開發(fā)軟件豐富齊全、免費下載使用,如gcc、java、apache、hadoop、MLLIBLinux是廣大學生學習操作系統(tǒng)原理、計算機系統(tǒng)原理的優(yōu)秀實例系統(tǒng)Linux系統(tǒng)由芬蘭學生林納斯1991年開發(fā)第1版,經過20多年發(fā)

6、展,已經成為一種成熟、優(yōu)秀的操作系統(tǒng),已成為今天世界上使用最多的一種UNIX 類操作系統(tǒng):Linux可安裝在各種計算機硬件設備中,比如個人計算機、大型機、超級計算機、Android手機、平板電腦、路由器,世界上運算最快的10臺超級計算機全部運行Linux操作系統(tǒng)2. Linux內核版本Linux內核是指由林納斯親自維護的Linux操作系統(tǒng)核心代碼2001年,Linux 2.4版本內核發(fā)布,2003年Linux2.6版本內核發(fā)布,使Linux逐漸成為一個成熟的操作系統(tǒng)常見的Linux內核版本有Linux2.4.20,Linux2.6、Linux3.2、Linux4.6.4等,其中r.x.y:r-

7、主版本號,x-偶數穩(wěn)定奇數開發(fā),y-錯誤修補次數3. Linux發(fā)行版本Linux發(fā)現版本是廠商將Linux內核與外圍實用程序和文檔包裝,提供安裝界面和系統(tǒng)配置、管理工具等,形成發(fā)行系統(tǒng)目前主要發(fā)現版本有:Red Hat Enterprise Linux(RHEL):主要用作服務器Fedora Ubuntu:界面美觀、功能強大CentOS:是Linux服務器最有名最常用的發(fā)行版.中標麒麟(NeoKylin):普華Linux(i-soft)由于采用相同內核,Linux應用程序在不同版本間可做到二進制代碼級兼容練習1.2 Linux系統(tǒng)目錄結構一、目錄樹結構Linux與所有Unix系統(tǒng)具有大體一致

8、的目錄結構是一顆以”/”為根目錄的樹,無盤符概念,所有分區(qū)的文件掛載在某個目錄下各個目錄的取名和文件內容有統(tǒng)一規(guī)定,是一種規(guī)范可根據目錄名和文件名推斷其大概功能/binbinary(二進制)C:WINDOWSsystem32/bootboot/devdevice/etcetcetera (等等)注冊表/homeC:Documents and Settings/include、/usr/include/lib/usr/liblibrary(庫)C:WINDOWSsystem32/lost+found/mntmount/optoption/procprocess注冊表/root/sbin/usr/

9、sbinsystem binary/selinuxsecure linux/srvserver/tmptemporaryC:WindowsTemp/usrUnix System(User Software)ResourcesC:Program Files/varvariable二、主要目錄說明:三、Linux目錄結構設計的好處用戶創(chuàng)建的文件、檔案全部放在/home目錄下,規(guī)范、方便管理、可靠性好;可創(chuàng)建專用系統(tǒng)分區(qū),保存Linux系統(tǒng)文件,以只讀方式掛載在/usr目錄下,安全性好;可創(chuàng)建一個專用分區(qū),保存動態(tài)增長的文件檔案,以讀寫方式掛載到/var目錄下,不影響其他文件;所有的UNIX和Lin

10、ux目錄結構與上述規(guī)范大體相似,同時也方便了人們的學習。練習:1.3 Linux系統(tǒng)安裝、啟動、登錄、用戶界面與命令格式一、安裝、啟動、登錄看視頻二、 三種系統(tǒng)操作界面1. 圖形界面 2. 命令界面3. 編程接口open、read、write、close等,本課程基本上就是學習Linux編程接口三、Linux命令格式1. Linux命令格式$ 命令名 選項 參數1 參數2 命令名:由小寫英文字母構成的字符串,命令功能為英文單詞含義,如date、cp、mv、who、ls命令選項:是對命令的特別定義,以“-”開始,指示命令按特定模式執(zhí)行,產生輸出,如 ls -l、ls -a若同時使用多個選項,多個

11、選項可用一個“-”連起來,如ls la命令選項出現順序一般沒有要求,如ls -l -a 與ls -a l功能相同 gcc hello.c -o hello與gcc -o hello.c hello功能相同命令參數:提供命令運行的信息,或者是命令執(zhí)行過程中所使用的文件名,從哪里可以得到輸入,以及把輸出送到什么地方 如:cp file1 file2 、mv file1 dir1、mkdir dir2練習: 2. 命令說明(1)命令輸出,命令執(zhí)行成功與否判定執(zhí)行成功:輸出期望信息,或無任何輸出,直接顯示命令提示符$失敗:顯示出錯信息,格式:”命令名: 出錯描述”示例:$ cd $ pwd/home/

12、can$ LS bash: LS: command not found $ ls -P ls: invalid option -P$ ls -l PPls: cannot access PP: No such file or directory(2)命令聯機幫助百度百科Info命令,如$ info pwdMan命令,如$ man passwd (3) 本課命令輸入描述說明1.4 Linux文件、目錄操作及文件屬性、權限通常普通用戶的主要工作是文件檔案處理,輸入命令文件名運行程序,通過命令從文件讀入輸入數據,處理后,保存到另一文件。本課程所有實驗任務都屬于這類工作Linux系統(tǒng)為每個普通用戶在/

13、home目錄下創(chuàng)建了一個用戶名為目錄名的“家”,如用戶can的“家”是/home/can,用戶guest的“家”是/home/guest;但根用戶root的“家”在目錄/root普通用戶通常在其“家”目錄下進行文檔處理,創(chuàng)建、修改、刪除文件檔案,不能增刪“家”之外其他目錄中的文件檔案(安全起見)1.4.1 目錄路徑與目錄操作一、絕對路徑、工作目錄、相對路徑每個文件在某個目錄之下,要操作或訪問某個文件,應在命令或程序中通過路徑方式給出文件所在位置。給出文件路徑方法有兩種:1. 絕對路徑:給出從根目錄開始一直到所要操作文件名、中間以“/”隔開的完整路徑。示例: $ cat /etc/passwd、

14、 $ more /home/can/NachOS-4.1/code/test fd=open(/home/can/work/f1,O_RDONLY); fp=fopen(/home/can/work/f1,r+);2. 工作目錄相對路徑:為縮短文件路徑字符串長度, Linux系統(tǒng)為每個命令窗口(Terminal)和應用進程設置一個工作目錄,工作目錄初始設置為用戶的“家”,可用命令cd改變當用戶操作工作目錄中文件時,僅需在命令中給出文件名,如touch f1若操作非工作目錄下文件,只需給出絕對路徑中除工作目錄之外的部分。示例:若當前工作目錄為“/home/can”,則文件/home/can/Na

15、chOS-4.1/code /test/add.c可用相對路徑表示為NachOS-4.1/code/test/add.c ,相應命令檢視命令簡化為cat NachOS-4.1/code/test/add.c二、幾個特殊目錄(“.”、”.”、”、“-”)Linux系統(tǒng)定義幾個符號來表示一些常用的特殊目錄,給命令輸入帶來方便“.”:當前工作目錄,若工作目錄為/home/can,則在文件路徑中,“.”等同于/home/can“.”:上一層目錄,若當前目錄為/home/can,則“.” 表示/home“-”:前一個工作目錄,如當前工作目錄為/home/can,執(zhí)行cd /etc后,“.”表示/etc,

16、而“-” 表示/home/can;“”:表”目前用戶”所在的家目錄,若但其用戶為can,則“”表示/home/can;guest代表 guest家目錄“/home/guest”。練習:三、 Linux目錄操作命令(cd, pwd, mkdir, rmdir, rm)1. cd (變換工作目錄)、pwd(顯示當前工作目錄)cd(change directory)命令改變當前工作目錄,使用pwd(print work directory)命令顯示當前工作目錄的絕對路徑通常人們喜歡將兩個命令聯合使用,用cd切換到目標目錄,用pwd驗證切換到哪里去了。范例:$ pwd /home/can$ cd gu

17、est $ pwd /home/guest $ cd $ pwd /home/can$ cd $ cd . $ pwd /home $ cd - $ cd /var/spool/mail $ cd ./mqueue思考題2. mkdir(創(chuàng)建目錄)、rmdir (刪除空目錄)、ls(檢視目錄), rm(刪除非空目錄)一般在某個mkdir、rmdir、rm命令后接一個ls(list)命令,列出文件目錄,以驗證目錄創(chuàng)建、目錄刪除操作是否成功范例$ cd /tmp$ pwd /tmp $ rm -rf * $ ls $ mkdir test $ ls test $ mkdir test1 test/

18、sub test2 $ ls . test test1 test2 test: Sub $ rmdir test1 $ rmdir test rmdir: failed to remove test1: Directory not empty$ rm -rf test $ ls test2 3. ls(文件目錄檢視命令) 格式: $ ls -aAdfFhilRS 目錄名 常用選項:-a:列出全部的檔案(或稱文件),連同文件名以“ . ”開頭的隱藏檔案(文件)-A:列出全部的檔案,連同隱藏檔,但不包括 . 與 . 這兩個目錄,這個選項用得多;-F:根據檔案、目錄等信息,給予附加數據結構,例如:

19、*:代表可執(zhí)行檔;/:代表目錄;=:代表 socket檔案;|:代表 FIFO檔案;-i:列出 inode 位置,而非列出檔案屬性;-l:以長格式列出目錄內容,包含檔案的屬性等等數據,這個選項用得多;-R:連同子目錄內容一起列出來;-i:列出 inode 位置,而非列出檔案屬性;范例:$ cd $ ls Desktop Nachos-3.4-for-ubuntu.tar.gz Public $ ls -A .bash_history .lesshst Pictures $ ls /etc $ ls -F Desktop/ nachos-3.4/ Pictures/ fifo1| a.out*

20、test/ f1 $ ls -l total 24708 drwxr-xr-x 2 root root 4096 2012-08-21 17:31 Desktop drwxr-xr-x 2 root root 4096 2012-08-18 23:27 Documents drwxr-xr-x 2 root root 4096 2012-08-18 23:27 Downloads -rw-r-r- 1 root root 0 2015-02-01 11:41 f1 prw-r-r- 1 root root 0 2015-02-01 11:38 fifo1 $ ls -i 686757 Desk

21、top 686812 nachos-4.0.tar 807026 Documents 807159 NachOS-4.1.bak$ ls -ial683678 -rw- 1 root root 7428 2014-04-05 15:44 .bash_history 686917 -rw-r-r- 1 root root 3135 2012-08-19 15:07 .bashrc 925835 drwx- 5 root root 4096 2015-02-01 08:07 .cache 678320 drwx- 9 root root 4096 2012-10-24 17:55 .config1

22、.4.2 文件屬性與權限一、文件屬性描述有9種,可用命令ls l列出文件類型和訪問權限位結構二、文件訪問權限1.操作權限含義對于普通文件、管道和設備等文件來寫來說,r權限:該用戶能讀這個文件的內容,w權限:表示能更改文件內容x權限:能執(zhí)行這個文件代表的程序或命令對于目錄文件來說r權限:能列該目錄內容,w權限:在該目錄中增加或刪除文件,x權限:能用cd命令進入該目錄示例:-rwxr-xr-x 1 can users 1234567 2015-02-01 11:41 hellodrwxr-xr- 2 alice users 4096 2015-02-01 12:41 sub三、用文件目錄和索引節(jié)點

23、(index node)管理文件屬性Linux文件屬性分為兩部分管理:文件名保存在文件目錄中,文件的其他屬性(文件大小、訪問權限、)保存在索引節(jié)點(I節(jié)點)中,所有文件的I節(jié)點放到磁盤分區(qū)的特定區(qū)域,稱為I節(jié)點表索引節(jié)點與文件具有一一對應,若兩個文件的索引節(jié)點號相同,他們就是同一個文件創(chuàng)建文件必然創(chuàng)建新的索引節(jié)點,為已存在文件創(chuàng)建新名字方法為: ”ln 文件名 硬鏈接文件名”或”cp l文件名 硬鏈接文件名”練習1.4.3 Linux文件操作命令一、復制、移動與刪除文件(cp, rm, mv, ln)ln(link)用于建立硬鏈接與符號鏈接,硬連接指向同一索引節(jié)點的另一文件名;mv (move

24、)用于移動文件或目錄到一個新的目錄位置,也可以用于更名(rename)文件;rm (remove) 用于移除文件,不但可刪除文件,還可刪除目錄。1. 復制文件(cp)命令格式:cp -adfilprsu 源文件(source) 目的文件(destination) cp options source1 source2 source3 . Directory 常用選項:-f:為強制 (force) 的意思,若有重復或其它疑問時,不會詢問使用者,而強制復制;-i:若目的文件(destination)已經存在時,在覆蓋時會先詢問確認-l:創(chuàng)建文件的硬連結 (hard link),而非復制檔案本身;-r

25、:遞歸持續(xù)復制,用于目錄復制;-s:復制成為符號連結文件 (symbolic link),亦即“快捷方式”文件;范例1(復制單個文件):將家目錄下的 .bashrc 復制到 /tmp 下,文件名改為bashrc$ cd /tmp $ cp /.bashrc bashrc$ ls范例2(復制單個文件):將 /var/log/wtmp復制到/tmp底下,文件名不變$ cd /tmp $ cp /var/log/wtmp . $ ls -l /var/log/wtmp wtmp -rw-rw-r- 1 root utmp 71808 Jul 18 12:46 /var/log/wtmp -rw-r-

26、r- 1 root root 71808 Jul 18 21:58 wtmp范例3:(復制整個目錄):復制/etc/這個目錄下的所有內容到 /tmp 底下$ cd /tmp $ cp /etc/ /tmp范例4(建立硬連接、符號鏈接):將范例一復制的bashrc建立一個硬鏈接和一個快捷方式$ ls -l bashrc $ cp -s bashrc bashrc_slink 或ln -s bashrc bashrc_slink$ cp -l bashrc bashrc_hlink或ln bashrc bashrc_hlink$ ls -l bashrc* 范例5(同時復制多個文件):將家目錄的

27、.bashrc 及 .bash_history 復制到/tmp底下$ cp /.bashrc /.bash_history /tmp 2. rm (移除檔案或目錄) 命令格式:# rm -fir 檔案或目錄常用選項:-f :就是 force 的意思,強制移除;-i :互動模式,在刪除前會詢問使用者是否動作-r :遞歸刪除??!見文件刪文件,見目錄刪目錄范例1:復制一個文件然后刪除之$ cd /tmp $ cp /.bashrc bashrc $ rm bashrc 范例2:刪除一個不為空的目錄$ mkdir test$ cp /.bashrc test/ $ rmdir testrmdir: t

28、est: Directory not empty $ rm -rf test 3. mv (移動檔案與目錄,或更名) 常用格式: mv -fiu source destination (檔案或目錄更名) mv options source1 source2 source3 . Directory (檔案或目錄移動) 常用選項:-f:force 強制的意思,強制直接移動而不詢問;-i:若目標檔案 (destination) 已經存在時,就會詢問是否覆蓋!-u:若目標檔案已經存在,且 source 比較新,才會更新 (update) 范例1(單個文件移動):復制一檔案,建立一目錄,將檔案移動到目錄

29、中$ cd /tmp$ cp /.bashrc bashrc $ mv bashrc mvtest $ cd /tmp$ cp /.bashrc bashrc $ mkdir mvtest $ mv bashrc mvtest 范例2:(目錄更名):將剛剛建立的目錄mvtest稱更名為 mvtest2 $ mv mvtest mvtest2范例3:(多文件移動):再建立兩個檔案,再全部移動到 /tmp/mvtest2 中$ cp /.bashrc bashrc1 $ cp /.bashrc bashrc2 $ mv bashrc1 bashrc2 mvtest2練習二、文件內容查閱(cat,t

30、ac,head,tail,more,less,od)1. 檢視文本文件內容:cat, tac, head, tail, more, less(范例)$ cat /etc/passwdroot:x:0:0:root:/root:/bin/bash daemon:x:1:1:daemon:/usr/sbin:/bin/sh$ more /etc/passwdavahi-autoipd:x:103:108:Avahi autoip daemon,:/var/lib/avahi-autoipd:/bin/falseavahi:x:104:109:Avahi mDNS daemon,:/var/run/avahi-daemon:/bin/false-More-(51%)$ less /etc/passwdavahi-autoipd:x:103:108:Avahi autoip daemon,:/var/lib/avahi-autoipd:/bin/falseavahi:x:104:109:Avahi mDNS daemon,:/var/run/avahi-daemon:/bin/false2. 創(chuàng)建與編輯文件(gedit, touch, d

溫馨提示

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

評論

0/150

提交評論