linux find的内容复制,linux之find使用介绍

find使用介绍:

1.查找到文件并且拷贝到其他目录下:

find ./ -name "biao-frame.sh" -exec cp {} /tmp \;

find ./ -name "[1-9].txt" | cpio -pdv /opt/

2.查找到文件并且mv移动文件到/opt目录下:

[root@VM_82_178_centos ~]# touch {1..5}.txt

[root@VM_82_178_centos ~]# ll *.txt

-rw-r--r-- 1 root root 0 Jul 31 14:32 1.txt

-rw-r--r-- 1 root root 0 Jul 31 14:32 2.txt

-rw-r--r-- 1 root root 0 Jul 31 14:32 3.txt

-rw-r--r-- 1 root root 0 Jul 31 14:32 4.txt

-rw-r--r-- 1 root root 0 Jul 31 14:32 5.txt

-rw-r--r-- 1 root root 17 Sep 27 2018 test.txt

[root@VM_82_178_centos ~]# find ./ -name "[1-9].txt" |xargs -i mv {} /opt/

[root@VM_82_178_centos ~]# ll /opt/*.txt

-rw-r--r-- 1 root root 0 Jul 31 14:32 /opt/1.txt

-rw-r--r-- 1 root root 0 Jul 31 14:32 /opt/2.txt

-rw-r--r-- 1 root root 0 Jul 31 14:32 /opt/3.txt

-rw-r--r-- 1 root root 0 Jul 31 14:32 /opt/4.txt

-rw-r--r-- 1 root root 0 Jul 31 14:32 /opt/5.txt

-p参数会提示让你确认是否执行后面的命令,y执行,n不执行

[root@VM_82_178_centos opt]# find ./ -name "[1-9].txt" |xargs -p -i mv {} /root/

mv ./4.txt /root/ ?...y

mv ./5.txt /root/ ?...y

mv ./6.txt /root/ ?...y

mv ./3.txt /root/ ?...y

mv ./2.txt /root/ ?...y

mv ./1.txt /root/ ?...y

[root@VM_82_178_centos opt]# ll /root/*.txt

-rw-r--r-- 1 root root 0 Jul 31 14:32 /root/1.txt

-rw-r--r-- 1 root root 0 Jul 31 14:32 /root/2.txt

-rw-r--r-- 1 root root 0 Jul 31 14:32 /root/3.txt

-rw-r--r-- 1 root root 0 Jul 31 14:32 /root/4.txt

-rw-r--r-- 1 root root 0 Jul 31 14:32 /root/5.txt

-rw-r--r-- 1 root root 4 Jul 31 13:54 /root/6.txt

*3.查找目录下50天前的文件,并且排除掉xx.conf nginx_status.conf 文件和 /usr/local/nginx/conf/vhost/bak/ 下面的文件,然后删除掉**

find /usr/local/nginx/conf/vhost -type f -mtime +50 -name "*" ! -path "/usr/local/nginx/conf/vhost/xx.conf" ! -path "/usr/local/nginx/conf/vhost/nginx_status.conf" ! -path "/usr/local/nginx/conf/vhost/bak/*" -exec rm -f {} \;

4.查找到文件并批量修改文件内容:

[root@VM_82_178_centos ~]# cat 1.sh

12345

22222

33333

00000

[root@VM_82_178_centos ~]# find ./ -name "1.sh" -exec sed -i s/0/9/g {} \;

[root@VM_82_178_centos ~]# less 1.sh

12345

22222

33333

99999

5.查大于512k的文件

find /home -size +512k

6.查找大小为0的文件并且删除

[root@VM_82_178_centos ~]# find ./ -name "[1-9].txt" -type f -size 0 -exec rm -f {} \;

./3.txt

./2.txt

./1.txt

7.查到txt文件,放到一行,然后删除

find ./ -name "[1-9]".txt -type f -print0 |xargs -0 rm -f

[root@VM_82_178_centos ~]# find ./ -name "[1-9].txt" -type f

./4.txt

./5.txt

./3.txt

./2.txt

./1.txt

[root@VM_82_178_centos ~]# find ./ -name "[1-9].txt" -type f -print

./4.txt

./5.txt

./3.txt

./2.txt

./1.txt

null

把查到的txt文件放到一行,文件名之前没有空格

[root@VM_82_178_centos ~]# find ./ -name "[1-9].txt" -type f -print0

./4.txt./5.txt./3.txt./2.txt./1.txt[root@VM_82_178_centos ~]#

把查到的txt文件放到一行,文件名之间空格隔开

[root@VM_82_178_centos ~]# find ./ -name "[1-9].txt" -type f -print0|xargs -0

./4.txt ./5.txt ./3.txt ./2.txt ./1.txt

把查到的txt文件放到一行,文件名空格隔开

[root@VM_82_178_centos ~]# find ./ -name "[1-9].txt" -type f|xargs

./4.txt ./5.txt ./3.txt ./2.txt ./1.txt

[root@VM_82_178_centos ~]# find ./ -name "[1-9].txt" -type f |xargs -n1

./4.txt

./5.txt

./3.txt

./2.txt

./1.txt

查出txt文件,并且每行放5个文件

[root@VM_82_178_centos ~]# find ./ -name "[1-9].txt" -type f |xargs -n5

./4.txt ./5.txt ./3.txt ./2.txt ./1.txt

查出txt文件,并且每行放2个文件

[root@VM_82_178_centos ~]# find ./ -name "[1-9].txt" -type f|xargs -n2

./4.txt ./5.txt

./3.txt ./2.txt

./1.txt

把查到的txt文件放到一行,文件名空格隔开,然后删除文件

find ./ -name "[1-9].txt" -type f -print0|xargs -0 rm -f

8.查看文件格式

[root@VM_82_178_centos ~]# find ./ -type f -name "[0-9].txt" -exec file '{}' \;

./4.txt: empty

./5.txt: empty

./3.txt: empty

./2.txt: empty

./1.txt: ASCII text

9.用grep命令在当前目录下的txt结尾的文件中搜索AA这个词

[root@VM_82_178_centos ~]# echo AA >>5.txt

[root@VM_82_178_centos ~]# find ./ -name "[1-9].txt" |xargs grep "AA"

./5.txt:AA

10.find查找出以txt结尾的文件,然后把查找出的txt结尾的文件名称追加到一个文本中

[root@VM_82_178_centos ~]# find ./ -name "[1-9].txt" -print | xargs echo "" >/tmp/core.log

[root@VM_82_178_centos ~]# less /tmp/core.log

./4.txt ./5.txt ./6.txt ./3.txt ./2.txt ./1.txt

11. 参数-l1是一次处理一个,-t是处理之前打印出命令

[root@VM_82_178_centos ~]# find ./ -name "[1-9].txt" -print0 | xargs -0 -l1 -t -i mv {} /opt/

mv ./4.txt /opt/

mv ./5.txt /opt/

mv ./6.txt /opt/

mv ./3.txt /opt/

mv ./2.txt /opt/

mv ./1.txt /opt/

[root@VM_82_178_centos ~]# ll /opt/*.txt

-rw-r--r-- 1 root root 0 Jul 31 14:32 /opt/1.txt

-rw-r--r-- 1 root root 0 Jul 31 14:32 /opt/2.txt

-rw-r--r-- 1 root root 0 Jul 31 14:32 /opt/3.txt

-rw-r--r-- 1 root root 0 Jul 31 14:32 /opt/4.txt

-rw-r--r-- 1 root root 3 Jul 31 14:40 /opt/5.txt

-rw-r--r-- 1 root root 4 Jul 31 13:54 /opt/6.txt

[root@VM_82_178_centos opt]# find ./ -name "[1-9].txt" -print0 | xargs -0 -l1 -t rm -f

rm -f ./4.txt

rm -f ./5.txt

rm -f ./6.txt

rm -f ./3.txt

rm -f ./2.txt

rm -f ./1.txt

[root@VM_82_178_centos opt]# ls

rh test_2018-11-27.sql

12.遍历一次以txt结尾文件,将权限为664文件和目录列入/root/a.txt,将大于1M的文件列入/root/big.txt

find ./ -name "[0-9].txt" \( -perm 644 -fprintf /opt/a.txt '%#m %u %p\n' \) , \( -size +1M -fprintf /opt/big.txt '%-10s %p\n' \)

[root@VM_82_178_centos opt]# cat a.txt

0644 root ./4.txt

0644 root ./5.txt

0644 root ./3.txt

0644 www ./2.txt

0644 root ./1.txt

[root@VM_82_178_centos opt]# cat big.txt

1901997 ./1.txt

**参数-%m指文件的模式,%#m 此处的#号,是补0位**

you will see a difference between the actual value of the file's mode and the output of %m. Normally you will want to

have a leading zero on this number, and to do this, you should use the # flag (as in, for example, `%#m').

**参数%u 指文件的用户名,如果用户没有名称,则为数字用户ID**

File's user name, or numeric user ID if the user has no name

**参数%p指文件名**

**参数\n为换行符**

** 参数%s 指文件大小(以字节为单位)**

13.find查找到文件然后删除

find ./ -name nn108cpv-root -delete

##保留1天的png图片2020-12-08 by ww

##删除过去60分钟之前的png图片

##15 0 find /data/mall-autotests/wwn.cn/ -type f -name ".png" -cmin +60|xargs rm -f

15 0 /usr/bin/find /data/mall-autotests/eqiu.com/ -type f -name ".png" -mtime +1|xargs rm -f

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值