筛选压缩编辑
文章目录
一、目录作用
/root 系统管理员root的属主目录
/home 普通用户的宿主目录
/boot 系统内核启动文件
/dev 设备文件
/etc 配置文件
/bin 所有用户可执行的命令
/sbin 管理员可执行的管理命令
/usr 应用程序
/var 日志文件
二、筛选FIND
1、查找文件和目录 find/
采用递归方式,根据目标的名称、类型、大小等不同属性进行精细查找
find [查找范围] [查找条件表达式]
常用查找类型
- -name 按名称查找 可以使用"*“和”?"代替字符表示多个
例:
find ./ -name "文件名" 文件名:[a-z]查找字母开头文件
- -size 按文件大小查找 可以用"+“和”-"设置超过和小于指定的大小作为查找条件
例:
find ./ -size +4M 表示4M以上,但不包括4M; >4M
4M 表示3M到4M,但不包括3M;
-4M 表示3M以内,包括3M;
- -type 按文件类型查找 包括普通文件(f)、目录(d)、块设备文件(b)、字符设备文件(c)
例:
find /data/ -type d #查找data目录下的文件夹
find /data/ ! -type d #查找data目录下的非文件夹
find /data/ -type l #查找data目录下的链接文件
find /data/ -type f #查找data目录下的文件
拓展:-a/-o
find ./ -name "?????" -o -type d #筛选本地5个字符的文件名或者目录
find ./ -name "?????" -a -type d #筛选本地5个字符的名称且只能是目录
find /mnt -user root -a -size +5m -o -type d #多条件查找
2、管道 | xargs
将前面的查询结果作为参数传递给后面去执行
find /etc/ -size 4M | xargs du -a #筛选etc目录下=3M到4M的文件,显示前面筛选出来的文件大小
扩展:
find /etc/ -size 4M | xargs rm -rf{} #删除前面筛选出来的文件
查找用户文件
find ./ -user 用户名 -type f -name "???" -size -4M | xargs rm -f #筛选用户目录下名字是三个字的且小于等于3M的文件,然后加入管道为参数将其删除
3、时间根据时间筛选
- -mtime 文件内容修改时间 #time 以天为单位
find ./ -name "syslog.*.gz" -mtime -5 -exec ls -lh {} \; #将exec前面筛选的参数藏入后面{}执行后面的命令 #+5为5天以前 -5为5天以内
生产环境
find /backup/ -type f -name "*.log" -exec rm {} /; #删除备份文件
find /backup/ -type f -name "*.dmp" | xargs rm -f #删除日志文件
find /backup/ -type f -name "*.tar,gz"-mtime +30 | xargs rm -f #删除30天前的备份
三、查看文件内容命令 tail
-
more 采用全屏方式分页显示文件内容, 显示%观看进度但不能向上浏览
-
less 可以向上翻页,不显示%进度
-
head 查看文件开头的一部分,默认为10行
-n 数字行数
-
tail 查看文件结尾的内容,默认为10行
-n 数字行数 -f 动态显示实时数据
tail -f -n 1000 文件名 #动态显示结尾1000行的内容
统计文件内容 wc
- -l 统计行数
tail -f 文件名 | wc -l #显示文件后十行内容, 统计行数
find / -name "mysql" | wc -l #筛选mysql目录/文件,统计行数
- -w 统计单词数量
cat 文件名 | wc -w #用cat可以把文件内容放在内存,数据多的时候加载的比较快
- -c 统计字节
四、检索和过滤文件内容 grep
在文件中查找并显示包含指定字符串的行
grep [选项] 查找条件 目标文件
常用命令选项
- -i 查找时忽略大小写
grep -i 文件内容 文件名
- -v 反转查找,输出与查找条件不相符
查找条件设置
- 查找字符串双引号括起来
- "^字符"表示以输入的字符开头,"字符$"表示以输入的字符结尾
- "^$"表示空行
五、压缩 gzip、bzip2
- gzip
gzip -9 目录/文件名 #将原始文件以最大强度压缩成.gz格式,只保留压缩后的文件
gzip -d 目录/文件名.gz #将gz压缩文件进行解压缩 gzip -d \gunzip 相同表达含义
- bzip2
bzip2 -9 目录/文件名 #将原始文件以最大强度压缩成.bz2格式,只保留压缩后的文件
bzip2 -d 目录/文件名.bz2 #将bz2压缩文件进行解压缩 bzip2 -d \bunzip2 相同表达含义
六、使用归档和释放工具 tar
- -c 创建.tar格式的包文件
- -C 解压到指定释放的目标文件夹
- -f 表示使用归档文件
- -j bzip2进行压缩和解压
- -z gzip进行压缩和解压
- -p 保留文件权限
- -P 保留绝对路径
- -t 查看包内文件
- -v 输出详细信息
- -x 解开.tar包文件
1.压缩
- tar zcvf
tar zcvf 文件名.gz.tar 源文件名 #将文件打包,并以gz格式压缩
- tar jcvf
tar jcvf 文件名.bz2.tar 源文件名 #将文件打包,并以bz2格式压缩
2.解压
- tar zxvf
tar zxvf 文件名.gz.tar -C / #将打包的gz格式文件解压到根目录
- tar jxvf
tar jxvf 文件名.bz2.tar -C / #将打包的bz2格式文件解压到根目录
七、文本编辑器 vi
三种工作模式
- 命令模式(dd、yy 、p、Uu、Nn)
行内切换:Home/0/^ #跳转到行首三种命 End/$ #跳转到行尾两种命令
行间切换:gg#跳转到文件首行 G跳转到文件行尾 33G跳转到文件第33行
行号::set nu #显示行号 :set nonu #不显示行号
复制粘贴:5yy将光标当前行及以下共5行复制 p粘贴光标所在位置下方 P粘贴光标所在位置上方
删除行号:dd剪贴/删除 5dd剪贴光标当前行及以下共5行
文件类容查找::/字符串 #从上到下查找字符串 :?字符串 #从下而上
撤销编辑:u #取消一次操作 U #取消当前行所有编辑
可视化:v
保存并退出vi:ZZ
- 输入模式(a、i、o)
a 在光标位置后输入
A 在行尾输入
I 在行首输入
i 在光标位置前输入
o 在光标位置下一行输入
O 在光标位置的上一行输入
- 末行模式(:)
保存与退出::w #保存 q #不保存退出 wq #保存并退出
打开新文件::e 目录/文件名
读取其他文件::r 目录/文件
:s /1/2 将当前行第一个字符1替换成2
:s /1/ 2/g 将当前行所有字符1替换成2
:11,22s/1/2/g 将11到22行内所有字符1替换成2
:%s/1/2/g 将整个文件所有字符1替换成2
:s/1/2/c 提示确认
O 在光标位置的上一行输入
- 末行模式(:)
保存与退出::w #保存 q #不保存退出 wq #保存并退出
打开新文件::e 目录/文件名
读取其他文件::r 目录/文件
:s /1/2 将当前行第一个字符1替换成2
:s /1/ 2/g 将当前行所有字符1替换成2
:11,22s/1/2/g 将11到22行内所有字符1替换成2
:%s/1/2/g 将整个文件所有字符1替换成2
:s/1/2/c 提示确认