2021-08-28linux shell编程学习

本文详细介绍了Linux中的find命令,包括其基本用法、各种选项如maxdepth、mindepth、type、atime、name等的含义及应用。通过实例展示了如何查找并删除特定条件的文件,如按访问时间、文件大小、所属用户等筛选。同时提到了正则表达式在find命令中的使用,以及与cat命令结合查看文件内容的方法。内容涵盖了文件类型、时间条件、文件大小、权限检查以及符号链接处理等多个方面。
摘要由CSDN通过智能技术生成

若有不妥之处,望请各位大佬提出

find命令

find命令主要执行文件,选项不是很多,用起来很便捷。

find . -maxdepth 2 -mindepth 1 -type f -atime +7  -name -size +2k "*.txt" -user test -delete
#在当前目录下查找目录最大深度为:2,最小深度为:1,文件类型为普通文件,访问时间大于7天,文件名为任何字符开头.txt结尾的文件,大于2k的,所属用户为test的文件,将它们全部删除
  • .:指定开始搜索的路径,这里代表当前目录
  • maxdepth:限定查找最大目录深度,没有限制的时候会一直查找下去
  • mindepth:限定目录最小深度
  • type:文件类型,还有其他的文件类型
  • atime:文件访问时间,以天为计,+7:表示大于7天,-7:小于7天,7:等于7天。与时间类似的还有,amin,它是以分钟为单位
  • name:文件的名字,支持通配符
  • iname:忽视文件名的大小写
  • size:文件的大小
  • user:文件的所属者,这里指定的是test用户
  • delete:将符合条件的文件全部删除
文件类型类型参数
普通文件f
符号连接l
目录d
字符设备c
块设备b
套接字s
FIFOp
选项解释
atime访问时间
mtime修改时间
ctime变化时间
选项解释
b
c字节
w
k千字节
M兆字节
G吉字节
find /proc -maxdepth 5 "*/test/*" -L -name "haha"
#在proc的目录下查找子目录中有test目录,最大深度为5的,支持符号连接,名字为haha
  • L:find命令默认是不会查找符号连接的。开启了符号连接,要注意死循环的问题。如果一个符号连接连接到本身,你又开启了它,就会出现死循环了。
find . -type f -name "*.php" ! -perm 644 -exec chmod 644 {} \;
#查找当前目录下,文件权限不是644的以.php结尾的文件,并将它们的权限改为644
  • exec:和管道符差不多,将上一条命令的结果作为下一条命令的参数
  • !:非咯,不是的意思咯
  • ;:一定要注意这个点,它表示对;(分号)的转义,表示chmod命令的结束。如果不写,表明find命令的结束,而chmod命令还没有结束,会报错参数遗漏的错误
find . \( -name "*.sh" -o -name "*.txt" \) -print
#打印出当前目录下文件以.sh结尾或者以.txt结尾的所有文件
  • o:或者or的首字母,还有a与
  • print:就是打印了,写不写都可
find . -regex '.*(\.jpg\|\.png)$'
  • regex:正则表达式咯,非常恶心的东西。iregex:忽视大小写
cat命令

cat命令主要是查看,没什么特别好说的

cat test1.txt test2.txt
#将两个文件一起合起来查看
cat -T test.txt
#将文件中的制表表符,用^I显示出来
cat -n -s test.txt
将文件中多余的空白行删除,如果是两行及其以上的空白行,都会变成一空白行
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值