文件權限與目錄配置2

文件種類與擴展名

文件種類:

  • 正規文件(regular file):第一個字符爲[-]。另外,依照文件的內容,又大略可以分爲:

    • 純文本文件(ASCII)
      內容爲我們人類可以直接讀到的數據,例如數字、字母等等。幾乎只要我們可以用來做爲設置的文件都屬於這一種文件類型。例如你可以下達“cat~/.bashrc”就可以看到該文件的內容。

    • 二進制檔(binary)
      剛剛下達的指令cat就是一個binary file

    • 數據格式文件(data)
      例如我們的Linux在使用者登陸時,都會將登錄的數據記錄在 /var/log/wtmp那個文件內,該文件是一個data file,他能夠通過last這個指令讀出來!

  • 目錄(directory):就是目錄囉~第一個屬性爲 [ d ],例如 [drwxrwxrwx]。

  • 鏈接文件(link):就是類似Windows系統下面的捷徑啦!第一個屬性爲 [l](英文L的小寫),例如 [lrwxrwxrwx];

  • 設備與設備文件(device):與系統周邊及儲存等相關的一些文件,通常都集中在/dev這個目錄之下!通常又分爲兩種:

    • 區塊(block)設備文件:硬盤與軟盤等,你可以自行查一下/dev/sda看看,會發現第一個屬性爲[b]喔!

    • 字符(character)設備文件:鍵盤與鼠標等。這些設備的特色就是“一次性讀取”的,不能夠截斷輸出。舉例來說,你不可能讓鼠標“跳到”另一個畫面,第一個屬性爲[c]

  • 數據接口文件(sockets):
    這種類型的文件通常被用在網絡上的數據承接了。我們可以啓動一個程序來監聽用戶端的要求, 而用戶端就可以通過這個socket來進行數據的溝通了。第一個屬性爲[s], 最常在/run或/tmp這些個目錄中看到這種文件類型了。

  • 數據輸送檔(FIFO, pipe):
    FIFO也是一種特殊的文件類型,他主要的目的在解決多個程序同時存取一個文件所造成的錯誤問題。 FIFO是first-in-first-out的縮寫。第一個屬性爲[p] 。

Linux文件擴展名:
一個Linux文件能不能被執行,與他的第一欄的十個屬性有關,與文件名根本一點關係也沒有。在Linux下面,只要你的權限當中具有x的話,例如[-rwxr-xr-x ]即代表這個文件具有可以被執行的能力喔!

注意:具有“可執行的權限”以及“具有可執行的程序碼”是兩回事!這個x代表這個文件具有可執行的能力,但是能不能執行成功,當然就得要看該文件的內容囉

Linux文件長度限制:
單一文件或目錄的最大容許文件名爲255Bytes,以一個ASCII英文佔用一個Bytes來說,則大約可達 255 個字符長度。若是以每個中文字佔用 2Bytes 來說, 最大文件名就是大約在128箇中文字。

Linux文件名稱的限制:
由於Linux在命令行下的一些指令操作關係,一般來說,你在設置Linux下面的文件名稱時,最好可以避免一些特殊字符比較好!例如下面這些:
在這裏插入圖片描述
因爲這些符號在命令行下,是有特殊意義的!另外,文件名稱的開頭爲小數點“.”時, 代表這個文件爲“隱藏文件”喔!同時,由於指令下達當中,常常會使用到 -option 之類的選項, 所以你最好也避免將文件文件名的開頭以 - 或 + 來命名啊!

目錄配置

FHS針對目錄樹架構僅定義出三層目錄下面應該放置什麼數據而已,分別是下面這三個目錄的定義:

  • /(root, 根目錄):與開機系統有關;
  • /usr (unix software resource):與軟件安裝/執行有關;
  • /var (variable):與系統運行過程有關。

根目錄(/)的意義與內容:

根目錄是整個系統最重要的一個目錄,因爲不但所有的目錄都是由根目錄衍生出來的,同時根目錄也與開機/還原/系統修復等動作有關。由於系統開機時需要特定的開機軟件、核心文件、開機所需程序、函數庫等等文件數據,若系統出現錯誤時,根目錄也必須要包含有能夠修復文件系統的程序行。

根目錄(/)所在分區應該越小越好, 且應用程序所安裝的軟件最好不要與根目錄放在同一個分區內,保持根目錄越小越好。如此不但性能較佳,根目錄所在的文件系統也較不容易發生問題。

根目錄下面應存在的次目錄:
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
下面是幾個在Linux當中也是非常重要的目錄:
在這裏插入圖片描述

/usr(Unix Software Resource的縮寫)的意義與內容:

所有系統默認的軟件(distribution發佈者提供的軟件)都會放置到/usr下面,因此這個目錄有點類似Windows 系統的“C:\Windows\(當中的一部份)+ C:\Program files\”這兩個目錄的綜合體

一般來說,/usr的次目錄建議有下面這些:
在這裏插入圖片描述
FHS建議存在的目錄:
在這裏插入圖片描述

/var 的意義與內容:
在系統運行後纔會漸漸佔用硬盤容量的目錄。 因爲/var目錄主要針對常態性變動的文件,包括高速緩存(cache)、登錄文件(log file)以及某些軟件運行所產生的文件, 包括程序文件(lock file, run file),或者例如MySQL數據庫的文件等等。
在這裏插入圖片描述
centos7將許多原本應該要在根目錄(/)裏面的目錄,將他內部數據全部挪到/usr裏面去,然後進行鏈接設置!

  • /bin --> /usr/bin
  • /sbin --> /usr/sbin
  • /lib --> /usr/lib
  • /lib64 --> /usr/lib64
  • /var/lock --> /run/lock
  • /var/run --> /run

目錄樹(directory tree)

在這裏插入圖片描述

絕對路徑與相對路徑

絕對路徑文件名爲從根目錄 /開始寫起,否則都是相對路徑的文件名

重點回顧

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章