本篇记录了7个命令,分别是more,less,head,tail,whereis,which,locate
参考文档:https://www.cnblogs.com/peida/archive/2012/12/05/2803591.html
1.more
作用: 查看,与cat不同,more可以设置分页,可以允许用户一页一页地看,最常用的操作是空格是继续,b是后退
格式:
more [option]
parameter | function |
---|---|
+n | 从第几行开始 |
-n | 一次显示几行 |
-c | 清空屏幕,从窗口的头部开始显示 |
-p | 清除屏幕,使得窗口不需要滚动条就能显示 |
+/pattern | 按照pattern搜索某一行,定位之后从该行的前两行开始显示 |
-d | 提示”press space to continue,‘q’ to quiet “ |
-s | 将两行以上的空白行变成一个空白行 |
-u | 将文件内容中最低的行移除 |
常用的操作:
symbol | function |
---|---|
= | 打印当前显示的行的行号 |
q | 推出more |
空格 | 继续显示,下拉滚动条 |
p | 清除屏幕,使得窗口不需要滚动条就能显示 |
b | 返回原来的显示页面 |
使用例子:
1.准备一个10行以上的文件,并将其从第5行开始打印
$ cat>a.txt <<EOF
>a
>b
>c
>d
>e
>f
>g
>a
>b
>c
>d
>e
>f
>EOF
$ more +5 a.txt
2.找到最先出现"g"的行,并从它之前的两行开始打印
$ more +/g a.txt
3.设置每次显示5条
$ more -5 a.txt
4.结合”ll“命令和more结合,打印/etc目录的详细信息,每次显示10条
$ ll /etc | more -10
注意这个目录 /etc表示根目录下的etc子目录, /etc/*表示根目录下的etc的所有子目录和子目录中的文件和子路径(但是没有走到底,孙子的没有显示,只显示子的)对比如下:
2.less
作用: 查看,也是可以设置分页查看的命令,与more不同,less支持不同的查阅习惯
格式:
less [option] file
parameter | function |
---|---|
-e | 当文件显示结束后,自动离开 |
-f | 强迫打开特殊文件,例如外围设备代号、目录和二进制文件 |
-g | 只标志最后搜索的关键词 |
-m | 显示类似more命令的百分比 |
-N | 每行显示行号,注意一定要大写 |
-Q | 不使用警告音 |
-s | 显示连续空行为一行 |
其中-N,-e,-g明显表现出与more不同的习惯,更简洁一些。
使用例子:
1.查看文件file1
less file1
2.ps查看进程信息并通过less分页显示
ps -ef |less -10
(好像做不到分页)
3.查看命令历史使用记录并通过less分页显示
history |less
4.浏览多个文件 a.txt ,btxt
less a.txt b.txt
3.head
作用: 查看前几条
格式:
head [option]
parameter | function |
---|---|
-q | 隐藏文件名(就是显示的时候只显示文件内容不显示信息) |
-v | 显示文件名(默认) |
-c | 后面加数字x,显示前面x个字节,负数表示不要后面的x个字节 |
-n | 后面加数字x,显示前面x行,负数表示不要后面的x行内容 |
使用例子:
1.显示文件的前5行
head -n 5 a.txt
或者写:
head -5 a.txt
因为这个默认就是行数
2.显示文件前24个字节
head -c 24 a.txt
3.文件的除了最后32个字节以外的内容
head -c -32 la.txt
4.输出文件除了最后2行的全部内容
head -n -2 a.txt
4.tail
作用: 查看末尾几条,一般用来看log文件
格式:
tail [option]
parameter | function |
---|---|
-n | 查看最后的n条 |
-f | Loop,如果文件有更新,会自动刷新 |
-q | 不显示处理过程的信息 |
-v | 显示处理过程的信息 |
使用例子:
1.显示文件a.log的最后5条信息
tail -n 5 a.log
或者:
tail -5 a.log
又或者:
tail 5 a.log
2.循环查看文件内容
tail -f a.log
3.从第5行开始显示文件
tail -n +5 a.log
或者:
tail +5 a.log
5.which
作用: 寻找文件或者操作的位置
格式:
which [executable file name]
参数不常用就不写了
使用例子:
1.查找gcc
which gcc
2.查找cd
which cd
在git bash里面查找不一定找得到,因为cd 是bash 内建的命令! 但是 which 默认是找 PATH 内所规范的目录,所以当然一定找不到的!
6.whereis
作用: 用于寻找可执行文件,源文件和帮助文件以及它们的位置。
这个函数查找速度十分快,是因为它不是在磁盘中随即查找而是在一个数据库里查找,这个数据库是linux系统自动创建的数据库,它包含着所有本地文件的信息,并且会每天自动更新一次,但也可能因此出现不准确的情况,比如刚刚添加的文件可能找不到(可手动更新)
格式:
whereis [option] file
parameter | function |
---|---|
-s | 查看源代码文件 |
-m | 查看帮助文件 |
-b | 目标执行文件 |
-u | 寻找以上三者以外的其他文件 |
-S | 查看源代码文件及明确的路径 |
-M | 查看帮助文件及明确的路径 |
-B | 目标执行文件及明确的路径 |
tip:对于s,m,b,小写是找文件,大写是找文件及其明确路径,不加任何参数就是寻找所有的文件
使用例子:
1.只将svn的二进制文件 查找出来
whereis -b svn
2.查找svn的所有文件
whereis -b svn
7.location
作用: locate用于搜索定位,和whereis命令特别相似,两者用的是同一个数据库,但是后者只能搜索可执行文件,源文件和帮助文件。前者能搜索更多文件以及有能找到更详细的结果
格式:
location[option] search string
注意: 使用前需要安装mlocate,否则会出现错误“locate command not found”
然后刷新库,因为数据是从linux的专门数据库里查的,安装完之后一定要刷新,否则会出现错误“locate cannot be excuted stat()”
参数说明:
parameter | function |
---|---|
-q | 静默模式,不打印错误信息 |
-n | 一次最多打印n条输出 |
-r | 用常规表达式来匹配 |
-V | 显示版本信息 |
使用例子:
1.打印etc文件夹下面所有以sh开头的目录
locate /etc/sh
2.打印etc文件夹下面所有包含lou的目录
locate /etc/\*lou\*