熟練掌握文件內容檢視、時間屬性修改、權限預設控制、隱藏屬性設置與搜尋定位,是 Linux 日常運維的基本功。本文系統整理核心命令與實戰技巧。
| 命令 | 功能 | 特點 |
|---|---|---|
cat | 從第一行顯示全部 | Concatenate 縮寫,適合小文件 |
tac | 從最後一行反向顯示 | cat 反拼,邏輯相反 |
nl | 顯示並輸出行號 | 一次性輸出,不分頁 |
more | 分頁顯示 | 僅能向下翻頁 |
less | 分頁顯示 | 可向上/向下翻頁,功能更強 |
head | 查看前幾行 | 預設 10 行,-n 指定 |
tail | 查看最後幾行 | 預設 10 行,-f 即時追蹤日誌 |
od | 二進制/八進制/十六進制讀取 | 分析非文本文件 |
常用變體:
cat -n filename # 顯示行號,等同 nl
tac filename # 反向輸出
touch)三種時間戳記:
ls -l 顯示的即此| 參數 | 作用 |
|---|---|
-a | 僅修改 atime |
-m | 僅修改 mtime |
-c | 不建立新文件,僅修改時間 |
-d "YYYY-MM-DD HH:MM" | 指定具體時間 |
典型場景:
touch newfiletouch -am filenameumask666 (rw-rw-rw-) —— 無執行權限777 (rwxrwxrwx) —— 需執行權限才能 cd 進入umask 為「需扣除的權限掩碼」(八進制)。預設 022:
rw-r--644 (rw-r--r--),目錄 755 (rwxr-xr-x)修改預設:
umask 002 # 群組也保留寫入權限 → 文件 664、目錄 775
chattr / lsattr)| 屬性 | 命令 | 效果 |
|---|---|---|
| a (append only) | chattr +a file | 只能追加數據,不可刪除/修改現有內容,root 亦受限 |
| i (immutable) | chattr +i file | 徹底凍結:不可刪除、改名、建立連結、寫入/新增數據,root 亦受限 |
查看屬性:lsattr -a(含隱藏文件)。
| 命令 | 定位 | 速度 | 適用場景 |
|---|---|---|---|
which | PATH 中的可執行文件 | 極快 | 確認命令實際路徑,-a 列出所有同名 |
whereis | 二進制/原始碼/手冊頁 | 快 | -b 二進制、-m 手冊、-s 原始碼、-u 缺文檔 |
locate | 預建資料庫 (/var/lib/mlocate/mlocate.db) | 極快 | 模糊搜尋文件名,需 updatedb 更新庫 |
find | 即時遍歷目錄樹 | 慢 | 複雜條件(大小、時間、權限、類型、執行動作) |
df)df -h # 人類可讀單位顯示磁碟使用量
df -i # 顯示 inode 使用量
df /path/to/dir # 查看指定掛載點
掌握上述工具鏈,文件管理將得心應手。