Linux-(touch,cat,nl,more|less,head|tail)
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 ==============================