• Linux之find


    命令功能:

    find命令是用来在给定的目录下查找符合给定条件的文件。它需要从磁盘中查找,效率低,whereis和locate是基于缓存中数据库查找,效率很高,但是一些新建的文件可能未加入到数据库中,使用whereis和locate不一定找到相应的文件。

    命令格式:

    find [-H] [-L] [-P] [-D debugopts] [-Olevel] [starting-point...] [expression]

    命令参数:

    expression:

    -name       -name可以对文件的basename进行匹配。查找的文件名最好使用引号包围,可以配合通配符进行查找,但是basename中不能有“/”字符。默认为递归查找。=》见实例1、实例3

    -type        根据文件类型搜索:一般需要搜索的文件类型就只有普通文件(f),目录(d),链接文件(l),块设备文件(b),字符设备文件(c),管道文件(p),socket文件(s)。=》见实例2

    命令实例:

    1.在当前目录下,使用-name查找包含“bash”的文件

    vbird@Ubuntu1604:~$ ll
    total 132
    drwxr-xr-x 4 vbird vbird  4096 9月   9 16:05 ./
    drwxr-xr-x 5 root  root   4096 9月   8 16:39 ../
    -rw-rw-r-- 1 vbird vbird    11 9月   9 16:05 aa
    -rw------- 1 vbird vbird   739 9月   9 09:19 .bash_history
    -rw-r--r-- 1 vbird vbird   220 9月   8 16:39 .bash_logout
    -rw-r--r-- 1 vbird vbird  3771 9月   8 16:39 .bashrc
    drwx------ 2 vbird vbird  4096 9月   8 16:41 .cache/
    -rw-r--r-- 1 vbird vbird  8980 9月   8 16:39 examples.desktop
    -rw-r--r-- 1 root  root  71477 9月   9 16:03 find_cmd.txt
    -rw------- 1 vbird vbird    36 9月   9 13:55 .lesshst
    lrwxrwxrwx 1 root  root      4 9月   9 13:52 link -> /bin/
    -rw-r--r-- 1 vbird vbird   655 9月   8 16:39 .profile
    drwxrwxr-x 3 vbird vbird  4096 9月   9 16:16 test/
    -rw------- 1 vbird vbird   816 9月   9 16:05 .viminfo
    -rw------- 1 vbird vbird   169 9月   9 09:19 .Xauthority
    vbird@Ubuntu1604:~$ find ./ -name "*bash*"
    ./.bash_logout
    ./.bash_history
    ./.bashrc
    ./test/bash22

     2.查找当前目录下的链接文件

    vbird@Ubuntu1604:~$ ll
    total 132
    drwxr-xr-x 4 vbird vbird  4096 9月   9 16:05 ./
    drwxr-xr-x 5 root  root   4096 9月   8 16:39 ../
    -rw-rw-r-- 1 vbird vbird    11 9月   9 16:05 aa
    -rw------- 1 vbird vbird   739 9月   9 09:19 .bash_history
    -rw-r--r-- 1 vbird vbird   220 9月   8 16:39 .bash_logout
    -rw-r--r-- 1 vbird vbird  3771 9月   8 16:39 .bashrc
    drwx------ 2 vbird vbird  4096 9月   8 16:41 .cache/
    -rw-r--r-- 1 vbird vbird  8980 9月   8 16:39 examples.desktop
    -rw-r--r-- 1 root  root  71477 9月   9 16:03 find_cmd.txt
    -rw------- 1 vbird vbird    36 9月   9 13:55 .lesshst
    lrwxrwxrwx 1 root  root      4 9月   9 13:52 link -> /bin/
    -rw-r--r-- 1 vbird vbird   655 9月   8 16:39 .profile
    drwxrwxr-x 3 vbird vbird  4096 9月   9 16:19 test/
    -rw------- 1 vbird vbird   816 9月   9 16:05 .viminfo
    -rw------- 1 vbird vbird   169 9月   9 09:19 .Xauthority
    vbird@Ubuntu1604:~$ find ./ -type l
    ./link

     3.在当前目录下查找以a~g开头,后缀为txt的文件(涉及到正则表达式,后面学到再链接

    vbird@Ubuntu1604:~$ ll
    total 132
    drwxr-xr-x 4 vbird vbird  4096 9月   9 16:05 ./
    drwxr-xr-x 5 root  root   4096 9月   8 16:39 ../
    -rw-rw-r-- 1 vbird vbird    11 9月   9 16:05 aa
    -rw------- 1 vbird vbird   739 9月   9 09:19 .bash_history
    -rw-r--r-- 1 vbird vbird   220 9月   8 16:39 .bash_logout
    -rw-r--r-- 1 vbird vbird  3771 9月   8 16:39 .bashrc
    drwx------ 2 vbird vbird  4096 9月   8 16:41 .cache/
    -rw-r--r-- 1 vbird vbird  8980 9月   8 16:39 examples.desktop
    -rw-r--r-- 1 root  root  71477 9月   9 16:03 find_cmd.txt
    -rw------- 1 vbird vbird    36 9月   9 13:55 .lesshst
    lrwxrwxrwx 1 root  root      4 9月   9 13:52 link -> /bin/
    -rw-r--r-- 1 vbird vbird   655 9月   8 16:39 .profile
    drwxrwxr-x 3 vbird vbird  4096 9月   9 16:19 test/
    -rw------- 1 vbird vbird   816 9月   9 16:05 .viminfo
    -rw------- 1 vbird vbird   169 9月   9 09:19 .Xauthority
    vbird@Ubuntu1604:~$ find ./ -name "[a-g]*.txt"
    ./find_cmd.txt
    ./test/b.txt
    ./test/a.txt
    ./test/dir/d.txt
    ./test/dir/c.txt
  • 相关阅读:
    导入模块
    Windows x86-64下python的三个版本
    ubuntu 16.04 添加网卡
    重启rsyncd
    docker时区
    git回滚
    impdp and docker install oracleXE
    Oracle 把一个用户所有表的读权限授予另一个用户
    zabbix web监控
    WebStorm license server
  • 原文地址:https://www.cnblogs.com/hwli/p/9613987.html
Copyright © 2020-2023  润新知