2019-07-30
cat,less,more,head,tail,nl 命令基本使用
cat 由第一行开始显示内容,并将所有内容输出
tac 从最后一行倒序显示内容,并将所有内容输出(除不能像cat一样创建文件外,其余用法基本一致)
参数
-A, --show-all 等于-vET -b, --number-nonblank 对非空输出行编号 -e 等于-vE -E, --show-ends 在每行结束处显示"$" -n, --number 对所有行编号,包括空行 -s, --squeeze-blank 压缩多行空行为一空行 -t 与-vT 等价 -T, --show-tabs 将跳格(TAB)字符显示为^I -u (被忽略) -v, --show-nonprinting 使用^ 和M- 引用,除了LFD和 TAB 之外 --help 显示此帮助信息并退出 --version 显示版本信息并退出
cat file #打印文件的内容到当前终端上
[root@localhost opt]# ls
test10 test12 test2 test4 test8 test9
[root@localhost opt]# cat test2
admkalsmklamkl
asdlpasld;a,l
asdmaslas,l
cat file -n #打印显示 行号 的内容到终端
[root@localhost opt]# cat test2 -n 1 admkalsmklamkl 2 asdlpasld;a,l 3 asdmaslas,l
cat file1 file2 #拼接两个文件的内容显示到终端
[root@localhost opt]# cat test2 test4 admkalsmklamkl asdlpasld;a,l asdmaslas,l 3452345 324532 32453245 35325235 3523453 325235324523
cat file1 file2 > file3 #将拼接输出的内容输入到file3内
[root@localhost opt]# cat test2 test4 > test3 [root@localhost opt]# cat test3 admkalsmklamkl asdlpasld;a,l asdmaslas,l 3452345 324532 32453245 35325235 3523453 325235324523
cat > file
使用cat命令创建一个文件 名为file
输入 cat > file , 然后输入我们想要输入的文本,输入完成可以按ctrl+C退出
[root@localhost opt]# cat > test1 67 iy dgfd ^C [root@localhost opt]# cat test1 67 iy dgfd
注意:假如在dgfd一行按^C退出,此行将不会写入到文件内
less 工具也是对文件或其它输出进行分页显示的工具,应该说是linux正统查看文件内容的工具,功能极其强大。less 的用法比起 more 更加的有弹性。在 more 的时候,我们并没有办法向前面翻, 只能往后面看,但若使用了 less 时,就可以使用 [pageup] [pagedown] 等按键的功能来往前往后翻看文件,更容易用来查看一个文件的内容!除此之外,在 less 里头可以拥有更多的搜索功能,不止可以向下搜,也可以向上搜。
1.命令格式:
less [参数] 文件
2.命令功能:
less 与 more 类似,但使用 less 可以随意浏览文件,而 more 仅能向前移动,却不能向后移动,而且 less 在查看之前不会加载整个文件。
3.命令参数:
-b <缓冲区大小> 设置缓冲区的大小
-e 当文件显示结束后,自动离开
-f 强迫打开特殊文件,例如外围设备代号、目录和二进制文件
-g 只标志最后搜索的关键词
-i 忽略搜索时的大小写
-m 显示类似more命令的百分比
-N 显示每行的行号
-o <文件名> 将less 输出的内容在指定文件中保存起来
-Q 不使用警告音
-s 显示连续空行为一行
-S 行过长时间将超出部分舍弃
-x <数字> 将“tab”键显示为规定的数字空格
/字符串:向下搜索“字符串”的功能
?字符串:向上搜索“字符串”的功能
n:重复前一个搜索(与 / 或 ? 有关)
N:反向重复前一个搜索(与 / 或 ? 有关)
b 向后翻一页
d 向后翻半页
h 显示帮助界面
Q 退出less 命令
u 向前滚动半页
y 向前滚动一行
空格键 滚动一行
回车键 滚动一页
[pagedown]: 向下翻动一页
[pageup]: 向上翻动一页
4.使用实例:
实例1:查看文件
命令:
less log2013.log
输出:
实例2:ps查看进程信息并通过less分页显示
命令:
ps -ef |less
输出:
实例3:查看命令历史使用记录并通过less分页显示
命令:
history | less
输出:
[root@localhost test]# history | less 22 scp -r tomcat6.0.32 root@192.168.120.203:/opt/soft 23 cd .. 24 scp -r web root@192.168.120.203:/opt/ 25 cd soft 26 ls 27 scp -r jdk1.6.0_16/ root@192.168.120.203:/opt/soft 28 clear 29 vim /etc/profile 30 vim /etc/profile 31 cd tomcat6.0.32/bin/ 32 ls 33 ./shutdown.sh 34 ./startup.sh 35 vim startup.sh 36 ls 37 echo $JAVA_HOME 38 java 39 ls 40 ls 41 clear 42 cd /opt 43 ls 44 cp apache-tomcat-6.0.32.tar.gz soft/ 45 ls 46 rm -f apache-tomcat-6.0.32.tar.gz 47 ls 48 cd soft 49 ls 50 tar -vzf apache-tomcat-6.0.32.tar.gz 51 tar -vzfx apache-tomcat-6.0.32.tar.gz 52 tar -zxvf apache-tomcat-6.0.32.tar.gz 53 ls 54 cd apache-tomcat-6.0.32 55 ls 56 cd .. 57 mv apache-tomcat-6.0.32 tomcat6.0.32 58 ls 59 cd tomcat6.0.32/ 60 ls
实例5:浏览多个文件
命令:
Less log2013.log log2014.log
输出:
说明:
输入 :n后,切换到 log2014.log
输入 :p 后,切换到log2013.log
5.附加备注
1.全屏导航
ctrl + F - 向前移动一屏
ctrl + B - 向后移动一屏
ctrl + D - 向前移动半屏
ctrl + U - 向后移动半屏
2.单行导航
j - 向前移动一行
k - 向后移动一行
3.其它导航
G - 移动到最后一行
g - 移动到第一行
q / ZZ - 退出 less 命令
4.其它有用的命令
v - 使用配置的编辑器编辑当前文件
h - 显示 less 的帮助文档
&pattern - 仅显示匹配模式的行,而不是整个文件
5.标记导航
当使用 less 查看大文件时,可以在任何一个位置作标记,可以通过命令导航到标有特定标记的文本位置:
ma - 使用 a 标记文本的当前位置
'a - 导航到标记 a 处
more命令,功能类似 cat ,cat命令是整个文件的内容从上到下显示在屏幕上。 more会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能 。more命令从前向后读取文件,因此在启动时就加载整个文件。
1.命令格式:
more [-dlfpcsu ] [-num ] [+/ pattern] [+ linenum] [file ... ]
2.命令功能:
more命令和cat的功能一样都是查看文件里的内容,但有所不同的是more可以按页来查看文件的内容,还支持直接跳转行等功能。
3.命令参数:
+n 从笫n行开始显示
-n 定义屏幕大小为n行
+/pattern 在每个档案显示前搜寻该字串(pattern),然后从该字串前两行之后开始显示
-c 从顶部清屏,然后显示
-d 提示“Press space to continue,’q’ to quit(按空格键继续,按q键退出)”,禁用响铃功能
-l 忽略Ctrl+l(换页)字符
-p 通过清除窗口而不是滚屏来对文件进行换页,与-c选项相似
-s 把连续的多个空行显示为一行
-u 把文件内容中的下画线去掉
4.常用操作命令:
Enter 向下n行,需要定义。默认为1行
Ctrl+F 向下滚动一屏
空格键 向下滚动一屏
Ctrl+B 返回上一屏
= 输出当前行的行号
:f 输出文件名和当前行的行号
V 调用vi编辑器
!命令 调用Shell,并执行命令
q 退出more
5.命令实例:
实例1:显示文件中从第3行起的内容
命令:
more +3 log2012.log
输出:
[root@localhost test]# cat log2012.log 2012-01 2012-02 2012-03 2012-04-day1 2012-04-day2 2012-04-day3 [root@localhost test]# more +3 log2012.log 2012-03 2012-04-day1 2012-04-day2 2012-04-day3
实例2:从文件中查找第一个出现"day3"字符串的行,并从该处前两行开始显示输出
命令:
more +/day3 log2012.log
输出:
[root@localhost test]# more +/day3 log2012.log ...skipping 2012-04-day1 2012-04-day2 2012-04-day3 2012-05 2012-05-day1
实例3:设定每屏显示行数
命令:
more -5 log2012.log
输出:
[root@localhost test]# more -5 log2012.log 2012-01 2012-02 2012-03 2012-04-day1 2012-04-day2
说明:
如下图所示,最下面显示了该屏展示的内容占文件总行数的比例,按 Ctrl+F 或者 空格键 将会显示下一屏5条内容,百分比也会跟着变化。
实例4:列一个目录下的文件,由于内容太多,我们应该学会用more来分页显示。这得和管道 | 结合起来
命令:
ls -l | more -5
输出:
[root@localhost test]# ls -l | more -5 总计 36 -rw-r--r-- 1 root root 308 11-01 16:49 log2012.log -rw-r--r-- 1 root root 33 10-28 16:54 log2013.log -rw-r--r-- 1 root root 127 10-28 16:51 log2014.log lrwxrwxrwx 1 root root 7 10-28 15:18 log_link.log -> log.log -rw-r--r-- 1 root root 25 10-28 17:02 log.log -rw-r--r-- 1 root root 37 10-28 17:07 log.txt drwxr-xr-x 6 root root 4096 10-27 01:58 scf drwxrwxrwx 2 root root 4096 10-28 14:47 test3 drwxrwxrwx 2 root root 4096 10-28 14:47 test4
说明:
每页显示5个文件信息,按 Ctrl+F 或者 空格键 将会显示下5条文件信息。
1、命令简介
nl (Number of Lines) 将指定的文件添加行号标注后写到标准输出。如果不指定文件或指定文件为"-" ,程序将从标准输入读取数据。
2、用法
nl [选项]... [文件]...
3、选项
-b, --body-numbering=样式 使用指定样式编号文件的正文行目 -d, --section-delimiter=CC 使用指定的CC 分割逻辑页数 -f, --footer-numbering=样式 使用指定样式编号文件的页脚行目 -h, --header-numbering=样式 使用指定样式编号文件的页眉行目 -i, --page-increment=数值 设置每一行遍历后的自动递增值 -l, --join-blank-lines=数值 设置数值为多少的若干空行被视作一行-n, --number-format= 格式 根据指定格式插入行号
-p, --no-renumber 在逻辑页数切换时不将行号值复位
-s, --number-separator=字符串 可能的话在行号后添加字符串
-v, --starting-line-number=数字 每个逻辑页上的第一行的行号
-w, --number-width= 数字 为行号使用指定的栏数
--help 显示此帮助信息并退出
--version 显示版本信息并退出
默认的选项设置是-v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn。CC 是用于分隔逻辑页数的两个分界符,其中缺失的第二个字符暗含了":",如果您要指定"\",
请输入"\\"。可用的样式如下:
a 对所有行编号
t 对非空行编号
n 不编行号
pBRE 只对符合正则表达式BRE 的行编号
FORMAT 是下列之一:
ln 左对齐,空格不用0 填充
rn 右对齐,空格不用0 填充
rz 右对齐,空格用0 填充
4、示例
示例1:显示行号
[root@oracledb study]# nl test1.log 1 2011 2 2012 3 2013
示例2:显示行号,指定对齐方式
[root@oracledb study]# nl -nln test1.log 1 2011 2 2012 3 2013 [root@oracledb study]# nl -nrn test1.log 1 2011 2 2012 3 2013 [root@oracledb study]# nl -nrz test1.log 000001 2011 000002 2012 000003 2013
示例3:指定宽度为4位 默认为6位
[root@oracledb study]# nl -nrz -w 4 test1.log 0001 2011 0002 2012 0003 2013
示例4:将标准输入的内容编号
[root@oracledb study]# nl line1 1 line1 line2 2 line2 line3 3 line3 [root@oracledb study]#
按ctrl+D结束输入
or EOF(End Of File)
[root@oracledb study]# nl <<EOF > line1 > line2 > line3 > EOF 1 line1 2 line2 3 line3
1、命令简介
head (head) 用来显示档案的开头至标准输出中。如果指定了多于一个文件,在每一段输出前会给出文件名作为文件头。如果不指定文件,或者文件为"-",则从标准输入读取数据。
2、用法
nl [选项]... [文件]...
3、选项
-c, --bytes=[-]K 显示每个文件的前K 字节内容;如果附加"-"参数,则除了每个文件的最后K字节数据外 显示剩余全部内容 -n, --lines=[-]K 显示每个文件的前K 行内容;如果附加"-"参数,则除了每个文件的最后K行外 显示剩余全部内容
-q, --quiet, --silent 不显示包含给定文件名的文件头
-v, --verbose 总是显示包含给定文件名的文件头
--help 显示此帮助信息并退出
--version 显示版本信息并退出
4、示例
示例1:显示文件的前n行
示例2:输出文件除了最后n行的全部内容
实例3:显示文件前n个字节
[root@localhost opt]# head -c 15 test4
3452345
324532
示例4:文件的除了最后n个字节以外的内容
[root@localhost opt]# head -c -15 test4
3452345
324532
32453245
35325235
实例5:head可以一次显示多个文件
[root@localhost opt]# head test2 test4 ==> test2 <== admkalsmklamkl asdlpasld;a,l asdmaslas,l ==> test4 <== 3452345 324532 32453245 35325235 3523453 325235324523
1、命令简介
tail (tail) 用来显示档案的结尾(默认为10行)至标准输出中。若指定了多于一个文件,程序会在每段输出的开始添加相应文件名作为头。如果不指定文件或文件为"-" ,则从标准输入读取数据。
2、用法
nl [选项]... [文件]...
3、选项
-c, --bytes=K 输出最后K字节;另外,使用-c +K 从每个文件的第K 字节输出 -f, --follow[={name|descriptor}] 即时输出文件变化后追加的数据。 -n, 输出最后K行;另外,使用-n +K 从每个文件的第K行输出 --pid=PID 同 -f 一起使用,当 PID 所对应的进程死去后终止 -s, --sleep-interval=N 与-f合用,表示在每次反复的间隔休眠N秒
4、示例
示例1:显示文件的后n行
示例2:从第5行开始输出文件
实例3:显示文件后n个字节
[root@localhost opt]# tail -c 30 test4
35325235
3523453
325235324523