Linux下搜索文件常用方法

  • 用which命令查找可以知晓文件的绝对路径

  这个命令比较常用,例如查找bin、python、vim、find、cat的绝对路径

[email protected]:~# which find /usr/bin/find [email protected]-172-31-8-212:~# which bash /bin/bash [email protected]-172-31-8-212:~# which python /usr/bin/python [email protected]-172-31-8-212:~# which vim /usr/bin/vim

  • whereis查找预先生成的文件列表库中的文件名与相关的文件,格式为:whereis [-bms] 文件名称

    -b:只查找二进制文件

    -m:支叉子帮助文件(查找man目录下的文件)

    -s:支叉子源代码文件

    

[email protected]:~# whereis ls
ls: /bin/ls /usr/share/man/man1/ls.1.gz

  模糊查找,whereis命令很少使用

  

  •   locate命令查找文件

  locate命令也是通过查找预先生成的文件列表库来告诉用户要查找的文件在哪里,后面直接跟文件名,如果没有此命令,需要进行安装,安装命令如下:

 

 yum install -y mlocate
  •   使用find命令搜索文件

  此命令是使用较多的一个,格式为:find 【路径】 【参数】

        # linux文件无创建时间
        # Access 使用时间
        # Modify 内容修改时间
        # Change 状态改变时间(权限、属主)
        # 时间默认以24小时为单位,当前时间到向前24小时为0天,向前48-72小时为2天
        # -and 且 匹配两个条件 参数可以确定时间范围 -mtime +2 -and -mtime -4
        # -or 或 匹配任意一个条件

        find /etc -name "*http*"     # 按文件名查找
        find . -type f               # 查找某一类型文件
        find / -perm                 # 按照文件权限查找
        find / -user                 # 按照文件属主查找
        find / -group                # 按照文件所属的组来查找文件
        find / -atime -n             # 文件使用时间在N天以内
        find / -atime +n             # 文件使用时间在N天以前
        find / -mtime +n             # 文件内容改变时间在N天以前
        find / -ctime +n             # 文件状态改变时间在N天前
        find / -mmin +30             # 按分钟查找内容改变
        find / -size +1000000c -print                           # 查找文件长度大于1M字节的文件
        find /etc -name "*passwd*" -exec grep "xuesong" {} \;   # 按名字查找文件传递给-exec后命令
        find . -name ‘t*‘ -exec basename {} \;                  # 查找文件名,不取路径
        find . -type f -name "err*" -exec  rename err ERR {} \; # 批量改名(查找err 替换为 ERR {}文件
        find 路径 -name *name1* -or -name *name2*               # 查找任意一个关键字
        find /var/adm -mtime +3 -print                           #为了在/var/adm目录下查找更改时间在3日以前的文件
        find . -newer age.awk ! -newer belts.awk -exec ls -l {} \; #查找更改时间呗文件age.awk新但比文件belts.awk旧的文件
        find /etc -type d -print                                 #查找/etc目录下所有的目录
        find /etc ! -type d -print                                 #查找/etc下除了目录之外的所有类型的文件
        find /etc -type l -print                                 #查找/etc下所有的符号链接文件

实例如下:
find命令实例
简单地使用find命令查找指定目录下的某个文件的方法如下:
#find /etc -name inittab
/etc/inittab
#在当前目录下,查找名称为inittab的文件:
#find . -name inittab ./inittab
#找出当前目录下,文件名不区分大小写是example的所有文件:
$find . -iname example
./example ./Example
#找出当前目录下,目录名是tmp的目录:
$ find . -type d -name tmp
./tmp
#找出当前目录下所有sh文件:
$ find . -type f -name "*.sh"
./login.sh ./index.sh
#找出当前目录下,文件权限是777的所有文件:
$find. -type f -perm 0777
#找出当前目录下,文件权限不是777的所有文件:
$ find . -type f ! -perm 777
#找出/etc/目录下所有只读文件:
find . -type f ! -perm /a+w
#找出你账号的主目录下的所有可执行文件:
$ find ~ -type f -perm /a+x
#找出/tmp目录下的.log文件并将其删除:
$find /tmp/ -type f -name "*.log" -exec rm -f {} \;
#找出当前目录下的所有空文件:
$find . -type f -empty
#找出当前目录下的所有空目录:
$find . -type d –empty
#找出/tmp目录下的所有隐藏文件:
$find /tmp/ -type f -name ".*"
#找出/tmp目录下,所有者是root的文件和目录:
$find /tmp/ -user root
#找出/tmp目录下,用户组是developer的文件和目录:
$find /tmp/ -group developer
#找出你账号的主目录下,3天前修改的文件:
$ find ~ -type f -mtime 3
#找出你账号的主目录下,30天以前修改的所有文件:
$ find ~ -type f -mtime +30
#找出你账号的主目录下,3天以内修改的所有文件:
$ find ~ -type f -mtime -3
#找出你账号的主目录下,30天以前60天以内修改的所有文件:
$ find ~ -type f -mtime +30 -mtime -60
#找出/etc目录下,一小时以内变更过的文件:
find /etc -type f –cmin -60
#找出/etc目录下,一小时以内访问过的文件:
find /etc -type f -amin -60
#找出你账号的主目录下,大小是50MB的所有文件:
$find ~ -type f -size 50MB
#找出你账号的主目录下,大于50MB小于100MB的所有文件:
$ find ~ -type f -size +50MB -size -100MB
#找出你账号的主目录下,大于100MB的文件并将其删除:
$ find ~ -type f -size +100MB -exec rm –rf {} \;
 

原文地址:https://www.cnblogs.com/hujianli/p/9347605.html

时间: 2024-10-12 09:24:53

Linux下搜索文件常用方法的相关文章

Linux下搜索文件find、which、whereis、locate

Linux下搜索文件find.which.whereis.locate: - which 寻找“执行文件” - -a 将所有可找到的命令均列出,而不仅仅列出第一个找到的命令名称 - whereis 寻找特定文件   whereis [-bmsu] 文件或目录 - -b : 只找二进制文件 - -m : 只找在帮助文件manual路径下的文件 - -s :  只找源文件 - -u :  没有帮助文件的文件 - locate [filename] -- 例:  locate passwd - fin

Linux下搜索文件

一.Linux下搜索文件的命令 Which 显示Linux某个命令的完整路径.加上type可以检查是内部命令还是外部命令 [[email protected] /]# which cat /bin/cat [[email protected] /]# type cat cat is hashed (/bin/cat) [[email protected] /]# type man man is hashed (/usr/bin/man) [[email protected] /]# type c

在Linux下搜索文件

在Linux下搜索文件============================= 1,which 查找可执行文件的绝对路径 [[email protected] ~]# which cat /bin/cat [[email protected] ~]# which passwd /bin/passwd 2,whereis 查找文件 //很少用[[email protected] ~]# whereis lsls: /usr/bin/ls /usr/share/man/man1/ls.1.gz 3

Linux下搜索文件命令whereis/which/find/locate

1.whereis whereis who whereis 只能搜索二进制文件(-b),man 帮助文件(-m)和源代码文件(-s) 2.locate 所以有时候你刚添加的文件,它可能会找不到,需要手动执行一次 updatedb 命令 (在我们的环境中必须先执行一次该命令).它可以用来查找指定目录下的不同文件类型, 如查找 /etc 下所有以 sh 开头的文件: $ locate /etc/sh 注意,它不只是在 /etc 目录下查找,还会自动递归子目录进行查找. $ locate /usr/s

linux常用搜索文件命令

使用linux系统难免会忘记文件所在的位置,可以使用以下命令对系统中的文件进行搜索.搜索文件的命令为"find":"locate":"whereis":"which":"type" 方法/步骤 linux 下最强大的搜索命令为"find".它的格式为"find <指定目录> <指定条件> <指定动作>":比如使用find命令搜索在根

Linux下的文件操作命令

1. linux系统下的文件是级层试树状目录结构,最上层是  /    (即根目录) 2.linux下的各种主要文件: root :存放root用户的相关文件 home:存放普通用户的相关文件 bin :存放常用(普通的)的命令的文件 sbin:存放具有一定权限才可以使用的命令的文件 mnt:mnt默认光驱盒软驱的目录的文件 boot:存放引导相关的文件 etc:存放配置相关的文件(如mysql,Eclipse...) var :存放经常变化的文件 usr :安装软件时的默认存放的文件 3.一些

linux下修改文件的用户组chgrp和文件所有者chown

1. linux下修改文件用户组 chgrp: change group的简写,修改文件所属的用户组. chgrp users test.log 修改后查看 ls -l -rwxrwx--- 1 work users 0 Jun 8 15:46 test.log 如果要修改该目录下所有文件和目录,使用-R参数. chgrp -R users test 要被改变的group名,必须在 /etc/group 文件中. /etc/group文件记录系统中所有的组名称. 2. linux下修改文件所有者

修改Linux下的文件以及文件夹的权限

如何在Linux中管理文件和文件夹的权限? 2014-02-12 10:58 布加迪编译 51CTO 字号:T | T Linux系统有严格的权限管理制度,操作者权限与文件权限不匹配时将无法对文件进行任何操作.对许多Linux用户来说,习惯于文件的权限和所有权可能有点难度.本文从命令行开始入手,教您在Linux中管理文件和文件夹权限的方法. AD:51CTO学院:IT精品课程在线看! [51CTO精选译文]对许多Linux用户来说,习惯于文件的权限和所有权可能有点难度.人们通常认为,想进入到这种

如何在windows下和linux下获取文件(如exe文件)的详细信息和属性

程序员都很懒,你懂的! 最近在项目开发中,由cs开发的exe的程序,需要自动升级,该exe程序放在linux下,自动升级时检测不到该exe程序的版本号信息,但是我们客户端的exe程序需要获取服务器上新程序的版本号信息.最后由我用java实现linux上exe文件的版本号读取功能.下面是详细代码: package com.herman.utils; import java.io.File; import java.io.FileNotFoundException; import java.io.I