Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> 關於 Linux

Linux ls 指令完全指南:參數詳解、輸出格式解析與實戰範例大全

編輯:關於 Linux

ls(list)是 Linux 列出目錄內容的核心指令,參數極其豐富,涵蓋顯示格式、排序方式、時間戳記、權限資訊、色彩標示等多維度控制。本文系統整理超過 50 個常用參數分類說明,並提供實戰範例與輸出欄位解析,助你精準掌握目錄瀏覽與資訊擷取技巧。

指令語法與核心功能

ls [選項]... [目錄/檔案]...

無參數預設: 當前目錄下非隱藏檔案,直行顯示,按字母排序。

參數分類速查表(50+ 參數)

顯示範圍控制

參數長參數功能
-a--all顯示所有檔案(含以 . 開頭的隱藏檔)
-A--almost-all同 -a 但不列出 . 與 ..
-d--directory列出目錄本身而非其內容
-L--dereference顯示符號連結指向的目標資訊
-H--dereference-command-line命令列參數為符號連結時跟隨目標

輸出格式與資訊豐富度

參數長參數功能
-l長格式:權限、連結數、擁有者、群組、大小、時間、名稱
-h--human-readable搭配 -l:大小以 K/M/G 易讀單位顯示
--si同 -h 但用 1000 為底(而非 1024)
-i--inode顯示 inode 號碼
-n同 -l 但用 UID/GID 數字而非名稱
-g同 -l 但不列出擁有者
-G--no-group不列出群組資訊
-o同 -l 但不列出群組(保留擁有者)
-F--classify檔案類型後綴:/=目錄, *=執行檔, @=符號連結, |=FIFO
-p--file-type同 -F 但不標示執行檔 *
--color[=WHEN]控制色彩:never/always/auto

排序與順序控制

參數長參數功能
-t按修改時間新舊排序(最新在前)
-r--reverse反轉排序順序
-S按檔案大小排序(最大在前)
-X按副檔名排序
-v自然版本號排序(1, 2, 10, 1.1)
-c搭配 -lt:按 ctime 排序/顯示;搭配 -l:顯示 ctime 但按名稱排序
-u搭配 -lt:按 atime 排序/顯示;搭配 -l:顯示 atime 但按名稱排序
-U不排序,依檔案系統原始順序
--sort=WORD指定排序鍵:size, time, version, extension, none

遞迴與特殊處理

參數長參數功能
-R--recursive遞迴列出所有子目錄
-f不排序、啟用 -aU、停用 -lst
-1每行僅一個檔案
-m以逗號分隔填滿行寬
-x逐行而非逐欄顯示
-C逐欄顯示(終端機預設)
-w--width=COLS指定螢幕寬度
-T--tabsize=COLS指定 Tab 寬度
-I--ignore=樣式排除符合 shell 樣式的項目
-b--escape以 C 風格跳脫字元顯示不可列印字元

長格式(-l)輸出欄位詳細解析

-rw-r--r--  1 user  group  4096  Oct 25 14:30  file.txt
│││││││   │  │     │     │    │         │
││││││└───┘  │  │     │     │    │         └─ 檔案名
│││││└───────┘  │     │     │    └────────── 修改時間(mtime)
││││└───────────┘     │     └────────────── 檔案大小(位元組)
│││└──────────────────┘     └────────────── 群組名
││└───────────────────────────────────────── 擁有者
│└────────────────────────────────────────── 硬連結數
└─────────────────────────────────────────── 檔案類型與權限
  第1字元:-=一般檔, d=目錄, l=符號連結, b=區塊裝置, c=字元裝置, p=FIFO, s=Socket
  後9字元:rwx 三組分別為 owner/group/other

實戰範例精選

範例一:系統管理常用組合

# 詳細資訊+人類可讀大小+顯示隱藏檔+分類標示
ls -lhAF

# 依修改時間倒序(最新在前)、長格式
ls -ltr

# 依大小排序找出大檔案
ls -lSh

# 遞迴列出完整目錄樹(大目錄慎用)
ls -lR /etc | head -50

範例二:尋找特定檔案模式

# 列出所有 .log 檔案
ls -l *.log

# 忽略大小寫(需 shopt -s nocaseglob)
ls -l *.LOG

# 排除特定模式
ls -I '*.tmp' -I '*.bak'

範例三:腳本解析友善輸出

# 每行一項、顯示 inode、不解析符號連結
ls -1i

# 以 Null 字元分隔(配合 xargs -0 / read -d '')
ls -1 | tr '\n' '\0'

常見問題與技巧

需求解決方案
色彩不顯示ls --color=always 或檢查 LS_COLORS 環境變數、alias ls='ls --color=auto'
檔名含空格/特殊字元ls -b 跳脫顯示、ls -Q 雙引號包裹
大量檔案效能ls -f 停用排序、ls -U 檔案系統原序
顯示完整時間戳記ls -l --time-style=full-iso 或 stat
只列出目錄ls -d */ 或 find . -maxdepth 1 -type d

現代替代工具推薦

  • exa / eza: 現代化替代品,預設 Git 整合、樹狀檢視、更佳色彩、預設人類可讀大小
  • lsd: Rust 實作,圖示豐富、Git 狀態、樹狀檢視
  • tree: 專注樹狀結構顯示,tree -L 2 -h

深入掌握 ls 的參數組合與輸出解析,能讓目錄巡檢、異常排查、腳本資料擷取等工作精準高效。建議先熟練核心 10-15 個高頻參數,再根據具體需求查閱進階選項。

Copyright © Windows教程網 All Rights Reserved