首页 > 系统相关 >linux之find

linux之find

时间:2024-11-18 22:06:55浏览次数:1  
标签:opt type m01 linux txt root find

find

  • 按照文件名称查找 -name ""

  • 查找文件、目录 -type f / -type d

  • 按照文件、目录大小 -size

  • 按照文件、目录时间 -atime -ctime

  • 文件类型 -type f d l c(dev/null dev/zero) b(磁盘、光盘)

1.查找大文件

[root@m01 var]# find / -type f -size +1G 2>/dev/null
/proc/kcore
/opt/bigfile/1.txt

2.查找大目录下的小文件

find /opt/ -type d -size +1M

3.查找其它类型文件

find /opt/ -type l b c

4.在指定目录下,查找文件或查找目录 -o

[root@m01 opt]# find /opt/ -type d -o -type f
/opt/
/opt/doc
/opt/bigfile
/opt/rm.sh

# 忽略文件大小写
[root@m01 opt]# find /opt/ -iname "*.sh" -o -iname "*.txt"
/opt/file.SH
/opt/f1.txt
/opt/f2.txt
/opt/f3.txt
/opt/f4.txt
/opt/f5.txt
/opt/f6.txt
/opt/f7.txt
/opt/f8.txt
/opt/f9.txt
/opt/f10.txt
/opt/rm.sh

5.使用并且和或者查找文件 -a

[root@m01 opt]# find /opt/ -name "*.sh" -a -type f
/opt/rm.sh

6.不区分大小写使用 -iname

[root@m01 opt]# find /opt/ -iname "*.sh"
/opt/file.SH
/opt/rm.sh

7.按照深度等级查找

[root@m01 opt]# find /opt/ -maxdepth 1 -name "*.txt"
/opt/f1.txt
/opt/f2.txt

8.查找出等于10M或者大于10M的文件

[root@m01 opt]# find / -type f -size 10M -o -size +10M 2>/dev/null
/boot/initramfs-0-rescue-e61ca9948a744df2a76bb612a2952399.img
/boot/initramfs-3.10.0-1160.el7.x86_64.img
/proc/kcore
/sys/devices/pci0000:00/0000:00:0f.0/resource1_wc
/sys/devices/pci0000:00/0000:00:0f.0/resource1

9.查找出文件大于5M 并且小于15M

[root@m01 opt]# find / -type f -size +5M -a -size -15M 2>/dev/null
/boot/vmlinuz-3.10.0-1160.el7.x86_64
/boot/vmlinuz-0-rescue-e61ca9948a744df2a76bb612a2952399
/run/log/journal/e61ca9948a744df2a76bb612a2952399/system.journal
/sys/devices/pci0000:00/0000:00:0f.0/resource2

10.查找出大于1M的目录 如果目录大于1M 说明下面已经存在5万+的小文件

[root@m01 opt]# find / -type d -size +1M
/opt

[root@m01 opt]# ll -dh /opt/
drwxr-xr-x. 4 root root 1.2M Nov 18 10:52 /opt/

[root@m01 opt]# du -sh /opt/
1.9M	/opt/

11.find 按照时间查找

语法格式:
三种时间:
atime: 访问时间
mtime: 文件修改时间
ctime: 文件属性修改时间
		 find  ./ -mtime +7   # 7天前修改过的文件
		 find ./ -mtime  -7   # 7天内修改过的文件
		 find ./ -mtime  0     # 24小时内被修改过的文件
		 
# 查找24小时内 修改过的文件		 
find / -type f -mtime 0		 

时间查找的作用:
1.大于7天或者30天前的文件不用了需要备份或者删除
2.系统中毒 文件被篡改。

笔试题: 查找/data目录下所有的普通文件修改时间大于30天前的然后删除
find /data -type f -mtime +30

12.将find的结果交给其他命令

三种执行方式:
第一种: find找到的文件交给  cat rm  cp mv  tar命令

# 在当前目录下,查找*.txt 文件内容
[root@m01 opt]# find ./ -type f -name "*.txt" -exec cat {} \;
hello sameen
[root@m01 opt]# cat `find ./ -type f -name "*.txt"`
hello sameen
[root@m01 opt]# find ./ -type f -name "*.txt" |xargs cat
hello sameen

tip :xargs后面所有的别名失效

# 查找名称3.txt的文件然后删除
[root@m01 opt]# find ./ -type f -name "3.txt" |xargs rm -f
[root@m01 opt]# find ./ -type f -name "3.txt" -exec rm -f {} \;
[root@m01 opt]# rm -f `find ./ -type f -name "3.txt"`


# 查找id.txt 复制到/opt
[root@m01 ~]# find ./ -type f -name "id.txt" -exec cp {} /opt/ \;
[root@m01 ~]# find ./ -type f -name "id.txt" |xargs -i cp {} /opt/
[root@m01 ~]# cp `find ./ -type f -name "id.txt"` /opt/

# 查找当前目录下所有txt文件并打包
[root@m01 ~]# find ./ -type f -name "*.txt" -exec tar zcvf txt.tar.gz {} \;
./1.txt
./2.txt
./id.txt
./w.txt
[root@m01 ~]# find ./ -type f -name "*.txt" |xargs -i tar zcvf txt.tar.gz {}
./1.txt
./2.txt
./id.txt
./w.txt

# 查找txt mv到/opt下
[root@m01 ~]# find ./ -type f -name "*.txt" |xargs -i mv {} /opt
[root@m01 ~]# find ./ -type f -name "*.txt" -exec mv {} /opt \;

标签:opt,type,m01,linux,txt,root,find
From: https://www.cnblogs.com/sharecorner/p/18553800

相关文章

  • linux 启动数据库和Teamcenter
    1.启动数据库:[infodba@tc24vm~]$exportORACLE_HOME=usr/apps/LINUX.X64_193000_db_home[infodba@tc24vm~]$exportORACLE_HOME=/usr/apps/LINUX.X64_193000_db_home[infodba@tc24vm~]$exportORACLE_SID=tc[infodba@tc24vm~]$cd$ORALCE_HOME[infodba@tc24vm~]$cd$OR......
  • Linux云平台Oracle 12c安装与数据迁移
    Linux云平台Oracle12c安装与数据迁移配置阿里云环境的操作系统参数hosts主机信息配置echo"172.18.33.214iZwz9f32ql5nimsjsa4verZ">>/etc/hosts#这里的IP地址是云服务器的内外地址,可以使用ifconfig命令查看,不是你用ssh登录的公网IP。配置英文环境变量echo"ex......
  • (Linux)解决每次进入命令要重新 source /etc/profile 的问题
     目录一、问题出现二、解决办法 一、问题出现今天在Linux中安装jdk后(下载安装教程)发现每次使用jdk都要重新执行source/etc/profile命令,使该文件生效才可以使用jdk(非常麻烦),所以上网查找解决办法,具体解决办法请继续向下看。 二、解决办法方法一:在~/.bashrc里面加......
  • Linux网络操作系统项目教程2
    项目1安装与配置Linux操作系统文中新建用户,目录,文件一律为mahaoran多建文件,用户,目录会说明任务1-1安装过程(简写)二、新建虚拟机打开虚拟机软件,选择“新建虚拟机”。在“新建虚拟机向导”中,选择“自定义”模式。选择虚拟机兼容性,一般选择默认即可。三、配置虚拟机硬件选择稍后安装操......
  • Linux文件隐藏属性及chattr和lsattr命令
    文件属性配置问题。chattr命令[root@ashlafkasjfkqyuezc]#chattr[+-=][ASacdistu]文件或目录名称选项与参数: +:增加某一个特殊参数,其他原本存在参数则不动。 -:移除某一个特殊参数,其他原本存在参数则不动。 =:设置等于,且仅有后面接的参数 A:当设置了A这个属性时,若你......
  • Linux 下网络套接字(Socket) 与udp和tcp 相关接口
    文章目录1.socket常见API2sockaddr结构体及其子类1.sockaddr结构体定义(基类)2.子类sockaddr_in结构体用于(IPv4)3子类sockaddr_un(Unix域套接字)4.总结画出其结构体3.实现一个简单的tcpEcho服务器和客户端(cpp)3.1客户端3.2服务器3.3测试结果1.socket常......
  • linux useradd: cannot open /etc/passwd
    系统环境:linuxcentos8操作:创建用户报错:useradd:cannotopen/etc/passwd解决过程:查看这个文件的属性:#lsattr/etc/passwd----i-----------/etc/passwd发现有i属性去掉这个属性:#chattr-i/etc/passwd然后这个文件可以写了,但是还有几个文件不能写,一样的道......
  • linux学习day01_安装虚拟机
    1linx分区概念linux中几乎所有的硬件文件都在/dev目录下面   虽然新版的Linux大多认识了GPT分区表,没办法,我们server常常需要比较大容量的磁盘嘛!不过,在磁盘管理工具上面,fdisk这个老牌的软件并不认识GPT喔!要使用GPT的话,得要操作类似gdisk或者是parted......
  • Android SELinux权限
    Android使用安全增强型Linux(SELinux)对所有进程强制执行强制访问控制(MAC),其中包括以Root/超级用户权限运行的进程(Linux功能)。工作模式宽容模式-仅记录但不强制执行SELinux安全政策。强制模式-强制执行并记录安全政策。如果失败,则显示为EPERM错误。可以通过ge......
  • linux学习day01_计算机基础
    1、理解计算机的构成简单的说,CPU下达指令使是核心,内存提供正要进行的资源,硬盘用来存储数据,主板用来连接硬件,外设方便使用电脑的(键鼠组合),显卡为了看的更清楚,电源供电使用 2、电脑常用的计算单位1M=1024K=1024*1024Byte=1024*1024*8bit 20M=20Mbps=20/8=2.5Mbyte Tip:1......