Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學

Linux ls 命令輸出詳解:權限位、鏈接數、擁有者、大小、時間、文件類型一覽

編輯:Linux 系統常見問題解答

ls -l 長格式輸出信息密集,新手常看不懂「drwxr-xr-x 是什麼」、「鏈接數代表啥」。本文逐字段拆解,配合實例圖示,並講解 chmod、chown、chgrp 權限與屬性修改實戰。

長格式輸出字段拆解

drwxr-xr-x  2 root root  4096 Mar 31  2005  bin
-rw-r--r--  1 root root     0 Apr 24  2002  test.run

ls -l 輸出字段示意圖

  1. 文件類型與權限(10 字符)
    • 第 1 字符:類型——d目錄、-普通文件、l符號鏈接、b塊設備、c字符設備、p管道、sSocket。
    • 第 2-4 字符:擁有者權限 rwx(讀/寫/執行)。
    • 第 5-7 字符:所屬組權限 rwx。
    • 第 8-10 字符:其他用戶權限 rwx。
    • 特殊位:s (Setuid/Setgid)、t (Sticky bit)、S/T (無執行位但有特殊位)。
  2. 硬鏈接數:目錄項引用計數。文件 ≥1,目錄 ≥2(. 和 ..)。
  3. 擁有者用戶名。
  4. 擁有者組名。
  5. 文件大小(位元組):目錄顯示元數據大小,非遞歸總大小。
  6. 最後修改時間:默認 MMM DD HH:MM(半年外顯示年份),--full-time 顯示秒級。
  7. 文件名:符號鏈接顯示 name -> target。

權限位含義速查

權限字符對文件含義對目錄含義
r (read)讀取文件內容列出目錄條目 (ls)
w (write)修改文件內容創建/刪除/重命名目錄內文件 (touch, rm, mv)
x (execute)作為程序執行進入目錄 (cd)、訪問目錄內文件元數據

修改權限:chmod 實戰

# 符號模式(推薦,可精確增減)
chmod u+x file.txt          # 擁有者加執行權限
chmod g+w file.txt          # 所屬組加寫權限
chmod o+r file.txt          # 其他用戶加讀權限
chmod a-x file.txt          # 所有人減執行權限
chmod ug=rw,o=r file.txt    # 精確設置(= 覆蓋)

# 八進制模式(快速全量設置)
chmod 755 file.txt          # rwxr-xr-x
chmod 644 file.txt          # rw-r--r--
chmod 600 file.txt          # rw-------
chmod 4755 /usr/bin/sudo    # Setuid: rwsr-xr-x

# 遞歸修改目錄樹
chmod -R u+rwX,go=rX /path  # 大 X: 僅目錄和已有執行位文件加 x

修改擁有者:chown / chgrp 實戰

# chown: 修改用戶和/或組
chown user file.txt
chown user:group file.txt
chown :group file.txt        # 僅修改組
chown -R user:group /dir     # 遞歸

# chgrp: 僅修改組
chgrp group file.txt
chgrp -R group /dir

# 參考文件屬性
chown --reference=ref_file target_file
chgrp --reference=ref_file target_file

特殊權限位實戰

  • Setuid (u+s, 4000):文件執行時進程獲得文件擁有者權限(如 /usr/bin/passwd、/usr/bin/sudo)。目錄無效。
  • Setgid (g+s, 2000):文件執行時進程獲得文件所屬組權限;目錄啟用:新建文件自動繼承目錄所屬組(協作目錄必備)。
  • Sticky bit (o+t, 1000):目錄啟用:只有文件擁有者、目錄擁有者、root 能刪除/重命名目錄內文件(/tmp、/var/tmp 標配)。
chmod g+s /shared/team      # 協作目錄:新文件自動屬於 team 組
chmod o+t /tmp              # 防止用戶誤刪他人文件
chmod 4755 /usr/local/bin/myprivtool  # Setuid 程序(極度謹慎,審計代碼)

常見別名建議

alias ll='ls -alF'
alias la='ls -A'
alias l='ls -CF'
alias lh='ls -lh'
alias lt='ls -lht'
alias lS='ls -lhS'

提示: Linux 可執行文件不依賴擴展名(.exe),而是通過 x 執行位判斷。ls -F 或 --color=auto 能直觀區分:綠色/帶 * 為可執行,藍色/帶 / 為目錄,青色/帶 @ 為符號鏈接。

Copyright © Windows教程網 All Rights Reserved