linux输入重定向方式来查看文件的内容,Linux学习笔记(第四篇)文件内容操作命令+正则表达式+重定向和管道...

Part4–文件内容操作命令

1. cat:

cat 文件名:可用来显示一个或多个文件的内容。

249fb5292f4b969924ce9ca24a51253b.png

cat>文件名:若文件不存在,则先创建文件,再写入新内容;若文件存在,则直接覆盖原内容,写入新内容。

cat>>文件名:追加内容。

23940253d6cb4460d3bfddaff33d1428.png

2. more:

more 文件名:全屏方式分页显示文件内容,每显示一页(一屏)后暂停,屏幕底部显示单词More和以显示百分比。按Enter键向下逐行滚动; 按空格键向下翻一屏,按b键向上翻一屏; 按q或Q键退出more命令。

75f04a230ea19297b81b2ed9e79ae0de.png

d8c1db45828fe36a272d4c88438c1bfa.png

more -10 文件名:每屏10行。

more +10 文件名:从第10行开始。

more -cd 文件名:以清屏、显示提示方式显示文件。

3. less:

与more命令类似,但扩展功能更多,到文件末尾时moreming’l会自动退出,less命令不会自动退出,需要按q或Q退出。less运行在文件向前向后移动(方向键上下)。

32d12b325bda18d453f276c790a60a14.png

45f9c77ee541920acba611c3b27f9df8.png

less -?:显示选项的用法和列表。

078da79f453db66748a539931f1b6db2.png

0b03ccfd54e5af0cd1cc23a4b6588259.png

4. nl:

显示附带行号的文件内容。

1570e95eb018d55ff2048b452cb54998.png

5. head:

head -n 文件名:查看文件开头的一部分内容(默认为10行)。

2e84ba8d7fef0bb5b451395866de6008.png

6. tail:

tail -n 文件名:查看文件结尾的一部分内容(默认为10行)。

971e1e2efd777888d924b1ae476da092.png

tail -c n 文件名:查看文件最后n-1个字符。

768b0d4b3aedfa054c82c9061a62617e.png

7. wc:

wc:统计文件中的单词数量等信息,依次为行数、单词数、字节数(默认带选项 -l:统计行数; -w:统计单词个数; -c:统计字节数)。

1c06706ac0fda4e54098dc75e3e87d8a.png

8. grep:

grep [选项] 查找条件 目标文件:在文件中查找并显示包含指定字符串的行,如果没有指定行,系统从标准输入设备的输入中查找。要查找的字符串用双引号括起来。

grep -i:查找时忽略大小写。

grep -v:反转查找,输出与查找条件不相符的行。

83f33e1d4e5fd82bb1b116b611735242.png

6bc0851f55b442aea23cba6ee3df5688.png

9.正则表达式:

特殊字符:

(1)【 ? 】为元字符、通配符,可匹配任意单个字符。例如:test?txt可匹配mytest!txt。

5af71214c001a1b3dc733041848f197c.png

(2)【 * 】可匹配任意字符串,包括空串。例如:hel*o可匹配hellp,theldfeo。(为什么匹配*d、*d*、*f、*f*就什么都匹配不到呢?是bug吗?)

c36c27db3df9f87b945486668ca3337d.png

(3)【 list 】:匹配任一在list中指定的字符。例如:file[1234]可匹配file1,file2。

97f88bb009f92b83a1fcfbf773308ad1.png

(4)【 !list 】或【 ^list 】:匹配任一不在list中指定的字符。例如:file[^0-9]可匹配filea,fileA。

49bc2c0fbb51ba2a729fcf591b702093.png

(5)【 ^ 】:定位点为行首。例如:^test可匹配test1,testabc。

(6)【 $ 】:定位点为行尾。例如:test$可匹配abctest。

(7)【 \ 】:为转义字符,可将一个字符视为文字。例如:test\.$可匹配test.gz。

fd7b9dfbf2ee1602622443b23635b63d.png

10.重定向:

基本概念:

(1)默认情况下,许多Shell命令从标准输入设备输入,命令的结果输出到标准输出设备。

(2)重定向运行将标准输出或错误信息从程序重定向到文件,以进行保存或稍后分析,或禁止其在终端显示。还可以通过文件而非键盘将输入读取至命令行程序。

(3)管道允许将标准输出信息从程序连接至另一个程序的输入,每个程序作用于前一个程序的输出。

Bash的标准输入输出:

(1)标准输入:从该设备接收用户输入的数据。设备文件为/dev/stdin,文件描述编号为0,默认设备为键盘。

(2)标准输出:通过该设备向用户输出数据。设备文件为/dev/stdout,文件描述编号为1,默认设备为显示器。

(3)标准错误:通过该设备报告执行出错的信息。设备文件为/dev/stderr,文件描述编号为2,默认设备为键显示器。

Bash的重定向操作:

【重定向标准输入】:

(1)

【重定向标准输出】:

(1)>:清空指定文件的内容,将标准输出(命令的执行结果)保存到该文件中,而不是直接显示在屏幕上。

(2)>>:(追加)。

【重定向标准错误】:

(1)2>:清空指定文件的内容,并将标准错误信息保存到该文件中。

(2)2>>:(追加)。

【重定向标准输出和标准错误】:

(1)&>:清空指定文件的内容,并将标准输出和标准错误信息保存到该文件中。

【例子】:ls>mydir.list、ls>>mydir.list、ls /etc/ > f1、nocmd 2> errfile、cat f1 f5 &> f2、cat < f1>f3

11.管道:

基本概念:管道操作符号“|”,连接左右两个命令,将左侧命令的输出结果作为右侧命令的输入,可以将一系列命令链接在一起,形成一个管道。

格式:cmd1 | cmd 2 | … 例如:ls -l | less、ls -l | cat>file1(也相当于ls -l > file1)。

本文同步分享在 博客“Zhou_LC”(CSDN)。

如有侵权,请联系 support@oschina.cn 删除。

本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值