tree:以樹狀結構顯示目錄下的文件和子目錄,方便直觀查看文件系統結構。
-d
:僅顯示目錄,不顯示文件。-L [層數]
:限制顯示的目錄層級(如?-L 2
?表示顯示當前目錄下 2 層子目錄)。-h
:以人類可讀的格式顯示文件大小。-I [模式]
:排除符合指定模式的文件或目錄(如?-I "*.log"
?排除所有?.log
?文件)。
touch:一次性創建多個文件
-a
:僅更新訪問時間。-m
:僅更新修改時間。-t [時間]
:指定時間(格式為?YYYYMMDDhhmm.ss
,如?-t 202505251430.00
)。
wc:統計文件中的行數、單詞數、字節數或字符數。
-l
:統計行數(Lines)。-w
:統計單詞數(Words,以空格分隔)。-c
:統計字節數(Bytes)。-m
:統計字符數(Characters,基于系統編碼)。
sort:對文件內容或標準輸入進行排序,默認按 ASCII 碼順序排列。
-n
:按數值大小排序(而非字符 ASCII 碼)。-r
:逆序排序(從大到小或 Z 到 A)。-u
:去重(僅保留唯一行)。-t [分隔符]
:指定字段分隔符(如?-t ":"
?用于處理冒號分隔的字段)。-k [字段范圍]
:按指定字段排序(如?-k 2
?按第 2 字段排序)。
Lrzsz 與 unzip
lrzsz:與windows互傳文件的命令,包含兩個核心命令
rz:上傳到linux? ? ? ? ? ? ? ? ? ? ? ? ? ? ?windows ---->linux(也可直接拖拽到xshell)
sz:下載文件到windows? ? ? ? ? ? ? ? ? ? ? ?linux ---->windows
unzip:解壓
unzip xxx.zip 得到 xxx.log 再使用awk取出
uniq:去重,但是只能去重已排序好的
需要配合sort使用
sort uniq.text |uniq -c(-c為顯示每一項出現的次數)
dos2unix:dos2unix
?是一個在 Linux、macOS 等類 Unix 系統中常用的命令行工具,主要用于將 DOS/Windows 格式的文本文件轉換為 Unix/Linux 格式。其核心作用是處理兩種系統間換行符(空格 windows和linux的空格是有差異的)的差異。
diff/vimdiff:
diff:?逐行比較文件內容,輸出文本差異。
-u
:以統一格式(unified)輸出差異,包含上下文(默認顯示 3 行)。-r
:遞歸比較目錄(用于比較目錄及其子目錄下的所有文件)。-q
:僅顯示文件是否不同(靜默模式,不輸出具體差異)。-i
:忽略大小寫差異。--color=auto
:以彩色高亮顯示差異(需終端支持)。
輸出符號含義:>
:右側文件(文件 2)新增的行。<
:左側文件(文件 1)新增的行。---
、+++
:分別標記兩個文件的起始行。@@ -n,m +n,m @@
:表示差異位置(原文件第 n 行開始的 m 行,新文件第 n 行開始的 m 行)。
vimdiff:基于 Vim 編輯器的可視化差異比較工具,提供分屏界面,直觀展示文件差異。
- 交互式編輯:可直接在界面中修改文件,并實時查看差異變化。
- 多文件比較:支持同時比較 2-3 個文件(如?
vimdiff file1 file2 file3
)。 - 豐富的快捷鍵:
]c
/[c
:跳轉到下一個 / 上一個差異處。do
(diff obtain):將當前差異處的內容從另一個文件復制到當前文件。dp
(diff put):將當前文件的內容復制到另一個文件。zo
/zc
:展開 / 折疊差異塊。:diffupdate
:刷新差異標記(修改文件后使用)。
which和whereis:
which
:專注于查找?PATH
?中的可執行文件,適合快速定位命令路徑。
whereis
:提供更全面的文件搜索(二進制、源碼、文檔),但依賴系統預定義的搜索路徑。