Linux之文件读取查看之cat、head、tail、tac、rev、more、less

时间:2021-10-24 08:20:07

 

Linux文件查看的命令有很多,如cat、head、tail、tac、rev、more、less等

 

 

1. cat之查看文件内容

NAME
    cat - 连接文件并在标准输出上打印(concatenate files and print on the standard output)
    
用法格式
    cat [选项]... [文件]...
    
常用选项
    -n, --number             对输出的所有行编号
    -b, --number-nonblank    对非空输出行编号
    -E, --show-ends             在每一行的末尾打印一个$符
    -s, --squeeze-blank         压缩空行,可将多个空行压缩成一个空行
    -T, --show-tabs             将tab字符显示为^I,区分tab键和空格

    
常见用法
    # 查看text.txt文件
    cat text.txt
    
    # 显示行号查看text.txt文件
    cat -n text.txt
    
    # 显示行号、行尾标志符$、tab标志符^I查看text.txt文件(文件内容中空行不列入计数范围)
    cat -bET text.txt
    
扩展用法
    # 合并文件
    cat text1 test2 >test.sum
    
    # cat命令之创建文件
    cat <<EOF >myblog.txt
    My name is Caiyun..
    My blog is https://www.cnblogs.com/Caiyundo/
    
    Nice to meet you..
    And 赛有娜拉Goodbye~
    
    EOF

 

2. head之查看文件内容的前面部分(默认查看前10行)

NAME
    head - 输出文件的前面部分(output the first part of files)

用法格式
    head [选项]... [文件]...
    
常用选项    
    -c, --bytes=[-]K     显示每个文件的前K 字节内容; 当"K"前面加"-"时,文件内容除了后面K行,全部显示
    -n, --lines=[-]K     显示每个文件的前K 行内容; 当"K"前面加"-"时,文件内容除了后面K行,全部显示
    -num                 查看前几行(相当于-n num)
    -v, --verbose         标记显示文件头
    

常见用法
    # 查看test.txt文件前10行
    head test.txt
    
    # 查看test.txt文件前12个字节
    head -c 12 test.txt
    
    # 查看test.txt文件前15行并标记文件头
    head -vn 15 test.txt
    head -15 -v test.txt
    
    # 除了文件最后10行,查看test.txt文件其他全部内容
    head -n -10 test.txt
    
扩展用法
    # 查看test.txt文件的第20~30行的内容
    head -30 test.txt | tail -11

 

3. tail之查看文件内容的后面部分(默认查看前10行)

NAME
    tail - 输出文件的最后一部分(output the last part of files)

用法格式
    tail [选项]... [文件]...

常用选项
    -c, --bytes=K     显示每个文件的后K 字节内容
    -n, --lines=K     显示每个文件的后K 行内容 
    -num              查看前几行(相当于-n num)
    -v, --verbose      标记显示文件头
    -F                  动态读取文件的尾部内容(tail -F相当于tailf)
    

常见用法
    # 查看test.txt文件后10行
    tail test.txt
    tail -10 test.txt
    
    # 查看test.txt文件后12个字节
    tail -c 12 test.txt
    
    # 查看test.txt文件后15行并标记文件头
    tail -vn 15 test.txt
    
    # 动态读取文件的尾部内容(如果文件尾部内容发生变化,输出内容会实时变化)
    tailf /var/log/yum.log
    tail -F /var/log/yum.log
    
扩展用法
    # 查看test.txt文件的倒数20~30行的内容
    tail -30 test.txt | head -11

 

4. tac之行号反向查看文件内容(跟cat相反)

NAME
    tac - 相反地连接和打印文件(concatenate and print files in reverse)

用法格式
    tac [选项]... [文件]...


常见用法
    # 行号反向查看test.txt文件内容
    tac test.txt

 

5. rev之行内容反向读取文件内容,行号不反向

NAME
    rev - 一个或多个文件的反向行(reverse lines of a file or files)

用法格式
    rev [file ...]
    

常见用法
    # 行内容反向读取test.txt文件内容
    rev test.txt

 

6. more & less(这两个命令功能类似,具备vi的部分功能,常用于读取较大的文本文件)

more
    分屏显示文件内容
    -num    定义分屏显示行数
    +num    定义到文件第几行
    space 向下(z)
    b    向上
    h    查看帮助(?/    搜索文件内容
    v    进入vi编辑器模式
    !    在bash环境下执行命令    
    
less
    分页查看文件内容