Linux 常用指令大全 - 文件內容操作
cat
顯示文件內容
語法:
cat [選項] [文件...]
選項:
-b # 顯示非空行的行號,從1開始
-e # 顯示不可見字符,並在每行結尾顯示美元符號($)
-n # 顯示所有行的行號,從1開始
-s # 壓縮連續的空行,使輸出變為單行間隔
-t # 顯 示不可見字符,並將製表符顯示為‘^I’
-v # 顯示不可見字符,控制字符顯示為‘^X’,非ASCII字符顯示為‘M-’後跟低7位字符
範例:
cat file.txt # 顯示file.txt的內容
cat -n file.txt # 顯示file.txt的內容並顯示行號
cat file1.txt file2.txt > merged.txt # 合併file1.txt和file2.txt的內容並保存到merged.txt
cat -b file.txt # 顯示file.txt的內容並顯示非空行的行號
cat -s file.txt # 顯示file.txt的內容並壓縮連續的空行
cat -e file.txt # 顯示file.txt的內容,並在每行結尾顯示美元符號($)
cat file1 - file2 - file3 # 依次顯示file1、標準輸入、file2、標準輸入和file3的內容
cat -v file.txt # 顯示file.txt的內容,並顯示不可見字符
less
分頁顯示文件內容
語法:
less [選項] [文件]
選項:
-bN # 設置緩衝區大小為N行
-e # 當到達文件末尾後自動退出
-f # 強制打開特殊文件,例如設備文件和二進制文件
-i # 搜索時忽略大小寫
-m # 顯示更詳細的百分比信息
-N # 顯示行號
-s # 壓縮連續的空行
-S # 禁用自動換行
-xN # 將Tab字元顯示 為N個空格字元
範例:
less file.txt # 分頁顯示file.txt的內容
less -N file.txt # 分頁顯示file.txt的內容並顯示行號
less -S file.txt # 分頁顯示file.txt的內容,禁用自動換行
less -i file.txt # 搜索時忽略大小寫
less +/pattern file.txt # 分頁顯示file.txt的內容並跳轉到匹配pattern的位置
less -m file.txt # 分頁顯示file.txt的內容並顯示更詳細的百分比信息
less -e file.txt # 分頁顯示file.txt的內容,到達文件末尾後自動退出
less -f /dev/sda # 強制打開設備文件/dev/sda
less -X file.txt # 禁用終端初始化和重置,分頁顯示file.txt的內容
more
分頁顯示文件內容
語法:
more [選項] [文件]
選項:
-d # 在文件結尾顯示一條消息並等待用戶輸入指令
-l # 忽略換頁符(Ctrl-L)
-f # 將長行視為多行
-c # 清屏而非滾屏顯示內容
-p # 使用清屏模式顯示文件(不滾動)
-s # 壓縮連續的空行
-u # 禁用下劃線顯示
-nN # 設置顯示的行數為N行
+N # 從第N行開始顯示文件
+/pattern # 搜索模式並從匹配行開始顯示
範例:
more file.txt # 分頁顯示file.txt的內容
more -d file.txt # 在文件結尾顯示消息並等待用戶輸入指令
more -f file.txt # 將長行視為多行顯示
more -c file.txt # 使用清屏模式顯示文件
more -p file.txt # 清屏模式顯示文件,不滾動
more -s file.txt # 壓縮連續的空行
more -n20 file.txt # 每次顯示20行內容
more +3 file.txt # 從file.txt的第3行開始顯示
more +/pattern file.txt # 搜索模式pattern並從匹配行開始顯示
head
顯示文件開頭部分
語法:
head [選項] [文件...]
選項:
-c, --bytes=[-]NUM # 顯示文件的前NUM字節;NUM前可加“-”表示從文件末尾開始算
-n, --lines=[-]NUM # 顯示文件的前NUM行;NUM前可加“-”表示從文件末尾開始算
-q, --quiet, --silent # 不顯示文件名(僅在多文件時有用)
-v, --verbose # 顯示文件名(僅在多文件時有用)
範例:
head file.txt # 顯示file.txt的前10行
head -n 5 file.txt # 顯示file.txt的前5行
head -c 20 file.txt # 顯示file.txt的前20個字節
head -n -5 file.txt # 顯示file.txt,除了最後5行
head -q file1.txt file2.txt # 顯示file1.txt和file2.txt的前10行,不顯示文件名
head -v file1.txt file2.txt # 顯示file1.txt和file2.txt的前10行,並顯示文件名