Linux檔案操作

2021-08-11 05:43:55 字數 2680 閱讀 9195

q:linux為什麼引進檔案管理的功能,主要任務是什麼?

a:現代作業系統中,要利用大量的程式和資料,由於記憶體容量有限,且不能大量儲存,所以現在把這些資料以檔案的形式放在外存中,需要時再將它們調入記憶體,因此有了檔案管理,負責管理在外存上的檔案,並把訪問,共享和保護等手段提供給使用者,給使用者提供方便,保證檔案的安全性,提高系統資源的利用率。

從系統的的角度看,檔案系統是對檔案儲存器空間進行組織和分配,負責檔案的儲存並對儲存的檔案進行保護和檢索的系統;從使用者的角度看,檔案系統的主要目的是實現了對檔案的按名訪問。

由於要儲存大量的檔案,所以系統引進了目錄,通過目錄來管理檔案。

q:linux檔案系統如何實現管理?

a:linux作業系統靠

indox node

來管理檔案。

linux是乙個安全的作業系統,它是以檔案為基礎設計的(即

linux

下皆檔案),

linux

中的檔案系統主要用於管理檔案儲存空間的分配、檔案訪問許可權的維護,對檔案的各種操作。

使用者可以使用shell命令對檔案操作,但在功能上受到一定的限制。

程式設計師可以通過系統呼叫或c語言的庫函式對檔案操作。

linux檔案主要包括兩方面的內容:一是檔案包含的資料;另外就是檔案屬性,也稱元資料,包括檔案訪問許可權、所有者、檔案大小、建立日期等。

目錄也是一種檔案,稱為目錄檔案。目錄檔案的內容是該目錄的目錄項,目錄項是該目錄下的檔案和目錄的相關資訊。當建立乙個新目錄時,系統將自動建立兩個目錄項——「.

」和「..」。

linux採用的是標準目錄結構——樹形結構,無論作業系統管理幾個磁碟分割槽,這樣的目錄項只有乙個。

在linux安裝時,安裝程式就已經為使用者建立了檔案系統和完整而固定的目錄組成形式,並指定了每個目錄的作用和其中的檔案型別。

q:linux檔案分為哪幾類

?a:分為五類: 1.

普通檔案,計算機使用者和作業系統用於存放資料、程式等資訊的檔案,一般都長期存放在外儲存器(磁碟,磁帶等)中,普通檔案一般又分為二進位制檔案和文字檔案。

2.裝置檔案,

linux

把所有的外設都當做檔案來看待,每一種

i/o裝置對應乙個裝置檔案並存放在

/dev

目錄中。

3.目錄檔案,

linux

檔案系統將檔案檢索點和檔名同時儲存在目錄中,所以目錄檔案就是將檔案的名稱和它的索引節點號同時儲存在目錄中,所以目錄檔案就是將檔案的名稱和它的檔案索引節點號結合起來的一張表。目錄檔案只允許系統進行修改,使用者程序可以讀取目錄檔案,但不能進行修改。

4.管道檔案,主要用於在程序間傳遞資料,管道是程序間傳遞資料的「媒介」。管道檔案又稱先進先出(

fifo

)檔案。

5.鏈結檔案,又稱符號鏈結檔案,它提供了共享檔案的一種方法。

q:常見的檔案型別?

a:-表示普通檔案;

d表示目錄檔案;

l表示鏈結檔案;

c表示字元檔案;

b表示塊檔案;

p表示管道檔案,如

fifo

檔案;

f表示堆疊檔案,如

lifo

檔案。

q:系統呼叫的分類?

a:linux的呼叫按照功能邏輯大致分為程序控制、程序間通訊、檔案系統控制、系統控制、儲存管理、網路管理、

socket

控制、使用者管理等幾類。

q:系統呼叫的意義?

a:所謂系統呼叫,是指作業系統提供給使用者程式呼叫的一組「特殊」介面,使用者程式可以通過這組「特殊」藉口來獲得作業系統核心提供的服務。

c語言中,作業系統的系統呼叫通常是通過函式呼叫的形式完成的。這是因為這些函式封裝了系統呼叫的細節,將系統呼叫的入口、函式和返回值用

c語言的函式呼叫過程實現。在

linux

系統中,系統呼叫函式定義在

glibc

中。q:linux檔案描述符?

a:某個程式開啟檔案時,系統返回相的檔案描述符,系統為處理該檔案必須引用該檔案描述符。檔案描述符的本質是乙個低階的正整數。通常乙個程序啟動時,都會開啟三個檔案——標準輸入、標準輸出和標註出錯處理。分別對應的檔案描述符為0、

1、2,也就是巨集替換

stdin_fileno,stdout_fileno,stderr_fileno,

例如函式

scanf()

使用stdin,printf()

使用stdout

。對於linux

來說所有對裝置和檔案的操作都使用檔案描述符來進行。

q:i/o操作分類及其所用函式分別為那些?

a:i/o操作分為帶快取與不帶快取兩種;不帶快取的

i/o操作主要用到

6個函式——

creat,open,read,write,lsweek

和close

(這裡的不帶快取是指每乙個函式都只呼叫系統中的乙個函式);帶快取的

i/o操作分為全緩衝、行緩衝、不帶緩衝三種。

q:fgets函式和

gets

函式有哪些異同?

a:fgets函式用於從檔案中讀取一字串,而

gets

函式用於從標準輸入裝置內讀取一字串;

fgets操作成功時返回時

msg的值,若碰到檔案或錯誤時,返回

null

;使用gets

函式可以無窮讀取,不會判定上限,現已經禁用。

linux 檔案操作

1 cat 開啟檔案 cat name.txt 開啟檔案name.txt cat 1.txt 2.txt 開啟2個檔案 cat n name.txt 開啟檔案後顯示行號 2 vi 輸出,刪除,查詢,替換,塊操作 等文字操作 vi 的三種基本工作模式 命令列模式,文字輸入模式,末行模式 命令列模式 不...

Linux 檔案操作

1,查詢檔案 find name 名稱 ls find atime 10 記著有乙個點號 兩邊都有空格,代表當前目錄,如果希望顯示系統的所有大於10天的檔案 可以將 換成 代表根目錄 find mtime n print n天前那天改過的檔案 find mtime n print n天以前改過的檔案...

linux檔案操作

unix檔案操作 讀寫操作 標c檔案讀寫 file 代表乙個開啟的檔案 unix linux的檔案讀寫函式 linux系統中 幾乎一切都是檔案,記憶體 目錄 硬體裝置都可以看成檔案。比如 記憶體 對應目錄 proc pid 目錄 可以用 vi 檢視,也是檔案 裝置 dev tty 鍵盤 顯示器 de...