linux 退出 vin 编辑,Linux系统中的文本处理工具

在大家刚接触Linux操作系统,首先都会让你了解linux的哲学思想:一切皆文件;那么今天就带大家认识linux中的一些文本查看工具。

1、cat和tac

连接文件并在标准输出上打印;其中cat是正向显示;tac是倒着显示格式:cat [  options ]... [ FILE ]...

选项:

-E filename 能看到行的结束符

-A filename 能看到tab键 回车

-n filename 加行号

-s filename 压缩空行(连续相邻的空行)

-b 加行号,但空行不加    cat > f3 给文件写入内容(nl==cat -b )

实例:[ root@vinsent ~ ]#vim 1

[ root@vinsent ~ ]#

[ root@vinsent ~ ]#

[ root@vinsent ~ ]#cat 1 # 直接cat文件名,便可看见文件中的内容,保留原格式

12

dsf

ghjk

hadoop

[ root@vinsent ~ ]#cat -n 1  # -n 查看时添加行号

1    12

2    dsf

3

4    ghjk

5

6    hadoop

[ root@vinsent ~ ]#cat -E 1  # -E 选项能看到每行的结束符$

12$

dsf$

$

ghjk$

$

hadoop$

[ root@vinsent ~ ]#cat -A 1  # -A 能看到详细的信息,包括tab键以及行结束符

12$

dsf$

$

ghjk$

^I$

hadoop$

[ root@vinsent ~ ]#tac 1  # tac 将文件内容倒着显示

hadoop

ghjk

dsf

12

[ root@vinsent ~ ]#

2、more:

more功能类似 cat ,cat命令是整个文件的内容从上到下显示在屏幕上。 more会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能 。more命令从前向后读取文件,因此在启动时就加载整个文件。格式:

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

选项:

+n      从笫n行开始显示

-n       定义屏幕大小为n行

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

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

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

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

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

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

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

实例[ root@vinsent ~ ]#cat -n /etc/passwd | more +4  # 表示从第4行开始显示

4    adm:x:3:4:adm:/var/adm:/sbin/nologin

5    lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

6    sync:x:5:0:sync:/sbin:/bin/sync

7    shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown

...后面省略...

[ root@vinsent ~ ]#cat -n /etc/passwd | more -4  # 定义屏幕大小为4行,可通过相应操作来上下翻屏

1    root:x:0:0:root:/root:/bin/bash

2    bin:x:1:1:bin:/bin:/sbin/nologin

3    daemon:x:2:2:daemon:/sbin:/sbin/nologin

4    adm:x:3:4:adm:/var/adm:/sbin/nologin

[ root@vinsent ~ ]#cat -n /etc/passwd | more +/halt  # 从halt的行开始显示

...skipping

8    halt:x:7:0:halt:/sbin:/sbin/halt

9    mail:x:8:12:mail:/var/spool/mail:/sbin/nologin

10    operator:x:11:0:operator:/root:/sbin/nologin

11    games:x:12:100:games:/usr/games:/sbin/nologin

12    ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin

13    nobody:x:99:99:Nobody:/:/sbin/nologin

14    systemd-bus-proxy:x:999:997:systemd Bus Proxy:/:/sbin/nologin

15    systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin

...后面的省略...

[ root@vinsent ~ ]#说明:上述实验中,先通过 " cat -n /etc/passwd "让我们显示的时候添加行号,这样方便说明;在通过管道传给 more 命令。这里只做了一些选项的实验,有兴趣的可以把每个选项的都做做。

3、less命令

less 工具也是对文件或其它输出进行分页显示的工具,应该说是linux正统查看文件内容的工具,功能极其强大。less 的用法比起 more 更加的有弹性。

在 more 的时候,我们并没有办法向前面翻, 只能往后面看,但若使用了 less 时,就可以使用 [pageup] [pagedown] 等按

键的功能来往前往后翻看文件,更容易用来查看一个文件的内容!除此之外,在 less 里头可以拥有更多的搜索功能,不止可以向下搜,也可以向上搜。格式:

less [ OPTIONS  ] FILE...

选项:

-b  设置缓冲区的大小

-e  当文件显示结束后,自动离开

-f  强迫打开特殊文件,例如外围设备代号、目录和二进制文件

-g  只标志最后搜索的关键词

-i  忽略搜索时的大小写

-m  显示类似more命令的百分比

-N  显示每行的行号

-o  将less 输出的内容在指定文件中保存起来

-Q  不使用警告音

-s  显示连续空行为一行

-S  行过长时间将超出部分舍弃

-x  将“tab”键显示为规定的数字空格

常见操作:和man命令中的操作一致;其实man命令的操作都来自less

/字符串:向下搜索“字符串”的功能

?字符串:向上搜索“字符串”的功能

n:重复前一个搜索(与 / 或 ? 有关)

N:反向重复前一个搜索(与 / 或 ? 有关)

b  向后翻一页

d  向后翻半页

h  显示帮助界面

Q  退出less 命令

u  向前滚动半页

y  向前滚动一行

空格键 滚动一行

回车键 滚动一页

[pagedown]: 向下翻动一页

[pageup]:   向上翻动一页

实例[ root@vinsent ~ ]#ps -ef | less -N         # -N 显示行号;这里表示显示进程信息是加行号显示

1 UID         PID   PPID  C STIME TTY          TIME CMD

2 root          1      0  0 12:30 ?        00:00:00 /usr/lib/systemd/systemd --switche

3 root          2      0  0 12:30 ?        00:00:00 [kthreadd]

4 root          3      2  0 12:30 ?        00:00:00 [ksoftirqd/0]

5 root          6      2  0 12:30 ?        00:00:00 [kworker/u256:0]

6 root          7      2  0 12:30 ?        00:00:00 [migration/0]

7 root          8      2  0 12:30 ?        00:00:00 [rcu_bh]

8 root          9      2  0 12:30 ?        00:00:00 [rcu_sched]

9 root         10      2  0 12:30 ?        00:00:00 [watchdog/0]

10 root         12      2  0 12:30 ?        00:00:00 [khelper]

11 root         13      2  0 12:30 ?        00:00:00 [kdevtmpfs]

12 root         14      2  0 12:30 ?        00:00:00 [netns]

13 root         15      2  0 12:30 ?        00:00:00 [khungtaskd]

14 root         16      2  0 12:30 ?        00:00:00 [writeback]

15 root         17      2  0 12:30 ?        00:00:00 [kintegrityd]

...后面省略...

[ root@vinsent ~ ]#touch 1.txt         # 先创建两个文件并写入内容 ,

[ root@vinsent ~ ]#touch 2.txt

[ root@vinsent ~ ]#vim 1.txt

[ root@vinsent ~ ]#vim 2.txt

[ root@vinsent ~ ]#less 1.txt 2.txt    # less 浏览多个文件

dhgfas

khsdf

kjasdhfi

1.txt (file 1 of 2) (END) - Next: 2.txt  # 显示了第一个文件的内容,并提示下一个文件Next: 2.txt说明:

输入 :n 后,切换到 2.txt

输入 :p 后,切换到 1.txt

其他用法

ctrl + F : 向前移动一屏

ctrl + B :向后移动一屏

ctrl + D:向前移动半屏

ctrl + U: 向后移动半屏

j : 向前移动一行

k : 向后移动一行

v : 使用配置的编辑器编辑当前文件

h : 显示 less 的帮助文档

&pattern : 仅显示匹配模式的行,而不是整个文件

4、tail 和 head :

tail查看文件尾部;head用于查看文件头部,默认为前10行,也可认为指定显示的行数。格式:

head [ OPTIONS ] FILE

tail [ OPTIONS ] FILE

选项:head的选项:

-c :打印每个文件的第一个K字节; 使用前导“ - ”,打印每个文件的最后一个K字节

-n:打印第一个K行而不是前10个; 以' - '为首,打印每个文件的最后K行

-q:从不打印头文件名

-v:始终打印头文件名

tail 的选项:

-c:打印每个文件的第一个K字节; 使用前导“ - ”,打印每个文件的最后一个K字节

-f:当文件增长时输出附加数据;缺少的选项参数表示“描述符”

-F:与--follow = name --retry一样

-n:打印第一个K行而不是前10个; 以' - '为首,打印每个文件的最后K行

-s:与-f,休息大概N秒(默认1.0)之间; 与inotify和--pid = P,检查过程P至少每N秒一次

-q:从不打印头文件名

实例:[ root@vinsent ~ ]#head -n 5 /etc/passwd  # 查看前5行内容

root:x:0:0:root:/root:/bin/bash

bin:x:1:1:bin:/bin:/sbin/nologin

daemon:x:2:2:daemon:/sbin:/sbin/nologin

adm:x:3:4:adm:/var/adm:/sbin/nologin

lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

[ root@vinsent ~ ]#tail -n 5 /etc/passwd   # 查看后5行

postfix:x:89:89::/var/spool/postfix:/sbin/nologin

sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin

vinsent:x:1000:1000:vinsent:/home/vinsent:/bin/bash

mage:x:1001:1001::/home/mage:/bin/bash

quagga:x:92:92:Quagga routing suite:/var/run/quagga:/sbin/nologin

[ root@vinsent ~ ]#

[ root@vinsent ~ ]#head -n 5 /etc/passwd | tail -1  # 只显示第5行

lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

[ root@vinsent ~ ]#

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值