目录
一、显示命令
1. cat
1.1 定义
1.2 选项效果
1.3 语法示例
2. tac
3. rev
二、管道重定向
1. 定义
2. 文件合并
3. 补充
三、分页显示
1. more
2. less
四、显示文件前后内容
1. head和seq
2. tail
3. wc
4. 正则表达式部分介绍
5. grep
6. split
四、压缩和解压缩
1. gizp和bzip
2. 归档tar
五、vim编辑器
1. 三种模式
2. 模式切换
3. vim工具使用
查看文件内容,只能看一些普通的文本,file anaconda-ks.cfg可以看见文件的类型。在黑屏界面如果内容过多会显示不全。
选项 | 效果 |
-A | 显示隐藏的字符 |
-n | 显示行号包括空行 |
cat [选项] 文件名
[root@localhost ~]#cat /etc/centos-release //查看系统内核版本
CentOS Linux release 7.9.2009 (Core)
[root@localhost ~]#cat -n /etc/passwd //显示行号
1 root:x:0:0:root:/root:/bin/bash
2 bin:x:1:1:bin:/bin:/sbin/nologin
[root@localhost ky35]#cat -A 1.txt //显示隐藏的字符
123456789$
逆向显示文本内容
[root@localhost ky35]#cat 1.txt
1
2
3
[root@localhost ky35]#tac 1.txt //反过来看
3
2
1
将同一行的内容逆向显示
[root@localhost ky35]#cat 1.txt
123
abc
[root@localhost ky35]#rev 1.txt //同一行逆向显示
321
cba
重定向:重新定义标准输出方向,用“>”表示
管道:将前面命令的结果当作后面命令的参数执行,管道符左边的命令一定要有标准输出,右边的命令一定要可以接收标准输入,用“|”表示
[root@localhost ky35]#echo 123 > 1.txt | cat 1.txt
123
[root@localhost ky35]#cat 1.txt > 2.txt //将1.txt内容覆盖到2.txt
[root@localhost ky35]#cat 1.txt >> 2.txt //将1.txt内容追加到2.txt
[root@localhost ky35]#cat 1.txt 2.txt > 3.txt //内容竖向合并
[root@localhost ky35]#cat 3.txt
123
456
abc
def
[root@localhost ky35]#paste 1.txt 2.txt > 4.txt //内容横向合并
[root@localhost ky35]#cat 4.txt
123 abc
456 def
[root@localhost ky35]#cat -A 4.txt
123^Iabc$ //横向合并间距默认一个Tab值
456^Idef$
[root@localhost ky35]#echo text | xarges ueradd //xargs代接收
由于cat查看文件具有局限性,还可以使用more命令查看
more [选项] 文件名
基本操作:
回车:一行一行查看
空格:一页一页查看
q:退出(看完也自动退出)
less相对于more来说,不会自动退出,更加友好
less [选项] 文件名
n:向下查看
N:向上查看
/:可以搜索查找高亮显示
可以显示文件或标准输入的前面行
head -c 数字 文件名 :代表获取数字个字符
head -n 数字 文件名 :看文件的前数字行
head -n -数字 :去掉最后数字行
[root@localhost ky35]#seq 3 | head -n -1 //去掉最后数字行,seq命令用来打印数字序列
1
2
tail 和head 相反,查看文件或标准输入的倒数行(后数字行)
tail -n 数字 文件名:看文件的后数字行
tail -f 文件名:实时查看文件
统计行、单词、字符数
-l:只统计行数
-w:只统计单词(不是真正的单词)
-c:只统计字符
[root@localhost ky35]#cat 1.txt
123
abc
[root@localhost ky35]#wc 1.txt
2 2 8 1.txt //2 2 8 代表:行 单词 字符
正则表达式:匹配文件中的字符串(grep、awk、sed)
通配符:匹配文件的名字(ls、find)
过度文件中命中的字符,关键字搜索
grep [选项]… 表达式(正则) [文件]
-i:忽略大小写
-v:反转查找,输出与查找条件不相符的行
-o:只显示匹配项
-f :匹配相同项,将第一个文件作为匹配项得出两者相同的部分
[root@localhost ky35]#cat 1.txt
123
abc
[root@localhost ky35]#cat 2.txt
123
456
[root@localhost ky35]#grep -f 1.txt 2.txt //匹配相同部分内容
123
[root@localhost ky35]#grep -c 1.txt 2.txt //匹配相同部分行数
0
“^……”表示以……开头,^一行的开头
“……$”表示以……结尾,$一行的结尾
“^root$”就是root
“^$”表示空行
-v “^$”表示非空行
分割文件
split -b 100M 文件名 //-b按兆拆分,将100M文件分割成最小的文件存储
gzip/zip2和bzip/bzip2都是压缩软件
-c:创建(Create).tar 格式的包文件
-x:解开.tar 格式的包文件
-C:解压时指定释放的目标文件夹
-f:表示使用归档文件(一般都要带上表示使用tar)
-p:打包时保留文件及目录的权限
-P:打包时保留文件及目录的绝对径
-t:列表查看包内的文件(要和f一起使用)
-v:输出详细信息(Verbose)
-j:调用 bzip2 程序进行压缩或解压
-z:调用 gzip 程序进行压缩或解压
tar -zcvf 压缩包名字(*.tar.gz) 需要压缩的文件 #建立归档
tar xf -C 目录 #指定目录解压,不区分gizp,bzip2
命令模式:才进去的模式
输入模式:编辑模式
末行模式:辅助操作
行间跳转:数字 G:第1行跳到第数字行;gg:首行;G:末行
行内跳转:End,$:行尾;0,^:行首;w:一个单词一个单词跳
x:删除一个字符,u:撤销一次操作,U:撤销全部
y:复制,yy:复制一行,数字yy:复制数字行
p:粘贴在光标下面,P:粘贴在光标上面
d:删除,dd:删除行,数字dd:删除数字行
dw:删除一个单词,d$:删到尾,d0(^):删到头
r:替换一个,R:进入替换模式
i,o:进入输入模式,esc:退出输入模式
q:退出不保存,wq:保存退出,!强制
:set nu:显示行号 /:尾部查找
末行模式补充:查找替换
先查询文件中的内容,然后替换掉它
:% s/文件中的旧内容/替换的内容/修饰符
#:%代表全文范围,不写代表光标当前行,s:关键字
格式:
s/// 或者 s### 或者s@@@
:% s/^/#/ #给所有行开头加上“#”
:% s/^#// #删掉开头“#”
如:
1:第一行;2,5:2~5行;
$:最后一行;$-1:倒数第一行;2,$:2到最后一行;
#:#号行(#代表数字变量);
修饰符:
g:全局替换,默认情况下,每一行只替换第一次出现