Linux命令学习二

一、重定向符号

> 输入覆盖重定向
>> 输入追加重定向
<<< 标准输入重定向

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 57 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 ./*
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值