Files in Linux – 2

2019/10/18 優化部份內容

Files in Linux

開學前2個禮拜,跟同學一起去了一家公司 intern ,在等待東西跑完之餘,又翻了幾篇鳥哥的文 [註1],發現之前講的 Linux 檔案資料還有很多不清楚的地方,所以來重新整理一下啦~

drwxr-xr-x   2 root root 4.0k 2月 22 09:23 bin
lrwxr-xr-x   1 root root   30 2月 22 12:46 vmlinuz -> ...
-rwxr--r--   1 absnormal absnormal 3.5k  2月 22 17:04 Jcmp
<    1   > <2> <   3   > <   4   > < 5 > <     6    > < 7 >
  1. 檔案類型與讀寫權限
  2. 有多少連結 link 到這個檔案
  3. 檔案之所屬「使用者」
  4. 檔案之所屬「群組」
  5. 檔案大小 ( 預設為 bytes )
  6. 最後修改日期
  7. 檔名

       就第一點的權限來說,上一篇沒有說到的是關於 d 開頭目錄類檔案的 rwx 權限,如果是普通的檔案,那麼能讀取、變更、執行是很正常的事 [註2],但是要如何「執行」一個目錄?開啟嗎?還是執行裡面的檔案?就讓小邊在底下說明囉~

目錄的 rwx 權限作用

  • r ( read contents in directory ) : 最基本的權限,有了的使用者可以看見目錄裡到底藏了啥玩意,但是「看」跟「進」是兩回事,也代表著任何跟需要「進」目錄才能完成的指令 ( ex. cp ) 都無法使用呢,能夠把箱子 ( 目錄 ) 變透明的感覺 (?)
  • w ( modify contents of directory ) : 最強大的權限,也是最沒用的權限,能新增 / 刪除 / 搬移 / 更名目錄內容 (檔案本身的權限並不影響你能不能刪掉TA ),但是沒有鑰匙 (x),這個權限就相當於不存在
  • x ( access directory ) : 最奇怪的權限,相當於箱子的鑰匙,決定進的去進不去得關鍵權限,沒有 w 權限的話就不用擔心會被稿破壞了

最讓人產生疑問的應該是 : 只要擁有修改目錄(w)和執行(x)的權限 ,就能對目錄內的檔案隨心所欲 這件事了。


[註1] 鳥哥的 Linux 檔案介紹在這邊

[註2] 雖然在 Windows 中能被執行的只有 .exe / .bat / .cmd 之類的檔案,但是在 Linux 中任何檔案都能被執行喔,如果強制執行一個無法被執行的檔案

$./file

會得到一串「執行擋格式錯誤」的 error