歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux綜合 >> Linux資訊 >> 更多Linux

文件與目錄操作(LINUX系列文章之二)

  原創:snake_liu    文件與目錄操作     現在來看看Linux中的文件與目錄的操作好了!    1)基本概念:    文件與文件名     在多數操作系統中都有文件的概念。文件是Linux用來存儲信息的基本結構,它是被命名(稱為文件名)的存儲在某種介質(如磁盤、光盤和磁帶等)上的一組信息的集合。Linux文件均為無結構的字符流形式。文件名是文件的標識,它由字母、數字、下劃線和圓點組成的字符串來構成。用戶應該選擇有意義的文件名。Linux要求文件名的長度限制在255個字符以內。       為了便於管理和識別,用戶可以把擴展名作為文件名的一部分。圓點用於區分文件名和擴展名。擴展名對於將文件分類是十分有用的。用戶可能對某些大眾已接納的標准擴展名比較熟悉。    文件的類型     Linux系統中有三種基本的文件類型:普通文件、目錄文件和設備文件。     1. 普通文件 普通文件是用戶最經常面對的文件。它又分為文本文件和二進制文件。     1)文本文件:這類文件以文本的ASCII碼形式存儲在計算機中。它是以"行"為基本結構的一種信息組織和存儲方式。     2)二進制文件:這類文件以文本的二進制形式存儲在計算機中,用戶一般不能直接讀懂它們,只有通過相應的軟件才能將其顯示出來。二進制文件一般是可執行程序、圖形、圖像、聲音等等。     2. 目錄文件 設計目錄文件的主要目的是用於管理和組織系統中的大量文件。它存儲一組相關文件的位置、大小等與文件有關的信息。目錄文件往往簡稱為目錄。     3. 設備文件 設備文件是Linux系統很重要的一個特色。Linux系統把每一個I/O設備都看成一個文件,與普通文件一樣處理,這樣可以使文件與設備的操作盡可能統一。從用戶的角度來看,對I/O設備的使用和一般文件的使用一樣,不必了解I/O設備的細節。設備文件可以細分為塊設備文件和字符設備文件。前者的存取是以一個個字符塊為單位的,後者則是以單個字符為單位的。      目錄     樹型目錄結構      在計算機系統中存有大量的文件,如何有效的組織與管理它們,並為用戶提供一個使用方便的接口是文件系統的一大任務。Linux系統以文件目錄的方式來組織和管理系統中的所有文件。所謂文件目錄就是將所有文件的說明信息采用樹型結構組織起來--即我們常說的目錄。也就是說,整個文件系統有一個"根"(root),然後在根上分"杈"(Directory),任何一個分杈上都可以再分杈,杈上也可以長出"葉子"。"根"和"杈"在Linux中被稱為是"目錄"或"文件夾"。而"葉子"則是一個個的文件。實踐證明,此種結構的文件系統效率比較高。     如前所述,目錄也是一種類型的文件。Linux系統通過目錄將系統中所有的文件分級、分層組織在一起,形成了Linux文件系統的樹型層次結構。以根目錄為起點,所有其他的目錄都由根目錄派生而來。    如前所述,目錄是Linux系統組織文件的一種特殊文件。為使用戶更好地使用目錄,我們介紹有關目錄的一些基本概念。     工作目錄與用戶主目錄     從邏輯上講,用戶在登錄到Linux系統中之後,每時每刻都"處在"某個目錄之中,此目錄被稱作工作目錄或當前目錄工作目錄是可以隨時改變的。用戶初始登錄到系統中時,其主目錄就成為其工作目錄。工作目錄用"."表示,其父目錄用".."表示。     2路徑     路徑是指從樹型目錄中的某個目錄層次到某個文件的一條道路。此路徑的主要構成是目錄名稱,中間用"/"分開這和WINDOWS的\是不同的。任一文件在文件系統中的位置都是由相應的路徑決定的。    路徑又分相對路徑和絕對路徑。 絕對路徑是指從"根"開始的路徑,也稱為完全路徑;相對路徑是從用戶工作目錄開始的路徑。     用戶要訪問一個文件時,可以通過路徑名來引用。並且可以根據要訪問的文件與用戶工作目錄的相對位置來引用它,而不需要列出這個文件的完整的路徑名。    為了節省時間下面的和目錄與文件有關的一些命令是我從網上找來的對於原出處嗎就不是很清楚了!!希望願作者不要介意:    顯示文件內容命令      用戶需要查看一個文件的內容時,可以根據顯示要求的不同選用以下的命令。      cat命令      功能1:在標准輸出上顯示文件。      語法:cat [ - 選項 ] 文件      說明:該命令功能之一是用來顯示文件。它依次讀取其後所指文件的內容並將其輸出到標准輸出。      cat命令中各個選項的含義為:      - v 用一種特殊形式顯示控制字符,LFD與TAB除外。      加了- v選項後,- T和- E選項將起作用。其中:      - T 將TAB顯示為“ù I”。該選項需要與- v選項一起使用。即如果沒有使用- v選項,則這個選項將被忽略。      - E 在每行的末尾顯示一個$符。該選項需要與- v選項一起使用。      - u 輸出不經過緩沖區。      - A 等於- vET。      - t 等於- vT。       - e 等於- vE。       例1:$ cat example.txt      則在屏幕上顯示出example.txt 文件的內容。      本想今天去香山看紅葉,無奈天公不作美沒去成,真遺憾,但願明天艷陽高照,使我們夢想成真。       例2:$ cat - A exam2.txt       則在屏幕上顯示出exam2.txt 文件的內容,而且如果文件中含有特殊字符的話,一並顯示。      I am a boy ! ùI You are a cute boy$       功能2:連接兩個或多個文件       說明:該命令功能之二是用來將兩個或多個文件連接起來。       例3:$ cat file1 file2 > file3      這樣就把文件filel和文件file2的內容合並起來,放入文件file3中。(此時在屏幕上並不能直接看到該命令執行後的結果。若想看到連接後的文件內容,可以再使用“cat file3”。)      需要說明的是,當文件內容過多時,就帶來一個問題,因為文本在屏幕上迅速地閃過,用戶來不及看清其內容。因此,當文件內容較大時,一般可用more等命令分屏顯示,以免因屏幕滾動太快而無法看清。      more命令      功能:在終端屏幕按屏顯示文本文件。      語法: more [ - 選項 ] 文件      說明: 該命令一次顯示一屏文本,顯示滿之後,停下來,並在終端底部打印出- - More- - ,系統還將同時顯示出已顯示文本占全部文本的百分比,若要繼續顯示,按回車或空格鍵即可。      more命令中各個選項的含義為:      - p 顯示下一屏之前先清屏。      - c 作用同- p基本一樣。      - d 在每屏的底部顯示更友好的提示信息:      - - More- - (XX%)[Press space to contiune , ‘q’ to quit . ]       而且若用戶輸入了-個錯誤命令則顯示出錯信息,而不是簡單地鳴響終端。      - l 不處理< Ctrl+l >(換頁符)。如果沒有給出這個選項,則more命令在顯示了一個包含有< Ctrl+l >字符的行後將暫停顯示,並等待接收命令。      - s 文件中連續的空白行壓縮成一個空白行顯示。      執行中的命令      在more命令的執行過程中,用戶可以使用more自己的一系列命令動態地根據需要來選擇顯示的部分。more在顯示完一屏內容之後,將停下來等待用戶輸入某個命令。下表列出了more指令在執行中用到的一些常用命令,而有關這些命令的完整內容,可以在more執行時按h查看。這些命令的執行方法是先輸入i(行數)的值,再打所要的命令,不然它會以預設值來執行命令。      i空格 若指定i,顯示下面的i行;否則,顯示下一整屏。      i回車 若指定i,顯示下面的i行;否則,顯示下一行。      iù D 按,若指定i,顯示下面的i行;否則,往下顯示半屏(一般為11行)。      id 同iù D 。      iz 同“i空格”類似,只是i將成為以下每個滿屏的缺省行數。      is 跳過下面的i行再顯示一個整屏。預設值為1。      if 跳過下面的i屏再顯示一個整屏。預設值為1。      iù B 按,往回跳過(即向文件首回跳)i屏,再顯示一個滿屏。預設值為1。      b 與iù B相同。      ’ 回到上次搜索的地方       q或Q 退出more。      = 顯示當前行號。      v 在當前行啟動/usr/bin/vi對之進行編輯修改。      h 顯示各命令的幫助信息。      i/pattern 查找匹配該模式的第i行。預設值為1。      in 查找符合表達式的倒數i行。預設值為1。      ! 或 :! 在子shell中執行命令。      i:n 在命令行中指定了多個文件名的情況下,可用此命令使之顯示第i個文件,若i過大(出界),則顯示文件名列表中的最後一個文件。      i:p 在命令行中指定了多個文件名的情況下,可用此命令使之顯示倒數第i個文件。若i過大(出界),則顯示第一個文件。      i:f 顯示當前文件的文件名和行數。      ? 重復上次鍵人的命令。      例1:用分頁的方式顯示一個文件的內容。      $ more example1.c    /*--




Copyright © Linux教程網 All Rights Reserved