Linux常用命令 | 文本查看相關

Linux常用命令中,除了cat還有很多其他用于文本查看的命令。本文將簡單介紹一下這些文本查看的命令。

一、全文本顯示--cat

cat可能是常用的一個文本查看命令了,使用方法也很簡單:

cat file            # 全文本顯示在終端
cat -n file         # 顯示全文本,并顯示行號

另外,cat也可用作合并文件:該命令將file1 file2的內容合并寫到file3中。

cat file1 file2 >file3

二、倒序顯示全文本--tac

tac是cat倒過來的寫法,tac以行為單位,倒序顯示全文本內容。

tac file

三、分頁顯示文本--more

cat將整個文本內容輸出到終端。那么也就帶來一個問題,如果文本內容較多,前面的內容查看將十分不便。而more命令可以分頁顯示。
1.顯示內容

more file

之后,就可以使用按鍵來查看文本。常用按鍵如下:

回車    # 向下n行,默認為1行
空格    # 向下滾動一屏
b      # 向上滾動一屏
=      # 輸出當前行號
:f     # 輸出當前文件名和當前行號
q      # 退出

2.從指定行開始顯示

more +10 file

該命令從第10行開始顯示file的內容。

3.從匹配的字符串行開始顯示

more +/string file

該命令從有string的行的前兩行開始file的內容。

四、任意瀏覽搜索文本--less

less命令的基本功能和more沒有太大差別,但是less命令可以向前瀏覽文件,而more只能向后瀏覽文件,同時less還擁有更多的搜索功能。
常見使用方法:

less file       # 瀏覽file
less -N file    # 瀏覽file,并且顯示每行的行號
less -m file    # 瀏覽file,并顯示百分比

常用按鍵如下:

f           # 向前滾動一屏
b           # 向后滾動一屏
回車或j     # 向前移動一行
k           # 向后移動一行
G           # 移動到最后一行
g           # 移動到第一行
/string     # 向下搜索string,n查看下一個,N查看上一個結果
?string    # 向上搜索string,n查看下一個,N查看上一個結果
q           # 退出

相比more命令,less命令能夠搜索匹配需要的字符串。
另外,less還能在多個文件間切換瀏覽:

less file1 file2 file3
:n     #切換到下一個文件
:p     #切換到上一個文件
:x     #切換到第一個文件
:d     #從當前列表移除文件

五、顯示文本頭部內容--head

head命令的作用就像它的名字一樣,用于顯示文件的開頭部分文本。
常見用法如下:

head -n 100 file        # 顯示file的前100行
head -n -100 file       # 顯示file的除最后100行以外的內容。

六、顯示文本尾部內容--tail

和head命令類似,只不過tail命令用于讀取文本尾部部分內容:

tail -100 file          # 顯示file最后100行內容
tail -n +100 file       # 從第100行開始顯示file內容 

tail還有一個比較實用的用法,用于實時文本更新內容。比如說,有一個日志文件正在寫,并且實時在更新,就可以用命令:

tail -f logFile

對于更新的日志內容,會實時打印到終端上,方面查看實時日志。

七、指定順序顯示文本--sort

sort可用于對文本進行排序并顯示,默認為字典升序。
例如有一段文本test.txt內容如下:

vim
count
fail
help
help
dead
apple

1.升序顯示文本

sort test.txt
apple
count
dead
fail
help
help
vim

2.降序顯示
相關參數(shù)-r:

sort -r test.txt
vim
help
help
fail
dead
count
apple

3.去掉重復的行
我們可以觀察到,前面的help有兩行,如果我們不想看到重復的行呢?可以使用參數(shù)-u,例如:

sort -u test.txt
apple
count
dead
fail
help
vim

可以看到help行不再重復顯示。

4.按照數(shù)字排序
如果按照字典排序,10將會在2的前面,因此我們需要按照數(shù)字大小排序:

# -n, --numeric-sort
sort -n file

由于本文篇幅有限,不在本文展開介紹,后續(xù)將單獨介紹sort命令的妙用。

八、過濾顯示文本--sed

sed是一個流編輯器,功能非常強大,但本文只介紹文本查看相關功能。
1.顯示匹配關鍵字行
有時候查看日志,可能只需要查看包含某些關鍵字的日志行:

sed -n "/string/p" logFile

上面的命令表示打印包含string的行。

2.打印指定行

sed -n "1,5p" logFile       # 打印第1到5行
sed -n '3,5{=;p}' logFile   # 打印3到5行,并且打印行號
sed -n "10p" logFIle        # 打印第10行

九、去重顯示文本--uniq

NAME
       uniq - report or omit repeated lines

SYNOPSIS
       uniq [OPTION]... [INPUT [OUTPUT]]

DESCRIPTION
       Filter adjacent matching lines from INPUT (or standard input), writing to OUTPUT (or standard output).

       With no options, matching lines are merged to the first occurrence.

       Mandatory arguments to long options are mandatory for short options too.

       -c, --count
              prefix lines by the number of occurrences

       -d, --repeated
              only print duplicate lines

       -u, --unique
              only print unique lines

       -i, --ignore-case
              ignore differences in case when comparing

       -D, --all-repeated[=delimit-method]
              print all duplicate lines delimit-method={none(default),prepend,separate} Delimiting is done with blank lines.

       -f, --skip-fields=N
              avoid comparing the first N fields

       -s, --skip-chars=N
              avoid comparing the first N characters

       -z, --zero-terminated
              end lines with 0 byte, not newline

       -w, --check-chars=N
              compare no more than N characters in lines

       --help display this help and exit

       --version
              output version information and exit

       A field is a run of blanks (usually spaces and/or TABs), then non-blank characters.  Fields are skipped before chars.

       Note:  ’uniq’ does not detect repeated lines unless they are adjacent.  You may want to sort the input first, or use ‘sort -u’ without ‘uniq’.  Also, comparisons honor the rules
       specified by ‘LC_COLLATE’.

常見用法如下:

uniq file           # 去除重復的行
uniq -c file        # 去除重復的行,并顯示重復次數(shù)
uniq -d file        # 只顯示重復的行
uniq -u file        # 只顯示出現(xiàn)一次的行
uniq -i file        # 忽略大小寫,去除重復的行
uniq -w 10 file     # 認為前10個字符相同,即為重復

總結
  文本查看命令較多,可根據(jù)使用場景不同選擇使用不同的命令。有些命令的用法較多,本文僅介紹經(jīng)典用法,更多用法可使用man命令查看。很多命令可以結合其他命令使用,例如ps -elf|more,分頁顯示進程信息等等,更多用法可自行探索。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容