Linux文件查找详解

grep,egrep,fgrep:文本查找(文本文件中的内容)

文件查找:

locate

全系统查找的命令,

非实时,

模糊匹配

查找是根据全系统文件数据库进行的

#updatedb,手动生成文件数据库,因为新建的系统可能没有建立文件数据库

速度快

 find:

        实时查找

        精确查找

        支持众多查找标准

        遍历指定目录中的所有文件完成查找,速度慢

 用法:

        find 查找路径 查找标准 查找到以后的处理运作

        查找路径:默认为当前目录

        查找标准:默认为指定路径下的所有文件

        处理运作:默认为显示

   

    匹配标准:

            -name ‘FILENAME‘:对文件名做精确匹配

                文件名通配:

                            * :任意长度的任意字符

                            ?:任意单个字符

                            []:范围以内的字符

            -iname ‘FILENAME‘:文件名匹配不区分大小写

            -regex PATTERN:基于正则表达式进行文件名匹配

            -user USERNAME:根据属主查找

            -group GROUPNAME:根据属组查找

            -uid UID:根据UID查找

            -gid GID:根据GID查找

            -nouser :查找没有属主的文件

            -nogroup:查找没有属组的文件

            -type

                 f:普通文件

                 d:目录

                 c:字符设备文件

                 b:块设备文件

                 l:链接文件

                 p:管道文件

                 s:套接字文件

            -size

               [+|-]#k

[+|-]#M

[+|-]#G

    组合条件:

-a:与(and)

-o:或(or)

-not:非

查找/tmp 目录下,不是目录,并且还不能是套接字类型的文件

find /tmp -not -type d -a -not -type s

find /tmp -not \( -type d -o -type s \)

查找/tmp/test 目录下,属主不是user1,也不是user2的文件;

find /tmp/test -not -user user1 -a -not -user user2

find /tmp/test -not \( -user user1 -o -user user2 \)

  关于时间戳的参数:

-mtime

        -ctime

        -atime

              [+|-]#  

        -mmin

        -cmin

        -amin

              [+|-]#

关于权限的参数

-perm

             MODE:精确匹配

            /MODE:任意一位匹配即满足条件

            -MODE:文件权限能完全包含此MODE时才能显示

find ./ -perm -644

-644

644:rw-r--r--

755:rwxr-xr-x

运作:

-print:显示

        -ls:类似ls -l的形式显示每一个文件的详细

        -ok COMMOND {} \;每一次操作都需要用户确认

        -exec COMMOND {} \;不需要用户确认

# find -type d -ok chmod a-x {} \;

# find ./ -perm -020 -exec mv {} {}.new \;

# find ./ -name "*.sh" -a -perm -111 -exec chmod o-x {} \;

find命令的练习:

1、查找/var目录下属主为root并且属组为mail的所有文件;

# find /var -user root -a -group mail

2、查找/usr目录下不属于root,bin,或student的文件;

find /usr -not -user root -a -not -user bin -a -not -user student

find /usr -not \( -user root -o -user bin -o -user student \)

3、查找/etc目录下最近一周内内容修改过且不属于root及student用户的文件;

# find /etc -mtime -7 -a -not \( -user root -o -user student \)

4、查找当前系统上没有属主或属组且最近1天内曾被访问过的文件,并将其属主属组均修改为root;

# find -nouser -o -nogroup -a -atime -1 -exec chown root {} \;

5、查找/etc目录下大于1M的文件,并将其文件名写入/tmp/etc.largefiles文件中;

# find /etc -size +1M -print >> /tmp/etc.largefiles

6、查找/etc目录下所有用户都没有写权限的文件,显示出其详细信息;

# find /tmp/test -not -perm /222 -ls

时间: 2024-08-01 10:41:03

Linux文件查找详解的相关文章

Linux文件权限详解 文件和目录权限概述

Linux文件权限详解 文件和目录权限概述 在linux中的每一个文件或目录都包含有访问权限,这些访问权限决定了谁能访问和如何访问这些文件和目录. 通过设定权限可以从以下三种访问方式限制访问权限:只允许用户自己访问:允许一个预先指定的用户组中的用户访问:允许系统中的任何用户访问.同时,用户能够控制一个给定的文件或目录的访问程度.一个文件活目录可能有读.写及执行权限.当创建一个文件时,系统会自动地赋予文件所有者读和写的权限,这样可以允许所有者能够显示文件内容和修改文件.文件所有者可以将这些权限改变

Linux文件权限详解

在Linux中的每一个文件或目录都包含有访问权限,这些访问权限决定了谁能访问和如何访问这些文件和目录. 通过设定权限可以从以下三种访问方式限制访问权限:只允许用户自己访问:允许一个预先指定的用户组中的用户访问:允许系统中的任何用户访问.同时,用户能够控制一个给定的文件或目录的访问程度.一个文件活目录可能有读.写及执行权限.当创建一个文件时,系统会自动地赋予文件所有者读和写的权限,这样可以允许所有者能够显示文件内容和修改文件.文件所有者可以将这些权限改变为任何他想指定的权限.一个文件也许只有读权限

Linux文件解压缩详解-转

linux zip命令 1.zip -r myfile.zip ./*将当前目录下的所有文件和文件夹全部压缩成myfile.zip文件,-r表示递归压缩子目录下所有文件. 2.unzipunzip -o -d /home/sunny myfile.zip把myfile.zip文件解压到 /home/sunny/-o:不提示的情况下覆盖文件:-d:-d /home/sunny 指明将文件解压缩到/home/sunny目录下: 3.其他zip -d myfile.zip smart.txt删除压缩文

文件查找详解

查找命令有locate和find 一.locate 根据全系统文件数据库进行查找,并非实时查找.按计划任务会自动将本机的文件收集到文件数据库中,非精确查找. 手动生成文件数据库,updatedb,执行速度慢,查找速度快 二.find 实时.精确.遍历.查找速度慢.支持众多查找类型 find 查找路径 查找标准 查找的处理动作 查找路径:默认为当前路径 查找标准:默认为路径下所有文件 查找的处理动作:默认为显示 匹配标准: -name 'filename':根据文件名作精确查找并区分大小写,支持文

linux 文件删除详解

1.1 linux 文件的存储 linux在建立文件系统时会将磁盘逻辑上规划成各个块,inode块 与block块 每一个块都对应一个号码(inode号 block号),在本文件系统中唯一 ,每个inode 块缺省为256 byte  block块缺省为4K . [[email protected] ~]# dumpe2fs /dev/sda1|egrep  -i "block count|Inode count|block size|inode size" dumpe2fs 1.41

Linux文件类型详解

一.Linux文件类型分:普通文件.目录文件.链接文件.设备文件.管道文件. 1.普通文件:由ls -al显示属性时,第一个属性为 [-],例如 [-rwxrwxrwx].包括: 1.纯文本文件(ASCII):是内容可以直接读到的数据,例如 数字.字母等等. 2.二进制文件(binary):图片.音频.视频文件. 3.数据格式文件(data):某些程序在运行过程中,会读取特定格式的文件,这些特定格式的文件可以称为数据文件(datafile). 2.目录文件(directory)(目录或文件夹),

第七课-第三讲 07_03_Linux文件查找详解

一. let 用法I = 1SUM=$[ $SUM+$I ] = let SUM+=$I = let SUM++-= I-=1 相当于 I--+= I+=1 相当于 I++/=%= 二. 文件查找 grep,egrep,fgrep:文本查找,查找文本的,查找字符串的 locate 命令:全系统查找文件命令,非实时的,模糊匹配查找.他的查找是根据全系统文件数据库进行的.优势是速度快updatedb 手动生成文件数据库(系统我们生成全希望文件数据库时用到手动生成,否则locate命令无法执行) fi

Linux 文件时间详解 ctime mtime atime以及 find 命令

Linux系统文件中三个主要的时间属性: atime(access time)   mtime(modify time)   ctime(change time) 这三个时间很容易混淆,须加以区分 atime(access time):在读取文件或者执行文件时更改,即文件最后一次被读取或执行的时间. mtime(modify time):在写入文件时随文件内容的更改而更改,是指文件内容最后一次被修改的时间. ctime(change time):在写入文件.更改所有者.权限或链接设置时随 Ino

LINUX 文件权限详解

ls -l // 查看文件的权限 等价于 ll 文件的权限信息查看 -rw-rw-r-- 1 ceshi ceshi 891 Aug 8 17:28 server drwxrwxr-x 10 ceshi ceshi 4096 Aug 12 17:51 www.aa.com 开始 10个字符确定不同用户对文件的操作权限 第一个字符代表文件(-).目录(d).连接(l) 其余的字符每三个一组(rwx),读(r).写(w).执行(x) 第一组rwx:文件所有者的权限是读.写和执行 第二组rw-:与文件