Linux学习笔记——文件内容操作命令+正则表达式+重定向和

deanyuancn
发布于 2021-2-1 09:19
浏览
0收藏

Part4–文件内容操作命令
 
1. cat:

 

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

Linux学习笔记——文件内容操作命令+正则表达式+重定向和-鸿蒙开发者社区

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

Linux学习笔记——文件内容操作命令+正则表达式+重定向和-鸿蒙开发者社区

 

2. more:

 

more 文件名:全屏方式分页显示文件内容,每显示一页(一屏)后暂停,屏幕底部显示单词More和以显示百分比。按Enter键向下逐行滚动; 按空格键向下翻一屏,按b键向上翻一屏; 按q或Q键退出more命令。Linux学习笔记——文件内容操作命令+正则表达式+重定向和-鸿蒙开发者社区Linux学习笔记——文件内容操作命令+正则表达式+重定向和-鸿蒙开发者社区

more -10 文件名:每屏10行。
more +10 文件名:从第10行开始。
more -cd 文件名:以清屏、显示提示方式显示文件。


3. less:

 

与more命令类似,但扩展功能更多,到文件末尾时moreming’l会自动退出,less命令不会自动退出,需要按q或Q退出。less运行在文件向前向后移动(方向键上下)。Linux学习笔记——文件内容操作命令+正则表达式+重定向和-鸿蒙开发者社区

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

Linux学习笔记——文件内容操作命令+正则表达式+重定向和-鸿蒙开发者社区

4. nl:

 

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

 

Linux学习笔记——文件内容操作命令+正则表达式+重定向和-鸿蒙开发者社区

 

5. head:

 

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

Linux学习笔记——文件内容操作命令+正则表达式+重定向和-鸿蒙开发者社区

6. tail:

 

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

Linux学习笔记——文件内容操作命令+正则表达式+重定向和-鸿蒙开发者社区

tail -c n 文件名:查看文件最后n-1个字符。Linux学习笔记——文件内容操作命令+正则表达式+重定向和-鸿蒙开发者社区

7. wc:

 

wc:统计文件中的单词数量等信息,依次为行数、单词数、字节数(默认带选项 -l:统计行数; -w:统计单词个数; -c:统计字节数)。Linux学习笔记——文件内容操作命令+正则表达式+重定向和-鸿蒙开发者社区

 

8. grep:

 

grep [选项] 查找条件 目标文件:在文件中查找并显示包含指定字符串的行,如果没有指定行,系统从标准输入设备的输入中查找。要查找的字符串用双引号括起来。
grep -i:查找时忽略大小写。
grep -v:反转查找,输出与查找条件不相符的行。Linux学习笔记——文件内容操作命令+正则表达式+重定向和-鸿蒙开发者社区


9.正则表达式:

 

特殊字符:


(1)【 ? 】为元字符、通配符,可匹配任意单个字符。例如:test?txt可匹配mytest!txt。Linux学习笔记——文件内容操作命令+正则表达式+重定向和-鸿蒙开发者社区

(2)【 * 】可匹配任意字符串,包括空串。例如:hel*o可匹配hellp,theldfeo。(为什么匹配*d、*d*、*f、*f*就什么都匹配不到呢?是bug吗?)Linux学习笔记——文件内容操作命令+正则表达式+重定向和-鸿蒙开发者社区(3)【 list 】:匹配任一在list中指定的字符。例如:file[1234]可匹配file1,file2。Linux学习笔记——文件内容操作命令+正则表达式+重定向和-鸿蒙开发者社区(4)【 !list 】或【 ^list 】:匹配任一不在list中指定的字符。例如:file[^0-9]可匹配filea,fileA。Linux学习笔记——文件内容操作命令+正则表达式+重定向和-鸿蒙开发者社区

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

(7)【 \ 】:为转义字符,可将一个字符视为文字。例如:test\.$可匹配test.gz。Linux学习笔记——文件内容操作命令+正则表达式+重定向和-鸿蒙开发者社区

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)。

分类
已于2021-2-1 09:19:45修改
收藏
回复
举报
回复
    相关推荐