一、重定向符号
> 输入覆盖重定向
>> 输入追加重定向
<或<< 标准输入重定向
eg:
1、读取文件内容,且写入到另一个文件中
cat a > b # 读取a到内容并写入b,>无论写入多少次,b文件中都只有一次的内容,所以是覆盖
cat a >> b # 写入多次,b文件就有多次内容
2、重定向写入
cat a < b 把文件中的输入发送给cat命令读取
3、将文本内容拆分成多行
xargs命令
xargs -n 4 < b 将b文件拆分成多行输出,每行内容限制为4个字符
4、追加写入文本
cat >>b <<EOF EOF回车后会进入等待输入模式,输入的内容会写入b文件,注意写入完成后需要EOF表示结束写入
二、读取文件命令
1、cat命令
语法:
cat 可选参数 文件
清空文件内容 慎用
> 文件名
-A 等价于-vET
-b 对非空输出行编号
-e 等价于-vE
-E 在每行结束出显示$
-n 对输出的所有行编号
-s 不输出多行空行
-t 等价于-vT
-T 将跳格子夫显示为^T
-u
-v
--help 帮助命令
--version 显示版本信息
eg:
1、合并多个文件内容,如需写入新文件+重定向符号
cat a b
2、清空文件
(1)echo > a 清空文件,但是留下空行
(2)> a 清空文件,不留下空行
(3)利用cat读取一个黑洞文件然后清空其他文本
/dev/full 黑洞文件
cat /dev/full > a
2、tac命令:反向输出cat命令的内容
3、管道符用法
1、对字符串进行二次过滤
查看文本内容,并对内容二次过滤,找出和know me有关的内容
cat a | grep'know me'
4、more less 分屏查看文件内容的命令
语法: more 文件名
回车:下一行
空格:向下滚动一个屏大小
=:显示当前行好
q:退出more
5、head和tail命令
head:查看文件前n行
语法: head -n 文件名 n表示n行,head命令默认显示10行
-c 指定字符数量,显示字符书
head -c 5 文件名:输出这个文件的5个字符
tail 显示文件后n行
语法:tail -n 文件名 tail默认显示后10行
-f 实时刷新文件变化内容,主要监测日志变化
-F 不断打开文件,一般和-f配合使用
6、cut命令
cut 在文件的每一行中提取片段
语法 cut 参数 数值区间 文件
-b 以字节为单位分隔
-n 取消分隔多字节字符 与-b一起用
-c 以字符为单位
-d 自定义分隔符,默认以tab为分隔符
-f 与-d一起用,指定显示那个区域
N 第n个字节、字符或字段,从1计数起
N- 从第N个字节、字符或字段,到行尾
N-M 从N到M(含M)个字节、字符或字段
-M 从1到M含M个字节、字符或字段
eg:
1、截取第4个字符
cut -c 4 text
2、截取4-6个字符
cut -c 4-6 text
3、截取第5 和第7个字符
cut -c 5,7 text
4、指定分隔符号截取
cut -d “:” -f 3 text # 以冒号分隔,截取1-3个区域的内容
7、sort命令
sort命令将输入的文件内容按照规则排序然后输出结果
语法 sort 参数 文件
-b 忽略前导的空白区域
-n 根据字符串数字比较
-r 逆序输出排序结果
-u 配合-c 严格校验排序,不配和-c 值输出一次排序结果
-t 使用指定的分隔符代替非空格到空格到转换
-k 在位置1开始一个key,在位置2终止(默认行尾)
eg:
1、对文件第一个字符进行排序,从小到大
sort -n file
2、对排序结果反转
sort -n -f file
3、对排序结果去重
sort -u file
4、指定分隔符,指定区域排序
sort -n -t ‘,’ -k 4 file
8、uniq命令
uniq可以输出或者忽略文件中的重复行,常与sort排序结合使用
用法:uniq 参数 文件
不添加任何参数时匹配行将在首次出现处被合并
-c 在每行前加上表示相应行出现次数的前缀编号
-d 值输出重复的行
-u 只显示出现一次的行,注意,uniq的只出现一次是针对-c统计后的结果
eg:
1、去除连续的重复行
uniq text
2、结合sort使用,去重更精确
sort -n text |uniq
3、统计每一行出现次数
sort -n text |uniq -c
4、只显示文件中重复的行,统计出现次数
sort -n text |uniq -c -d
5、显示只出现过一次的行
sort -n text |uniq -c -u
9、wc命令
用于统计文件的行数、单词、字节数
-c 打印字节数
-m 打印字符数
-l 打印行数
-L 打印最长行的长度
-w 打印单词数
eg:
1、统计文件的行数
wc -l text
2、统计单词数量
wc -w text
10、tr命令
从标准输入中替换、所见、删除字符
用法:tr 参数 set1[set2]
-c 取代所有不属于第一字符集的字符
-d 删除所有属于第一字符集的字符
-s 把连续重复的字符以单独的一个字符表示
-t 先删除第一字符集较第二字符集多出来的字符
eg:
1、替换标注输入中的大小写
echo 'shidshis' |tr 'a-z' 'A-Z'
11、find命令(待补充)
用法:find 路径 参数
eg:
1、根据名字全盘搜索
find / -name ‘*.txt’
12、tar命令
用法: tar 参数 文件
eg:
1、压缩当前目录下所有内容
tar -cvf alltmp.tar ./*
2、解包
tar -xvf alltmp.tar ./*
3、打包且压缩
tar -czvf alltmp.tar.gz ./*