APUE 第四章檔案和目錄

2021-08-13 02:59:57 字數 1691 閱讀 3895

本章內容較多,本文只記錄在學習過程中所發現的問題,同時記錄所需掌握的linux方面知識.

檔案型別

普通檔案

目錄檔案

塊特殊檔案

字元特殊檔案

fifo

套接字

符號鏈結

這裡要介紹下dos2unix命令,剛好前幾天在工作中有所接觸。

dos2unix命令用來將dos格式的文字檔案轉換成unix格式的(dos/mac to unix text file format converter)。dos下的文字檔案是以\r\n作為斷行標誌的,表示成十六進製制就是0d 0a。而unix下的文字檔案是以\n作為斷行標誌的,表示成十六進製制就是 0a。dos格式的文字檔案在linux底下,用較低版本的vi開啟時行尾會顯示^m,而且很多命令都無法很好的處理這種格式的檔案,如果是個shell指令碼,。而unix格式的文字檔案在windows下用notepad開啟時會拼在一起顯示。因此產生了兩種格式檔案相互轉換的需求,對應的將unix格式文字檔案轉成成dos格式的是unix2dos命令。

在ubuntu中安裝dos2unix方法:

apt install dos2unix

安裝完成通過 man dos2unix可以看到如下解釋:

圖4-3的程式講解中提到了\的用法:通知shell要在下一行繼續鍵入命令,shell在下一行通過》提示我們繼續輸入

設定使用者id和設定組id

當執行乙個程式檔案時,程序的有效使用者id通常就是實際使用者id,有效組id通常是實際組id。但是可以在檔案模式字(st_mod)中設定乙個特殊標誌,其含義是「當執行此檔案時,將程序的有效使用者id設定為檔案所有者的使用者id(st_uid)」.在檔案模式字中可以設定另一位,它將執行此檔案的程序的有效組id設定為檔案的所有者id(st_gid).在檔案模式字中的這兩位被稱為設定使用者id(set-user-id)位和設定組id(set group-id)位。

unix系統程式passwd(1)允許任一使用者改變其口令,該程式時乙個設定使用者id程式。

檔案與目錄

目錄與檔案的許可權意義:

許可權對檔案的重要性:

r (read) 可讀取此檔案的實際內容,如讀取文字檔案的文字內容

w(write)可以編輯、新增或者修改該檔案的內容

x(execute):該檔案具有被系統執行的許可權

許可權對目錄的重要性:

r 表示具有讀取目錄結構列表的許可權

w 表示具有更改該目錄結構列表的許可權

x 表示使用者能否進入該目錄的許可權

符號鏈結與硬鏈結

linux相關知識參考符號鏈結與硬鏈結

pwd -p可以檢視真實路徑.針對圖4-18的解釋如下:

雖然顯示的路徑越來越長,但其實真實目錄通過pwd -p看依然是foo.

粘著位如果乙個可執行程式檔案設定了粘著位,那麼當該程式第一次被執行,在其終止時,程式正文部分的乙個副本扔被保留在交換區,這使得下次執行該程式時能較快地將其裝載入記憶體。

如果對乙個目錄設定了粘著位,只有對該目錄具有寫許可權的使用者並且滿足下列條件之一,才能刪除或重新命名該目錄下的檔案:

擁有此檔案

擁有此目錄

超級使用者

/tmp 和/var/tmp是設定黏著位的典型代表。任何使用者都可以在這兩個目錄中建立檔案。任一使用者對這兩個目錄的許可權通常都是讀 寫和執行。但是使用者不能刪除或重新命名屬於其他人的檔案,為此在這兩個目錄的檔案模式中都設定了黏著位。

APUE 第四章 檔案和目錄

本章主要圍繞stat這個函式來講的。int stat const char pathname,struct stat buf int fstat int fd,struct stat buf int lstat const char pathname,sttuct stat buf 如果是符號鏈結,...

APUE筆記 第四章 檔案和目錄

功能 給定乙個pathname,stat函式返回乙個與此命名檔案有關的資訊結構,fstat函式獲得已在描述符filedes上開啟的檔案的有關資訊。lstat函式類似於stat,但是當命名的檔案是乙個符號連線時,lstat返回該符號連線的有關資訊,而不是由該符號連線引用的檔案的資訊。1 普通檔案 re...

第四章 檔案和目錄

1.函式stat,fstat,lstat,fststat int stat const char restrict pathname,struct stat restrict buf int fstat int fd,struct stat buf 2.檔案型別 普通檔案,目錄檔案,塊特殊檔案,字元...