Linux查询命令(cat,more,less,head,tail)的用法与区别。

cat [optin]... [file]...

主要用途

  • 显示文件内容,如果没有文件或文件为-则读取标准输入。
  • 将多个文件的内容进行连接并打印到标准输出。
  • 显示文件内容中的不可见字符(控制字符、换行符、制表符等)。

参数

file(可选):要处理的文件,可以为一或多个。

选项

-A, --show-all 等价于"-vET"组合选项。                        -b, --number-nonblank 只对非空行编号,从1开始编号,覆盖"-n"选项。                                                        -e 等价于"-vE"组合选项。                                             -E, --show-ends 在每行的结尾显示'$'字符。             -n, --number 对所有行编号,从1开始编号。              -s, --squeeze-blank 压缩连续的空行到一行。           -t 等价于"-vT"组合选项。                                             -T, --show-tabs 使用"^I"表示TAB(制表符)。         -u POSIX兼容性选项,无意义。                                   -v, --show-nonprinting 使用"^"和"M-"符号显示控制字符,除了LFD(line feed,即换行符'\n')和TAB(制表符)。                                                                   --help 显示帮助信息并退出。                                       --version 显示版本信息并退出。

返回值

返回状态为成功除非给出了非法选项或非法参数。

实例

# 合并显示多个文件                                                     cat ./1.log ./2.log ./3.log                                                 # 显示文件中的非打印字符、tab、换行符                 cat -A test.log                                                                 # 压缩文件的空行                                                         cat -s test.log                                                                 # 显示文件并在所有行开头附加行号                           cat -n test.log                                                                 # 显示文件并在所有非空行开头附加行号                   cat -b test.log                                                                  # 将标准输入的内容和文件内容一并显示                echo '######' |cat - test.log

 

more

more命令 是一个基于vi编辑器文本过滤器,它以全屏幕的方式按页显示文本文件的内容,支持vi中的关键字定位操作。more名单中内置了若干快捷键,常用的有H(获得帮助信息),Enter(向下翻滚一行),空格(向下滚动一屏),Q(退出命令)。

该命令一次显示一屏文本,满屏后停下来,并且在屏幕的底部出现一个提示信息,给出至今己显示的该文件的百分比:--More--(XX%)可以用下列不同的方法对提示做出回答:

  • 按 Space 键:显示文本的下一屏内容。
  • 按 Enter 键:只显示文本的下一行内容。
  • 按斜线符|:接着输入一个模式,可以在文本中寻找下一个相匹配的模式。
  • 按H键:显示帮助屏,该屏上有相关的帮助信息。
  • 按B键:显示上一屏内容。
  • 按Q键:退出more命令。

选项

-<数字>:指定每屏显示的行数;

-d:显示“[press space to continue,'q' to quit.]”和“[Press 'h' for instructions]”;

-c:不进行滚屏操作。每次刷新这个屏幕;

-s:将多个空行压缩成一行显示;

-u:禁止下划线; +<数字>:从指定数字的行开始显示。

实例

显示文件file的内容,但在显示之前先清屏,并且在屏幕的最下方显示完成的百分比。

more -dc file
显示文件file的内容,每10行显示一次,而且在显示之前先清屏。

more -c -10 file
 

less

less命令 的作用与more十分相似,都可以用来浏览文字档案的内容,不同的是less命令允许用户向前或向后浏览文件,而more命令只能向前浏览。用less命令显示文件时,用PageUp键向上翻页,用PageDown键向下翻页。要退出less程序,应按Q键。

选项

-e:文件内容显示完毕后,自动退出;

-f:强制显示文件;

-g:不加亮显示搜索到的所有关键词,仅显示当前显示的关键字,以提高显示速度;

-l:搜索时忽略大小写的差异;

-N:每一行行首显示行号;

-s:将连续多个空行压缩成一行显示;

-S:在单行显示较长的内容,而不换行显示;

-x<数字>:将TAB字符显示为指定个数的空格字符。

实例

sudo less /var/log/shadowsocks.log

head

主要用途

 

  • 在未指定行数时默认显示前10行。
  • 处理多个文件时会在各个文件之前附加含有文件名的行。
  • 当没有文件或文件为-时,读取标准输入。 

  

选项

-c, --bytes=[-]NUM 显示前NUM字节;如果NUM前有"-",那么会打印除了文件末尾的NUM字节以外的其他内容。

-n, --lines=[-]NUM 显示前NUM行而不是默认的10行;如果NUM前有"-",那么会打印除了文件末尾的NUM行以外的其他行。

-q, --quiet, --silent 不打印文件名行。

-v, --verbose 总是打印文件名行。

-z, --zero-terminated 行终止符为NUL而不是换行符。

--help 显示帮助信息并退出。

--version 显示版本信息并退出。

NUM可以有一个乘数后缀:

b 512

kB 1000

k 1024

MB 1000*1000

M 1024*1024

GB 1000*1000*1000 G 1024*1024*1024

T、P、E、Z、Y等以此类推。

也可以使用二进制前缀:

KiB=K

MiB=M

以此类推。

实例

# 查看历史文件的前6行:

[user2@pc ~]$ head -n 6 ~/.bash_history #1575425555

cd ~

#1575425558

ls -lh

#1575425562 vi ~/Desktop/ZhuangZhu-74.txt

# 查看多个文件:

[user2@pc ~]$ head -n ~/.bash_history ~/.bas

hrc

==> /allhome/user2/.bash_history <== #1575425555

cd ~

#1575425558

ls -lh

#1575425562

vi ~/Desktop/ZhuangZhu-74.txt

#1575425566

uptime

#1575425570

find ~/ -maxdepth 3 -name 'test.sh' -exec lh {} \; ==> /allhome/user2/.bashrc <==

# .bashrc

# forbid use Ctrl+D to exit shell.

set -o ignoreeof

# Source global definitions. if [ -f /etc/bashrc ]; then . /etc/bashrc fi

tail

 

tail命令 用于输入文件中的尾部内容。tail命令默认在屏幕上显示指定文件的末尾10行。如果给定的文件不止一个,则在显示的每个文件前面加一个文件名标题。如果没有指定文件或者文件名为“-”,则读取标准输入。

注意:如果表示字节或行数的N值之前有一个”+”号,则从文件开头的第N项开始显示,而不是显示文件的最后N项。N值后面可以有后缀:b表示512,k表示1024,m表示1 048576(1M)。

选项

--retry:即是在tail命令启动时,文件不可访问或者文件稍后变得不可访问,都始终尝试打开文件。使用此选项时需要与选项“——follow=name”连用;

-c<N>或——bytes=<N>:输出文件尾部的N(N为整数)个字节内容;

-f<name/descriptor>或;--follow<nameldescript>:显示文件最新追加的内容。“name”表示以文件名的方式监视文件的变化。“-f”与“-fdescriptor”等效; -F:与选项“-follow=name”和“--retry"连用时功能相同;

-n<N>或——line=<N>:输出文件的尾部N(N位数字)行内容。

--pid=<进程号>:与“-f”选项连用,当指定的进程号的进程终止后,自动退出tail命令;

-q或——quiet或——silent:当有多个文件参数时,不输出各个文件名;

-s<秒数>或——sleep-interal=<秒数>:与“-f”选项连用,指定监视文件变化时间隔的秒数;

-v或——verbose:当有多个文件参数时,总是输出各个文件名;

--help:显示指令的帮助信息; --version:显示指令的版本信息。

实例

tail file #(显示文件file的最后10行)

tail -n +20 file #(显示文件file的内容,从第20行至文件末尾)

tail -c 10 file #(显示文件file的最后10个字符)

tail -25 mail.log # 显示 mail.log 最后的 25 行

tail -f mail.log # 等同于--follow=descriptor,根据文件描述符进行追踪,当文件改名或被删除,追踪停止

tail -F mail.log # 等同于--follow=name --retry,根据文件名进行追踪,并保持重试,即该文件被删除或改名后,如果再次创建相同的文件名,会继续追踪

 
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值