Linux学习笔记(第零篇)计算机基础Linux学习笔记(第零篇)Linux文件系统及Shell
Linux学习笔记(第一篇)零散命令
Linux学习笔记(第二篇)目录操作命令
Linux学习笔记(第三篇)文件操作命令
Linux学习笔记(第四篇)文件内容操作命令+正则表达式+重定向和管道
Linux学习笔记(第五篇)归档及压缩命令
Linux学习笔记(第六篇)Vi编辑器
Linux学习笔记(第七篇)用户和组管理
Linux学习笔记(第八篇)磁盘与文件系统管理
Linux学习笔记(第九篇)逻辑卷管理(LVM)
Linux学习笔记(第十篇)进程管理
Linux学习笔记(第十一篇)服务管理
Linux学习笔记(第十二篇)网络基础
Linux学习笔记(第十三篇)通信管理
Linux学习笔记(第十四篇)管理常用网络服务
Linux学习笔记(第十五篇)常用网络服务器配置
Part4–文件内容操作命令
1. cat:
- cat 文件名:可用来显示一个或多个文件的内容。
- cat>文件名:若文件不存在,则先创建文件,再写入新内容;若文件存在,则直接覆盖原内容,写入新内容。
- cat>>文件名:追加内容。
2. more:
- more 文件名:全屏方式分页显示文件内容,每显示一页(一屏)后暂停,屏幕底部显示单词More和以显示百分比。按Enter键向下逐行滚动; 按空格键向下翻一屏,按b键向上翻一屏; 按q或Q键退出more命令。
- more -10 文件名:每屏10行。
- more +10 文件名:从第10行开始。
- more -cd 文件名:以清屏、显示提示方式显示文件。
3. less:
- 与more命令类似,但扩展功能更多,到文件末尾时moreming’l会自动退出,less命令不会自动退出,需要按q或Q退出。less运行在文件向前向后移动(方向键上下)。
- less -?:显示选项的用法和列表。
4. nl:
- 显示附带行号的文件内容。
5. head:
- head -n 文件名:查看文件开头的一部分内容(默认为10行)。
6. tail:
- tail -n 文件名:查看文件结尾的一部分内容(默认为10行)。
- tail -c n 文件名:查看文件最后n-1个字符。
7. wc:
- wc:统计文件中的单词数量等信息,依次为行数、单词数、字节数(默认带选项 -l:统计行数; -w:统计单词个数; -c:统计字节数)。
8. grep:
- grep [选项] 查找条件 目标文件:在文件中查找并显示包含指定字符串的行,如果没有指定行,系统从标准输入设备的输入中查找。要查找的字符串用双引号括起来。
- grep -i:查找时忽略大小写。
- grep -v:反转查找,输出与查找条件不相符的行。
9.正则表达式:
-
特殊字符:
(1)【 ? 】为元字符、通配符,可匹配任意单个字符。例如:test?txt可匹配mytest!txt。
- (2)【 * 】可匹配任意字符串,包括空串。例如:hel*o可匹配hellp,theldfeo。(为什么匹配*d、*d*、*f、*f*就什么都匹配不到呢?是bug吗?)
(3)【 list 】:匹配任一在list中指定的字符。例如:file[1234]可匹配file1,file2。
(4)【 !list 】或【 ^list 】:匹配任一不在list中指定的字符。例如:file[^0-9]可匹配filea,fileA。
(5)【 ^ 】:定位点为行首。例如:^test可匹配test1,testabc。
(6)【 $ 】:定位点为行尾。例如:test$可匹配abctest。
(7)【 \ 】:为转义字符,可将一个字符视为文字。例如:test\.$可匹配test.gz。
-
基本概念:
(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
- 基本概念:管道操作符号“|”,连接左右两个命令,将左侧命令的输出结果作为右侧命令的输入,可以将一系列命令链接在一起,形成一个管道。
- 格式:cmd1 | cmd 2 | … 例如:ls -l | less、ls -l | cat>file1(也相当于ls -l > file1)。