linux sh查找文件并复制,Shell对find查询文件操作实例linux操作系统 -电脑资料

在linux中find是用来查找文件的,下面我来给大家简单讲几个关于find文件查询实例,希望对各位朋友会有所帮助,

例1

典型操作,遍历目录下所有js并用yuicompressor压缩代码如下复制代码

for i in `find asset/v2 -name "*.js"`;

do

echo "compress $i"

java -jar tool/yuicompressor.jar --charset=utf8 -o $i $i --nomunge

done

例2

执行范例

在当前目录下找查找以.c的文件和目录代码如下复制代码

find -name "*.c"

只在当前目录下找查找以.c的文件和目录,子目录不进行查找。代码如下复制代码

find -maxdepth 1 -name "*.c"

在/home目录查找文件类型为软连接的文件和管道文件,并使用ls指令列出它们的详细信息。代码如下复制代码

find /home -type p -o -type l |xargs ls -l

查找/home/mail目录下有哪些子目录。代码如下复制代码

find /home/mail -type d -print

在/home/目录下查找1天前,后缀为.sh的文件。代码如下复制代码

find /home/ -ctime 1 -name "*.sh" -exec ls -l {} ;

在整个系统中查找,具有硬连接,且大于880KB的文件,并打印出来。代码如下复制代码

find / -type f ! -links 1 -size +880k -exec ls -lh {} ; 2>/dev/null

查找整个系统中具有setuid的可执行文件,Shell对find查询文件操作实例linux操作系统》(https://www.unjs.com)。代码如下复制代码find / -perm 4755 -print 2>/dev/null|xargs ls -l

查找整个系统中具有setuid的可执行文件。忽略对/bin目录的搜索。代码如下复制代码

find / -path "/bin" -prune -o -perm 4755 -print 2>/dev/null|xargs ls -l

在/home/目录下查找更改时间在3日以内的文件代码如下复制代码

find /home/logs -type f -mtime -3 -exec ls -l {} ;

在整个系统中查找属性为755后缀为.sh或.php的文件,并避开/usr/bin、/bin、/usr/local/bin目录。代码如下复制代码

find / -type f -perm 755 -a -name "*.php" -o -name "*.sh" -a ( -path /bin -o -path /usr/bin -o -path /usr/local/bin ) -prune

查找指定大小文件

例子:查找当前目录下文件大小为2048(2k)字节的文件代码如下复制代码

find ./ -size 4

find ./ -size 2048c

find ./ -size 2K

上述查找文件是等于指定大小的,那能不能查询大于或小于某个指定值的文件呢,答案是肯定,例如:

查找大于2K的文件,+ 表示大于代码如下复制代码find ./ -size +2048c

查找小于2K的文件,- 表示小于代码如下复制代码find ./ -size +2048c -type f

注意:默认单位是b,而它代表的是512字节,所以2表示1K,1M则是2048,如果不想自己转换,可以使用其他单位,如c、K、M等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值