常用文件管理命令
cat
cat命令连接文件并打印到标准输出设备上,cat经常用来显示文件的内容
语法
cat(选项)(参数)
选项
-n或-number:有1开始对所有输出的行数编号;
-b或--number-nonblank:和-n相似,只不过对于空白行不编号;
-s或--squeeze-blank:当遇到有连续两行以上的空白行,就代换为一行的空白行;
-A:显示不可打印字符,行尾显示“$”;
-e:等价于"-vE"选项;
-t:等价于"-vT"选项;
参数
文件列表:指定要连接的文件列表。
实例
- 显示文本
[root@localhost tmp]# cat /tmp/test hello world hello world
- 输出带编号文本
[root@localhost tmp]# cat -n /tmp/test 1 hello world 2 3 4 5 6 7 hello world
- 输出带编号文本,忽略空白行编号
[root@localhost tmp]# cat -b /tmp/test 1 hello world 2 hello world
- 输出带编号的文本,如遇到连续空白行,就代换为一行空白行
[root@localhost tmp]# cat -ns /tmp/test 1 hello world 2 3 hello world
- 文本操作
创建文本
[root@localhost tmp]# cat > /tmp/test2
hello everyone
hello world
^C
[root@localhost tmp]# cat /tmp/test2
hello everyone
hello world
把test的文件加上行号输入到test2中
[root@localhost tmp]# cat -n /tmp/test > /tmp/test2
[root@localhost tmp]# cat /tmp/test2
1 hello world
2
3
4
5
6
7 hello world
把test和test2的文本内容加上行号(空白行不加)之后将内容附加到test3里
[root@localhost tmp]# cat -b /tmp/test /tmp/test2 > /tmp/test3
[root@localhost tmp]# cat /tmp/test3
1 hello world
2 hello world
3 1 hello world
4 2
5 3
6 4
7 5
8 6
9 7 hello world
清空test2的内容
[root@localhost tmp]# cat /dev/null > /tmp/test2
[root@localhost tmp]# cat /tmp/test2
[root@localhost tmp]#
tac
tac命令用于将文件已行为单位的反序输出,即第一行最后显示,最后一行先显示。
语法
tac(选项)(参数)
选项
-a或——append:将内容追加到文件的末尾;
-i或——ignore-interrupts:忽略中断信号。
参数
文件列表:指定要保存内容的文件列表。
实例
- 反向显示test3的文本
[root@localhost tmp]# tac /tmp/test3 9 7 hello world 8 6 7 5 6 4 5 3 4 2 3 1 hello world 2 hello world 1 hello world
head
head命令用于显示文件的开头的内容。在默认情况下,head命令显示文件的头10行内容。
语法
head(选项)(参数)
选项
-n<数字>:指定显示头部内容的行数;
-c<字符数>:指定显示头部内容的字符数;
-v:总是显示文件名的头信息;
-q:不显示文件名的头信息。
参数
文件列表:指定显示头部内容的文件列表。
实例
- 显示前5行的内容
[root@localhost tmp]# head -5 /tmp/test3 1 hello world [root@localhost tmp]#
tail
tail命令用于输入文件中的尾部内容。tail命令默认在屏幕上显示指定文件的末尾10行。
语法
tail(选项)(参数)
选项
--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:显示指令的版本信息。
参数
文件列表:指定要显示尾部内容的文件列表。
实例
- 显示最后5行的内容
[root@localhost tmp]# tail -5 /tmp/test3 5 3 6 4 7 5 8 6 9 7 hello world
- 从第二行开始显示整个文本
[root@localhost tmp]# tail -n +2 /tmp/test3 2 hello world 3 1 hello world 4 2 5 3 6 4 7 5 8 6 9 7 hello world
- 从第2行开始显示10条文本
[root@localhost tmp]# tail -n +2 /tmp/test3 | head -n 10 2 hello world 3 1 hello world 4 2 5 3 6 4
- 动态显示文本,先进先出
[root@localhost tmp]# tail -f /tmp/test3 2 hello world 3 1 hello world 4 2 5 3 6 4 7 5 8 6 9 7 hello world
more
more命令是一个基于vi编辑器文本过滤器,它以全屏幕的方式按页显示文本文件的内容,支持vi中的关键字定位操作。
该命令一次显示一屏文本,满屏后停下来,并且在屏幕的底部出现一个提示信息,给出至今己显示的该文件的百分比:–More–(XX%)可以用下列不同的方法对提示做出回答:
按Space键:显示文本的下一屏内容。
按Enter键:只显示文本的下一行内容。 按斜线符|:接着输入一个模式,可以在文本中寻找下一个相匹配的模式。
按H键:显示帮助屏,该屏上有相关的帮助信息。
按B键:显示上一屏内容。
按Q键:退出rnore命令。
语法
more(语法)(参数)
选项
-<数字>:指定每屏显示的行数;
-d:显示“[press space to continue,'q' to quit.]”和“[Press 'h' for instructions]”;
-c:不进行滚屏操作。每次刷新这个屏幕;
-s:将多个空行压缩成一行显示;
-u:禁止下划线;
+<数字>:从指定数字的行开始显示
参数
文件:指定分页显示内容的文件。
实例
- 一次显示8行文本
[root@localhost tmp]# more -8 /tmp/test3 1 hello world 2 hello world 3 1 hello world --More--(40%)
- 一次显示8行的内容
[root@localhost tmp]# ll /etc | more -8 total 1088 -rw-r--r--. 1 root root 16 Dec 23 22:07 adjtime -rw-r--r--. 1 root root 1518 Jun 7 2013 aliases -rw-r--r--. 1 root root 12288 Dec 23 22:08 aliases.db drwxr-xr-x. 2 root root 236 Dec 23 22:04 alternatives -rw-------. 1 root root 541 Mar 31 2016 anacrontab drwxr-xr-x. 3 root root 51 Jan 1 13:44 ansible -rw-r--r--. 1 root root 55 Nov 5 2016 asound.conf --More--
- 从第3行开始显示
[root@localhost tmp]# more +3 /tmp/test3 2 hello world 3 1 hello world 4 2 5 3 6 4 7 5 8 6 9 7 hello world
less
less命令的作用与more十分相似,都可以用来浏览文字档案的内容,不同的是less命令允许用户向前或向后浏览文件,而more命令只能向前浏览。
用less命令显示文件时,用PageUp键向上翻页,用PageDown键向下翻页。要退出less程序,应按Q键。
语法
less(选项)(参数)
选项
-e:文件内容显示完毕后,自动退出;
-f:强制显示文件;
-g:不加亮显示搜索到的所有关键词,仅显示当前显示的关键字,以提高显示速度;
-l:搜索时忽略大小写的差异;
-N:每一行行首显示行号;
-s:将连续多个空行压缩成一行显示;
-S:在单行显示较长的内容,而不换行显示;
-x<数字>:将TAB字符显示为指定个数的空格字符。
参数
文件:指定要分屏显示内容的文件。
sed
显示中间文本的内容
语法
sed [-hnV][-e<script>][-f<script文件>][文本文件]
选项
-e<script>或--expression=<script>:以选项中的指定的script来处理输入的文本文件;
-f<script文件>或--file=<script文件>:以选项中指定的script文件来处理输入的文本文件;
-h或--help:显示帮助;
-n或--quiet或——silent:仅显示script处理后的结果;
-V或--version:显示版本信息。
参数
文件:指定待处理的文本文件列表。
动作
a :新增, a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)~
c :取代, c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行!
d :删除,因为是删除啊,所以 d 后面通常不接任何咚咚;
i :插入, i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行);
p :打印,亦即将某个选择的数据印出。通常 p 会与参数 sed -n 一起运行~
s :取代,可以直接进行取代的工作哩!通常这个 s 的动作可以搭配正规表示法!例如 1,20s/old/new/g 就是啦!
实例
- 显示第4行文本
[root@localhost tmp]# sed -n '8p' /tmp/test3 3 1 hello world
- 显示第8行到第11行文本
[root@localhost tmp]# sed -n '8,11p' /tmp/test3 3 1 hello world 4 2 5 3 6 4
- 显示第8行到最后一行文本
[root@localhost tmp]# sed -n '8,$p' /tmp/test3 3 1 hello world 4 2 5 3 6 4 7 5 8 6 9 7 hello world
本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/92054