檔案種類和目錄配置

2021-10-01 20:28:38 字數 4594 閱讀 1834

linux檔案種類和目錄配置

一、檔案種類

1)-,常規檔案(regular file)

-* 二進位制檔案(binary):可執行檔案一般是二進位制檔案

-* 資料檔案(data):某些程式執行過程中會產生特定格式檔案,這些檔案就可以稱之為資料檔案

2)d,目錄(directory)

就是類似於資料夾,或者現實中的檔案櫃

3)l,鏈結檔案(link)

4)b&c裝置與裝置檔案(device)

b,區塊裝置檔案(block):第乙個屬性對應是b。比如硬碟,我可以隨機讀取的介面裝置,隨機在不同區塊讀寫

c,字元(character)裝置檔案:第乙個屬性對應是c。比如鍵盤,滑鼠,通過序列介面連線,資料不能夠截斷。

5)資料介面檔案(sockets)

s,既然是資料介面檔案,肯定常出現在網路上的資料交換了

6)資料傳輸檔案(fifo,pipe)

p,特殊型別的資料型別,主要解決多個程式同時讀取乙個檔案的錯誤問題,fifo是first-in-first-out的縮寫,即管道

二、副檔名

* 補充:再次重申,檔案的副檔名在linux下只是用來標識檔案型別,至於能夠執行關鍵是看有沒有許可權,當然真正能執行起來的前提是檔案是可執行檔案,比如:ascii檔案就算有執行許可權也無法執行成功。

常用的字尾,自己到時候就知道了,它和windows下的不一樣

1,rwx,代表使用者|使用者組成員|others對檔案的許可權,x就代表我能夠執行它,至於檔案到底能不能執行,這不是我管的了,win下一般可執行的檔案都是.exe  .com   .bat結尾的吧,我們linux是否可執行和副檔名沒什麼關係,要看許可權是不是給到了。

有時候網上下的可執行檔案在自己的電腦上不能執行,可以考慮是不是自己的許可權不夠,嘗試檢視或修改許可權

2,最長檔名255位元組,漢字的話大概128字以內,pathname包含檔案路徑+檔名+副檔名

三、檔案目錄

標準:fhs

1,四種型別|四種互動形態:根據檔案系統 使用的頻繁程度 與 是否允許使用者隨意修改 劃定

#可分享:可以分享給其他系統掛載使用的目錄

#不可分享:自己機器上執行的裝置檔案或是socket檔案等,自己機器上的當然不能分享

#不變:資料不會經常變動,比如函式庫,檔案說明等

#可變:經常修改的資料,比如日誌檔案等

2,針對目錄樹,fhs定義了三層目錄,分別是/根目錄,和目錄次/usr  /var

(1)/根目錄的意義和內容

#根目錄是整個系統最重要的乙個目錄,所有其他目錄都在根目錄下,同時也與系統的修復,啟動,還原有關,根目錄下必須包含能夠修復檔案系統的程式。

而且,根目錄越小越好避免存放其他資料,安裝的應用程式也最好不要直接安裝在根目錄下也就是不跟根目錄放在同乙個分割槽。

/bin:(binary)執行檔案存放的目錄,但是/bin比較特殊,因為/bin下存放是在單人維護模式下還能夠使用的命令,在/bin下的命令能夠被root賬號和普通賬號使用,比如一些常用的命令。

/boot:啟動會用的檔案,包括linux核心檔案和啟動選項及所需的配置檔案。linux核心常用的檔名:vmlinuz。順便一提,grub2是乙個啟動引導程式

/dev:(device)裝置檔案,每乙個裝置都是檔案,反之我們對/dev下的某個檔案進行操作就等於讀寫某個裝置。

/etc:(etc)系統主要的配置檔案:人員的密碼賬號,各種服務的啟動服務等,一般來說,一般使用者可檢視,但是只有root才能修改。最好不要放置可執行binary檔案在這裡

/media:**,可刪除/移除的裝置,比如光碟

/mnt:(mount)暫時用來掛載,因為有了/media,所以/mnt暫時用來掛載

/opt:第三方輔助軟體放置的目錄,就是安裝發行版提供的軟體,就是放到這個資料夾,如果是自行安裝的檔案,也就是發行版沒有提供的軟體,我們一般放在/usr/local

/run:系統啟動後跑出來的各項資訊要放置在/run下,因為/run可以模擬記憶體,所以速度會好很多

/sbin:linux下有很多命令是設定啟動環境的,只有root才可以使用。裡面包含了啟動,修復,還原系統所需要的命令

/srv:可以看做service的縮寫,網路服務所需要的資料目錄

/tmp:讓一般使用者或是執行程式暫時存放資料的地方

/usr:第二層fhs規定的次目錄

/var:第二層fhs規定的次目錄

#fhs建議可以有也可以沒有的目錄 

/home:家目錄。~,代表目前使用者的家目錄。~jerry,代表jerry的家目錄

/lib:放置於/lib格式不同的二進位制函式庫

/root:系統管理員的家目錄,當僅掛載根目錄的時候,就會有root許可權,因為我把root家目錄放到根目錄下了也就是用乙個分割槽,是不是很方便。補充:因為在恢復模式一般只能載入根目錄,所以直接把root的家目錄直接放到根目錄下就會很方便。

#其他重要的目錄:

/lost+found:私用標準ext2,ext3,ext4檔案格式才有的目錄,檔案系統發生錯誤時一些遺失的片段會放到這裡。當然用xfs就沒有這個目錄

/proc:虛擬的檔案系統,資料都放在記憶體裡,系統的核心,程序process,外接裝置的狀態,網路狀態等

如今恢復模式能夠同時掛載根目錄和usr,所以在centos7.x就把sbin,bin,lib通過鏈結的方式放到usr下面

總結:根目錄下面目錄分類:

1. 命令:

/bin 

/sbin

2. 函式庫

/lib

/lib

3. 裝置

/dev

/media

/mnt

4. 執行1

/boot   核心

/opt    第三方軟體

5. 執行2

/etc   系統主要的配置檔案

/srv   service,一些網路服務啟動之後, 這些服務所需要的資料目錄,比如載入網頁資料

/run   執行產生的各項資訊

/tmp  臨時放置檔案的地方,任何人都能訪問,但是很多時候就會被清除掉

6. 記憶體相關

/proc (process)

/sys

我們可以看到根目錄和系統最基本的息息相關,都是最基本的。從centos7開始的變動如下

/bin ->  /usr/bin

/shin -> /use/spin

/lib -> /use/bin

/lin64 -> /use/lib64

/var/lock -> /run/lock

/var/run -> /run

其中->表示鏈結的意思,左面的均是鏈結檔案而已,真正的物理檔案是後面的。

(2)usr的意義和內容

#usr,uinx software resource的縮寫,也就是作業系統軟體資源放置目錄。有點像win下面的programfiles這個資料夾,在此重申一下,這個不是user

#必須有的目錄

/usr/local/:本機安裝的軟體,就是自己下的最好安裝到此目錄

/usr/include/:c/c++的標頭檔案header和包含檔案include放置處

/usr/src/:一般源**,source

總結:基本和軟體有關,unix software resource

(3)/var的意義和內容

#/usr安裝是會占用較大的記憶體,/var是系統執行時才會漸漸占用硬碟容量,針對經常變動的檔案,比如:快取,日誌檔案,以及軟體執行產生的檔案等

/var/cache/:程式產生的快取

/var/lib/:程式執行中需要的資料檔案的放置目錄,一般每個程式都有單獨的乙個目錄

/var/lock/:某些裝置一次只能有乙個程式使用,這個就是給裝置上鎖的,目前挪到了/run/lock中,因為跟程式執行相關啊

/var/log/:重要到不行,日誌檔案啊。

/var/mail/:個人郵箱

/var/run/:某些程式或服務執行後他們的pid會放到這裡

/var/spool/:佇列資料,排隊等待其他程式使用的資料。

總結:/根目錄,經常是跟系統啟動修復之類有關,核心,驅動,root和root命令都放在這裡。

/usr,主要是自己安裝軟體的目錄,也就是軟體資源放置目錄。有點像win下面的programfiles這個資料夾

/var,variable(可變的)系統執行時才會漸漸占用硬碟容量,針對經常變動的檔案,快取,日誌檔案,以及軟體執行產生的檔案等

root有兩種含義,一是:根目錄;二是:超級管理員,看什麼語境了

# 目錄樹

* 以/根目錄為起始點的,形成樹狀結構,每乙個目錄都是可循的,每乙個目錄不止能使用本地的檔案系統,而且能夠使用網路上的檔案系統

# 回顧前面?哥的分割槽,想法:

/biosboot   標準分割槽 2m

/boot 標準分割槽 1g

/ lvm格式 10g

/home lvm 5g

/swap lvm 1g

至於biosboot,我們目前有uefi bios搭配gpt格式的硬碟啟動,bios就是寫到flash上的一段讀取引導程式的可執行程式,uefi要更加複雜

/boot放置啟動時會用到的檔案,包括核心和啟動選項(mbr的m1和m2,設定啟動程式選項),以及啟動所需要的配置檔案。1g很合理

/home,家目錄,5g感覺比較合理,我畢竟也不放什麼東西啊

lamp的目錄和配置檔案

一直都是用一鍵安裝包,今天幫朋友弄一linux主機,發現原來主機商是幫用光碟安裝的,很多都不一樣。apache 如果採用rpm包安裝,安裝路徑應在 etc httpd目錄下 apache配置檔案 etc httpd conf httpd.conf apache模組路徑 usr sbin apache...

Linux 的檔案許可權和目錄配置

用root使用者登入linux後,執行 ls al 命令檢視檔案。顯示如下 檔案屬性示意圖如下 第一列代表這個檔案的型別和許可權 後面的9個字元以3個位一組,均為rwx的組合。其中r代表可讀,w代表可寫,x代表可執行。注意3個許可權的位置不會改變,如果沒有許可權,就會出現減號 第二列表示有多少檔名連...

Linux的檔案許可權和目錄配置

1 linux檔案屬性 r w x r w x d則是目錄 則是檔案 i則表示鏈結檔 b裝置檔案中可供儲存的介面裝置 c裝置檔案中的串列埠裝置,如鍵盤 滑鼠 接下來的字元中,以三個為一組,且均為 rwx 的三個引數的組合。r 代表可讀,w 可寫,x 可操作 第一組 rwx 為檔案擁有者可具備的許可權...