stat 信息量很大
stat opt 显示三个时间
Access: 2020-11-19 11:21:02.840370968 +0800
Modify: 2020-08-05 11:01:11.630506958 +0800
Change: 2020-09-22 16:03:29.091352316 +0800
ll --time=ctime /opt
ll --time=atime /opt
以天为单位
-atime [+|-]#
#:[#,#+1]
+#:[#+1,无穷大]
-#:[0,#]
-mtime
-ctime
以分钟为单位:
-amin
-mmin
-cmin
find /etc -mmin -1
查找一分钟内修改过的文件,-1 指的是 [0,1]
find -perm 666 -ls
查找权限为 666的文件 精确匹配
find -perm /666 -ls
斜线 所有者 所属组 other 三者之间是 或的关系 , 并集
find -perm - 666 -ls 交集
斜线 所有者 所属组 other 三者之间都有(包含)6的权限
777 包含 666
搜索出来的文件 处理动作
-print
-ls
-delete
-fls file 找到文件的长格式,保存到指定文件, 重定向
find -perm /222 -fls /root/find2.log
-ok COMMAND {} ;
find -name “f*” -ok rm {} ;
询问是否删除
find -name “f*” -exec rm {} ;
批量删除
例如备份脚本:find /opt/databackup/databk -type f -mtime +7 -exec rm -rf {} ;
{} 用于引用查找到的文件名称自身
find -perm -666 -exec mv {} {}.bak ; 查找出来的文件全部重命名备份f
find -name “*.conf” -exec cp {} {}.org ; 备份配置文件,添加扩展名
find /tmp -ctime +3 -user joe -ok rm {} ;
提示删除存在3天以上的 joe的临时文件
find ~ -perm -002 -exec chmod o-w {} ;
在主目录中可被其他用户写入文件,去掉写权限
find /data -type f -perm 644 -name “*.sh” -exec chmod 755 {} ;
data 目录下 权限为 644的shell文件,增加执行权限
find /home -type d -ls 查看Home的目录
find -size +10M -exec mv {} /home/ ;
找到10M以上的文件 移动到指定目录
echo f{1…10000}|xargs -n1 touch
体会这个 xargs 的作用
由于很多命令不支持管道传递参数,而日常工作中有这个必要,
所以就有了 xargs
xargs 用于产生某个命令的参数, xargs 可以读入 stdin 的数据,并且以
空格符或回车符将stdin 的数据分割成为 arguments
注意 :文件名或是其他意义的名词内含空格的情况
有些命令不接受过多的参数 ,xrgs解决
例如:
ls f*| xargs rm
find /sbin -perm +700 |ls -l 这个命令错误
find /sbin -perm +700 |xargs ls -l
find 和 xargs : find |xargs commd
ps -ef|grep AdminServer|grep -v grep|awk ‘{ print $2 }’|xargs kill -9
kill -9 ps -ef|grep weblogic|grep -v grep|tr -s ' ' |cut -d' ' -f2
这两种都是可以的。
压缩:
compress/uncompress .Z
compress m --> m.z 并且默认删除源文件
compress -d m.z 解压
compress -c m >m.z 结果输出至标准输出,不删除原文件
-v 显示详情
uncompress 解压
zcat file.z > file 解压到文件
gzip/gunzip 压缩比 比compressge更好
gzip m -->m.gz 也是默认删除源文件
gzip -d m.gz --> m 解压缩 登记 gunzip
gzip -c m > m.gz 结果输出至标准输出,重定向,并保留原文件
-#:1-9 指定压缩比,值越大 压缩比越大 默认是6
gzip -c messages >message.gz
gzip -c -d message.gz > messages
zcat message.gz > messages 不解压缩的前提下,查看文本内容
bzip2
-k: keep 保留原文件
-d: 解压
-#:压缩比 1-9 默认9
bzcat 不解压的情况下提前查看内容
xz
-k: keep 保留原文件
-d: 解压
-#:压缩比 1-9 默认9
xzcat 不解压的情况下提前查看内容
bzip2 f8 f9 f10
以上都支持一次性压缩多个: 压缩的都是文件。
配合打包工具 tar 来压缩文件夹。
打包压缩:
zip/unzip
zip -r /testdir/sysconfig /etc/sysconfig
zip -r /home/test2 /opt/shell/test
解包解压缩
unzip test2 .zip
unzip -p message > message
cat /var/log/messages |zip messages -