Linux-(touch,cat,nl,more|less,head|tail)

时间:2022-02-05 16:16:41

touch命令

1.命令格式:

touch [选项]... 文件...

2.命令参数:

-a   或--time=atime或--time=access或--time=use  只更改存取时间。

-c   或--no-create  不建立任何文档。

-d  使用指定的日期时间,而非现在的时间。

-f  此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。

-m   或--time=mtime或--time=modify  只更改变动时间。

-r  把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。

-t  使用指定的日期时间,而非现在的时间。

3.命令功能:

touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间。 

4.使用范例:

更新log.log的时间和log2012.log时间戳相同

命令:touch -r log.log log2012.log

[root@localhost test]# ll
-rw-r--r-- 1 root root    0 10-28 16:01 log2012.log
-rw-r--r-- 1 root root    0 10-28 14:48 log.log
[root@localhost test]# touch -r log.log log2012.log 
[root@localhost test]# ll
-rw-r--r-- 1 root root    0 10-28 14:48 log2012.log
-rw-r--r-- 1 root root    0 10-28 14:48 log.log

设定文件的时间戳

命令:touch -t 201211142234.50 log.log

[root@localhost test]# ll
-rw-r--r-- 1 root root    0 10-28 14:48 log.log
[root@localhost test]# touch -t 201211142234.50 log.log
[root@localhost test]# ll
-rw-r--r-- 1 root root    0 2012-11-14 log.log

说明:-t  time 使用指定的时间值 time 作为指定文件相应时间戳记的新值.此处的 time规定为如下形式的十进制数:      [[CC]YY]MMDDhhmm[.SS]     

cat命令 

1.命令格式:

cat [选项] [文件]...

2.命令功能:

cat主要有三大功能:

  • 一次显示整个文件:cat filename
  • 从键盘创建一个文件:cat > filename 只能创建新文件,不能编辑已有文件.
  • 将几个文件合并为一个文件:cat file1 file2 > file

3.命令参数:

-A, --show-all           等价于 -vET

-b, --number-nonblank    对非空输出行编号

-e                       等价于 -vE

-E, --show-ends          在每行结束处显示 $

-n, --number     对输出的所有行编号,由1开始对所有输出的行数编号

-s, --squeeze-blank  有连续两行以上的空白行,就代换为一行的空白行 

-t                       与 -vT 等价

-T, --show-tabs          将跳格字符显示为 ^I

-v, --show-nonprinting   使用 ^ 和 M- 引用,除了 LFD 和 TAB 之外

4.使用实例:

把 log2012.log 和 log2013.log 的文件内容加上行号(空白行不加)之后将内容附加到 log.log 里

命令:cat -b log2012.log log2013.log log.log

[root@localhost test]# cat -b log2012.log log2013.log log.log
1  2012-01
2  2012-02
3  ======
4  2013-01
5  2013-02
6  2013-03
7  ======

把 log2012.log 的文件内容加上行号后附加到 log2013.log 这个文件里

命令:cat -n log2012.log log2013.log  

[root@localhost test]# cat log2012.log 
2012-01
2012-02
======
[root@localhost test]# cat log2013.log 2013-01 2013-02 2013-03 ======
[root@localhost test]# cat -n log2012.log log2013.log 1 2012-01 2 2012-02 3 4 5 ====== 6 2013-01 7 2013-02 8 9 10 2013-03 11 ======

使用here doc来生成文件

[root@localhost test]# cat >log.txt <<EOF
> Hello
> World
> Linux
> PWD=$(pwd)
> EOF
[root@localhost test]# ls -l log.txt 
-rw-r--r-- 1 root root 37 10-28 17:07 log.txt
[root@localhost test]# cat log.txt 
Hello
World
Linux
PWD=/opt/soft/test

nl命令

1.命令格式:

nl [选项]... [文件]...

2.命令参数:

-b  :指定行号指定的方式,主要有两种:

  • -b a :表示不论是否为空行,也同样列出行号(类似 cat -n);
  • -b t :如果有空行,空的那一行不要列出行号(默认值);

-n  :列出行号表示的方法,主要有三种:

  • -n ln :行号在萤幕的最左方显示;
  • -n rn :行号在自己栏位的最右方显示,且不加 0 ;
  • -n rz :行号在自己栏位的最右方显示,且加 0 ;

-w: 行号栏位的占用的位数。默认6位

-p: 在逻辑定界符处不重新开始计算。 

more|less命令

more命令,功能类似 cat ,cat命令是整个文件的内容从上到下显示在屏幕上。 more会以一页一页的显示方便使用者逐页阅读。more命令从前向后读取文件,因此在启动时就加载整个文件。less 命令也是对文件或其它输出进行分页显示的工具,应该说是linux正统查看文件内容的工具,功能极其强大。less 的用法比起 more 更加的有弹性。less 查看之前不会加载整个文件。最基本的指令就是按空白键(space)就往下一页显示,d往下半页,按 b 键就会往回(back)一页显示,u回半页。

1.命令格式:

more [-dlfpcsu ] [-num ] [+/ pattern] [+ linenum] [file ... ] 

less [参数]  文件 

2.命令参数:

more:

+n      从笫n行开始显示

-n       定义屏幕大小为n行

+/pattern 在每个档案显示前搜寻该字串(pattern),然后从该字串前两行之后开始显示  

-c       从顶部清屏,然后显示

-d       提示“Press space to continue,’q’ to quit(按空格键继续,按q键退出)”,禁用响铃功能

-l        忽略Ctrl+l(换页)字符

-p       通过清除窗口而不是滚屏来对文件进行换页,与-c选项相似

-s       把连续的多个空行显示为一行

-u       把文件内容中的下画线去掉

Enter    向下n行,需要定义。默认为1行

Ctrl+F   向下滚动一屏

空格键  向下滚动一屏

Ctrl+B  返回上一屏

=       输出当前行的行号

:f     输出文件名和当前行的行号

V      调用vi编辑器

!命令   调用Shell,并执行命令 

q       退出more

less:

-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]:   向上翻动一页

3.命令实例:

显示文件中从第3行起的内容

命令:more +3 log2012.log

[root@localhost test]# cat log2012.log 
2012-01
2012-02
2012-03
2012-04-day1======
[root@localhost test]# more +3 log2012.log 
2012-03
2012-04-day1======
[root@localhost test]#

浏览多个文件 

命令:less log2013.log log2014.log

说明:

输入 :n后,切换到 log2014.log

输入 :p后,切换到log2013.log

4.附加备注

1.全屏导航

  • ctrl + F - 向前移动一屏
  • ctrl + B - 向后移动一屏
  • ctrl + D - 向前移动半屏
  • ctrl + U - 向后移动半屏

2.单行导航

  • j - 向前移动一行
  • k - 向后移动一行 

3.其它导航

  • G - 移动到最后一行
  • g - 移动到第一行
  • q - 退出 less 命令

4.其它有用的命令

  • v - 使用配置的编辑器编辑当前文件
  • h - 显示 less 的帮助文档
  • &pattern - 仅显示匹配模式的行,而不是整个文件

5.标记导航

当使用 less 查看大文件时,可以在任何一个位置作标记,可以通过命令导航到标有特定标记的文本位置:

  • ma  - 使用 a 标记文本的当前位置
  • 'a    - 导航到标记 a 处

head|tail命令

1.命令格式:

head [参数]... [文件]...  

tail   [必要参数]  [选择参数]  [文件]   

2.命令参数:

head:

-c <字节> 显示字节数

-n <行数> 显示的行数

tail:

-f 循环读取

-q 不显示处理信息

-v 显示详细的处理信息

-c <数目> 显示的字节数

-n <行数> 显示行数

--pid=PID 与-f合用,表示在进程ID,PID死掉之后结束. 

-q, --quiet, --silent 从不输出给出文件名的首部 

-s, --sleep-interval=S 与-f合用,表示在每次反复的间隔休眠S秒 

3.使用实例:

文件的除了最后n个字节以外的内容 

命令:head -c -32 log2014.log

输出文件除了最后n行的全部内容

命令:head -n -6 log2014.log

[root@localhost test]# cat log2014.log 
2014-01
2014-02
2014-03
2014-04
2014-05
2014-06
2014-07
2014-08
==============================
[root@localhost test]# head -c -32 log2014.log
2014-01
2014-02
2014-03
2014-04
2014-05
2014-06
2014-07
2014-08
[root@localhost test]# head -n -6 log2014.log
2014-01
2014-02
2014-03

显示文件末尾内容

命令:tail -n 5 log2014.log

从第5行开始显示文件

命令:tail -n +5 log2014.log

[root@localhost test]# cat log2014.log 
2014-06
2014-07
2014-08
2014-09
2014-10
2014-11
2014-12
==============================
[root@localhost test]# tail -n 5 log2014.log 
2014-09
2014-10
2014-11
2014-12
==============================
[root@localhost test]# tail -n +5 log2014.log
2014-10
2014-11
2014-12
==============================