linux ls 输出对齐,理解 Linux 中 `ls` 的输出
ls 的輸出會(huì)因各 Linux 版本變種而略有差異,這里只討論一般情況下的輸出。
下面是來(lái)自 man page 關(guān)于 ls 的描述:
$ man ls
ls - list directory contents
列出文件夾中的內(nèi)容。
但一般我們會(huì)配合著 -l 參數(shù)使用,將輸出展示成列表形式。
在 ls 的 man page 中搜索 -l 可看到該參數(shù)的意義:
-l use a long listing format
列表形式下看到的輸出大概成這樣:
-rwxrw-r-- 10 root root 2048 Jan 13 07:11 afile.exe
各列的含義
-rwxrw-r-- 10 root root 2048 Jan 13 07:11 afile.exe
?UUUGGGOOOS 00 UUUUUU GGGGGG #### ^-- 修改日期及文件或文件夾名
^ ^ ^ ^ ^ ^ ^ ^ ^
| | | | | | | | \--- 文件大小,單位為字節(jié)(byte)
| | | | | | | \-------- 所有者所處的分組
| | | | | | \--------------- 所有者名稱(chēng)
| | | | | \---------------------- 包含的項(xiàng)目(item)數(shù)量
| | | | \--------------------------- 額外的權(quán)限(`.`,`+`,`s` 等,為空表示沒(méi)有)
| \--\--\----------------------------- 分別對(duì)應(yīng) [U]ser, [G]roup, and [O]thers 三種賬戶(hù)的讀,寫(xiě),可執(zhí)行權(quán)限
\------------------------------------- 標(biāo)識(shí)文件類(lèi)型
文件權(quán)限/file permissions
包含三部分:
第一位標(biāo)識(shí)文件類(lèi)型,
-:文件。
d:文件夾(directory)。
l:軟鏈(symlink)。
后面的值三個(gè)一組,xxx xxx xxx。分別對(duì)應(yīng)了 user,group 與 other 的權(quán)限。其中每一組包含三位,每一位則表示具體的讀寫(xiě)及可執(zhí)行權(quán)限,如果是字母表示有該權(quán)限, - 表示沒(méi)有相應(yīng)的權(quán)限。
r:讀取權(quán)限/readable。
w:寫(xiě)入權(quán)限/writable。
x:可執(zhí)行權(quán)限/executable,即將文件作為可執(zhí)行文件運(yùn)行。
最后位可選,表示還有額外的權(quán)限控制,如果沒(méi)有則為空,參見(jiàn)這里的解釋。
其中,
user 即文件所屬的用戶(hù),它的所有者,也可理解成其創(chuàng)建者,如果該文件沒(méi)有被修改過(guò)權(quán)限的話(huà)。
group 即用戶(hù)所屬的分組。
other 表示既不是主人也不屬于 user 所處的分組的其他任何身份。
所以連起來(lái)的話(huà),-rwxrw-r-- 表示該項(xiàng)是個(gè)文件,其所有者擁有全部三種權(quán)限(rwx),和所有者同在一個(gè)分組下的用戶(hù)沒(méi)有可執(zhí)行的權(quán)限(rw-),其他用戶(hù)只讀(r--)。
Tips: 系統(tǒng)會(huì)為文件默認(rèn)賦予權(quán)限,但可通過(guò) chmod (change mode)命令來(lái)手動(dòng)改變文件的權(quán)限。
one more thing
有趣的是,權(quán)限除了使用 rwx 字母的方式表示,還可使用八進(jìn)制(octal)數(shù)字來(lái)表示。
0:無(wú)權(quán)限 -
1:可執(zhí)行 x
2:寫(xiě)權(quán)限 w
3:可寫(xiě)和可執(zhí)行 wx
4:讀權(quán)限 r
5:可讀可執(zhí)行 rx
6:讀寫(xiě) rw
7:讀寫(xiě)及可執(zhí)行 rwx
數(shù)字形式的權(quán)限通常用于 chmod 命令,方便修改文件的權(quán)限。比如將文件設(shè)置對(duì)用戶(hù)有全部權(quán)限(對(duì)應(yīng)數(shù)字 7),分組可讀可執(zhí)行(5),其他只讀(4):
$ chmod 754 somefile.js
你當(dāng)然還是可以使用字母的方式來(lái)進(jìn)行設(shè)置的,
$ chmod u=rwx,g=rx,o=r somefile.js
細(xì)心的你可能發(fā)現(xiàn)了,無(wú)論哪種權(quán)限組合,都可以通過(guò)三種其他的權(quán)限其數(shù)字相加而得到,
比如 7 表示讀寫(xiě)及可執(zhí)行,7 = 4(讀) + 2 (寫(xiě)) + 1 (可執(zhí)行)
再比如只讀權(quán)限 4 = 4(讀) + 0 (寫(xiě)) + 0 (可執(zhí)行)
這便是其設(shè)計(jì)其妙之處,所以你應(yīng)該理解為何 0~7 對(duì)應(yīng)的是上面列出的權(quán)限。方便之處在于,只需要記住 4,2,1 分別對(duì)應(yīng)讀,寫(xiě),可執(zhí)行。其他權(quán)限通過(guò)相加計(jì)算即可。
鏈接數(shù)量/number of links
表示包含的項(xiàng)目數(shù)量。如果該項(xiàng)是文件,則無(wú)疑是 1。如果該項(xiàng)是文件夾,表示文件夾下還包含多少個(gè)文件或文件夾。
所屬用戶(hù)/owner name
文件的所有者。
所屬分組/owner group
所有者所處的分組名。
文件大小/file size
文件或文件夾的大小,單位為字節(jié)(byte)。通過(guò)參數(shù)可配置輸出為更加容易理解的形式,比如 -h (--human-readable):
-rw-rw-r-- 1 liuwayong liuwayong 1.6K Mar 30 18:18 app.js
修改日期/time of last modification
最后的修改日期。
文件或目錄名/file/directory name
文件或文件夾的名稱(chēng)。如果是軟鏈接,會(huì)顯示出其所指向的位置。
lrwxrwxrwx 1 root root 16 Aug 2 2018 videodata -> /data/videodata/
相關(guān)資料
與50位技術(shù)專(zhuān)家面對(duì)面20年技術(shù)見(jiàn)證,附贈(zèng)技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的linux ls 输出对齐,理解 Linux 中 `ls` 的输出的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: dxf转pdf linux,4个最好的P
- 下一篇: linux 阶段作业领导者,Linux入