一.为什么要有文件查找

因为资料有很多,会忘记放在了什么位置,所以需要通过查找的方式进行搜索。(相当于windows查找文件  计算机--->搜索框)

二.Linux中怎么查找文件查找

因为linux中没有图形工具,所以只能使用命令工具--find--来搜索

三.find命令使用语法

命令(find)  路径(/etc/)  选项(要搜索什么)  表达式(名称,大小,文件类型,时间,组和用户)  动作(删除,-exec  \;)

四.如何通过名称,大小,文件类型,时间,组和用户来搜索文件。

1.按名称查找 (-iname 不区分大小写)

[root@localhost ~]# find ./ -name "zy*"

(搜索当前目录下以zy开头的所有内容)

[root@localhost ~]# find ./ -name "*zy"

(搜索当前目录下以zy开头的所有内容)

[root@localhost ~]# find ./ -iname "zy*"

(搜索当前目录下不区分大小写zy开头的内容)

2.按文件大小查找(以/etc/目录为例)

[root@localhost ~]# find /etc/ -size +5M

(搜索/etc/目录中大于5MB的内容)

[root@localhost ~]# find /etc/ -size -5M

(搜索/etc/目录中小于5MB的内容)

[root@localhost ~]# find /etc/ -size 5M

(搜索/etc/目录中等于5MB的内容)

PS:M单位也可以是k,G。

3.按文件类型查找 (-type)

文件类型:

f    普通文件

d    目录

s    socket套接字文件

l    链接文件

c    字符设备

b    块设备

[root@localhost ~]# find ./ -type f -iname "zy*"

(搜索当前目录中所有以“zy”开头的文件并且不区分大小写)

[root@localhost ~]# find /etc/ -type f -size +5M -name "*.bin"

(搜索/etc/目录中以.bin结尾的并且文件大于5M的文件)

[root@localhost ~]# find /etc/ -type f -name "*.repo"

(搜索/etc/目录中名称以.repo结尾的文件)

[root@localhost ~]# find /dev/ -type b -name "sda*"

(搜索/dev/目录中名称以sda开头的块设备文件)

[root@localhost ~]# find /dev/ -type c -name "tty*"

(搜索/dev/目录中以tty开头的字符设备文件)

4.按时间查找(-mtime)

[root@localhost ~]# find ./ -type f -mtime 7

(查找出当前目录下第7天的文件)*例:今天是10号,我要查找第七天的内容,就是10号之前的7天就是3号。*

[root@localhost ~]# find ./ -type f -mtime +7

(查找出当前目录下7天之前的文件内容)

[root@localhost ~]# find ./ -type f -mtime -7

(查找出当前目录下最近七天的文件内容)

实际使用方案

find /backup/ -iname  “*.bak”  -mtime  +7  -delete

(保留最近七天的文件其他全部删除)

find /backup/ -iname  “*.bak”  -mtime  +90  -delete

(保留最近三个月的文件其他全部删除)

find /backup/ -iname  “*.bak”  -mtime  +180  -delete

(保留半年的文件其他全部删除)

5.按用户和组查找(-user  -group -nouser -nogroup)

[root@localhost ~]# find /home/ -user zhangyao

(查找属主是zhangyao的内容)

[root@localhost ~]# find /home/ -group zhangyao

(查找属组是zhangyao的内容)

[root@localhost ~]# find /home/ -type d -user root -group zhangyao

(查找属主是root,属组是zhangyao的目录)

[root@localhost ~]# find /home/ -nouser

(查找/home/目录下没有属主的内容)

[root@localhost ~]# find /home/ -nogroup

(查找/home/目录下没有属组的内容)

[root@localhost ~]# find /home/ -nouser  -nogroup

(查找/home/目录下没有属主或没有属组的内容)

四.查找到内容后的处理动作

find的默认动作是-print(打印)

-print      打印查找到的内容

-ls          以长格式显示的方式打印查找到的内容

-delete  删除查找到的文件 (删除目录,仅能删除空目录)

-ok        后面跟自定义命令(会提示是否操作)

-exec    后面跟自定义命令(标准写法  -exec  \;)

例:

[root@localhost ~]# find ./ -type d -name "find_*" -exec rm -rf {} \;

(查找当前目录下以find_开头的目录然后删除)删除少量文件时用这个

[root@localhost ~]# find ./ -type d -name "find_*"  | xargs rm -f

(查找当前目录下以find_开头的目录然后删除)删除大量文件时候用这个

[root@localhost ~]# find /var/log/ -type f -name "*.log" -mtime +7 -exec rm -f {} \'

[root@localhost ~]# find /var/log/ -type f -name "*log" -mtime +7 | xargs rm -f

(两种方法都是删除七天之前日志文件)

五.查找只记得内容的文件

需要将find和grep组合起来用

例:

find  /etc/  -type  f  | xargs  grep “log_group” --color==auto(加颜色,可加可不加)

六.find逻辑运算符

例:

查找当前目录下属主不是root的所有文件,然后以长格式列出

find ./  -type  f  ! -user  root  -ls

查找当前目录下属主是zhangyao并且文件大小小于1k的所有文件

find ./ -type f -a -user  zhangyao -a -size 1k

查找当前目录下属主为root或者以xml结尾的文件

find ./ -type f -a -user root  -o -name "zy*"

转义

find ./ -type f -a  \(“空格” -user root  -o -name "zy*" “空格” \)

等于

find ./ -type f -a  -user root + find ./ -type f -a  -name "zy*"

linux查看以i开头的文件,Linux文件查找Day.13相关推荐

  1. linux按照更改时间查看文件,Linux查看特定时间段内修改过的文件

    Linux查看特定时间段内修改过的文件 一.Linux系统日志的一些信息,日志配置文件syslog.conf 系统日志一般都存在/var/log下 常用的系统日志如下: 核心启动日志:/var/log ...

  2. linux查看目录下 开头,Linux下ls如何看到.开头的文件

    Linux下ls查看到.开头的文件方法:ls -a Linux操作系统是UNIX操作系统的一种克隆系统,它诞生于1991 年的10 月5 日(这是第一次正式向外公布的时间).以后借助于Internet ...

  3. Linux查看时间段文件,Linux查看特定时间段内修改过的文件

    一.Linux系统日志的一些信息,日志配置文件syslog.conf 系统日志一般都存在/var/log下 常用的系统日志如下: 核心启动日志:/var/log/dmesg 系统报错日志:/var/l ...

  4. linux+查看磁带信息,15 条实用 Linux/Unix 磁带管理命令

    导读 磁带设备应只用于定期的文件归档或将数据从一台服务器传送至另一台.通常磁带设备与 Unix 机器连接,用 mt 或 mtx 控制.强烈建议您将所有的数据同时备份到磁盘(也许是云中)和磁带设备中. ...

  5. linux查看通道的命令,10个Linux新手必须记住的Linux基本命令,快速入门通道!!...

    原标题:10个Linux新手必须记住的Linux基本命令,快速入门通道!! Linux 作为免费操作系统,与 Windows.OS x 齐名.比起后两者,Linux 显得很低调,低调得不少人都以为自己 ...

  6. linux查看日志的几种命令,Linux查看日志三种命令(转载)

    第一种:查看实时变化的日志(比较吃内存) 最常用的: tail -f filename (默认最后10行,相当于增加参数 -n 10) Ctrl+c 是退出tail命令 其他情况: tail -n 2 ...

  7. linux 查看ntp版本号_如何让Linux时间与internet时间同步(CentOS)?

    在使用linux时(虚拟机),经常会发现使用一段时间后,linux时间和我的宿主机(真实机)的时间不一致,而宿主机的时间确实是internet时间,安装linux时选择的时区也是Asia/Shangh ...

  8. linux 查看usb端口_linux开发:Linux下查看端口占用

    怎么查看linux系统中已经被占用的端口?下面我就统一给大家解释一下. 提到端口,那首先来回顾端口定义,为了区分一台主机接收到的数据包应该转交给哪个任务来进行处理,使用端口号来区别:我们知道TCP端口 ...

  9. 京东云linux查看挂载磁盘,使用S3fs在Linux实例上挂载Bucket

    使用S3fs在Linux实例上挂载Bucket S3fs是基于FUSE的文件系统,允许Linux 挂载Bucket在本地文件系统,S3fs能够保持对象原来的格式.使用S3fs可以把Bucket当成一个 ...

最新文章

  1. c语言进制转换pdf下载,C语言实现任意进制转换.doc
  2. 在linux下安装星际译王
  3. Chrome 开发者工具里的 CSS grid editor
  4. 常用JavaScript函数 71 -(自我总结)
  5. 数据库实验6 数据库的分组查询和统计查询
  6. 华为手机怎么设置字体?
  7. 计算机组装维护与故障排除教材,电脑组装、维护与故障排除(第2版)
  8. H5(html5)入门教程
  9. Java 树形结构数据生成导出excel文件
  10. php对联广告,对联广告
  11. K60 FTM定时器 定时中断
  12. MacOS上符号执行模块angr和z3-solver模块的安装
  13. 游戏服务器架构的历史、现在以及未来(云游戏)
  14. python输入1234输出4321_求一个C语言程序:输入正整数,要求以相反数顺序输出该数。如输入1234,输出4321....
  15. 《孙子兵法》中的企业领导艺术和方法
  16. unicode字符转换成中文
  17. Ubuntu / Linux 手动安装Paraview
  18. 转:值得收藏!那些鲜为人知的 Mac OS X 技巧
  19. 【181029】FreeEIM 飞鸽传书仿QQ即时通讯软件VC++源代码
  20. VLC学习笔记(1): 概述

热门文章

  1. u盘在计算机磁盘中显示为磁盘1,U盘盘符显示却提示插入磁盘该怎么办
  2. python实现图书管理系统——通过excel文件或者TXT文件存放数据
  3. 【演武厅】表达式求值实例
  4. 【自学编程】自己写小例子的经验
  5. 西安80转2000坐标参数_!!!西安80坐标与地方坐标系的转换方法技巧
  6. 【Kali安全渗透测试实践教程】第9章 无线网络渗透
  7. 自然语言处理入门(一)
  8. Mac小技巧:强制退出程序的六种方法
  9. 大学生计算机编程总结,计算机编程实习小结
  10. Ubuntu服务器上用CornerNet-Squeeze训练自己的模型