• Linunx搜索,查找类


    1.Linux find 命令

    Linux find 命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则 find 命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。

    按文件名查找:

    例如:查找服务器上所有名为hello.txt的文件:

    ──(root㉿kali)-[~]
    └─# find / -name hello.txt    
    /root/Desktop/asd/hello.txt
    
    • 1
    • 2
    • 3

    按拥有者:

    查找桌面上所有root用户的文件:

    ┌──(root㉿kali)-[~]
    └─# find Desktop -user root 
    Desktop
    Desktop/asd
    Desktop/asd/hello.txt
    
    • 1
    • 2
    • 3
    • 4
    • 5

    按文件大小:

    查找整个系统大小大于200M的文件:

    ┌──(root㉿kali)-[~]
    └─# find / -size +200M      
    /proc/kcore
    find: ‘/proc/15889/task/15889/fd/5’: No such file or directory
    find: ‘/proc/15889/task/15889/fdinfo/5’: No such file or directory
    find: ‘/proc/15889/fd/6’: No such file or directory
    find: ‘/proc/15889/fdinfo/6’: No such file or directory
    /swapfile
    /usr/share/burpsuite/burpsuite.jar
    /var/cache/apt/archives/burpsuite_2022.8.4-0kali1_amd64.deb
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    2.Linux locate命令

    Linux locate命令用于查找符合条件的文档,他会去保存文档和目录名称的数据库内,查找合乎范本样式条件的文档或目录。

    一般情况我们只需要输入 locate your_file_name 即可查找指定文件。

    locate是在数据库中查找文件,速度要比find快很多🍎

    使用locate命令检索文件之前,首先应该创建一个locate数据库:

    ┌──(root㉿kali)-[~]
    └─# updatedb
    
    • 1
    • 2

    使用locate命令检索hello.txt文件,速度很快:

    ┌──(root㉿kali)-[~]
    └─# locate hello.txt
    /root/Desktop/asd/hello.txt
    
    • 1
    • 2
    • 3

    3.Linux which指令

    Linux which命令一般用于查找某个指令所在的文件夹

    例如:我们想知道reboot指令在那个文件夹下:

    ┌──(root㉿kali)-[~]
    └─# which reboot
    /usr/sbin/reboot
    
    • 1
    • 2
    • 3

    4.Linux grep 命令

    Linux grep 命令用于查找文件里符合条件的字符串。

    grep 指令用于查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样式,预设 grep 指令会把含有范本样式的那一列显示出来。若不指定任何文件名称,或是所给予的文件名为 -,则 grep 指令会从标准输入设备读取数据。

    例如:显示文件中包含local的内容的行号并且显示内容:

    ┌──(root㉿kali)-[~]
    └─# cat /etc/profile | grep -n "local"
    5:  PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
    7:  PATH="/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games"
    
    • 1
    • 2
    • 3
    • 4

    或者这样写:

    ┌──(root㉿kali)-[~]
    └─# grep -n "local" /etc/profile      
    5:  PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
    7:  PATH="/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games"
    
    • 1
    • 2
    • 3
    • 4

    或者,也可以设置不区分大小写的写法,加入参数i即可:

    ┌──(root㉿kali)-[~]
    └─# grep -ni "local" /etc/profile
    5:  PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
    7:  PATH="/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games"
    
    • 1
    • 2
    • 3
    • 4
  • 相关阅读:
    LiveData源码分析
    一份详实的 Scrapy 爬虫教程,从原理到实战
    PyTorch搭建LSTM实现服装分类(FashionMNIST)
    开始学习React——跟着官网做井字棋
    第十一章 将对象映射到 XML - 控制流属性的映射形式
    47. 从零开始学springboot: spel结合redisson实现动态参数分布式锁
    jdk 8-future 异步处理-轮询isDone判断完成-springBoot示例
    三大范式,ER图,外键,视图,索引,触发器
    SMART 200PLC S型速度曲线应用(梯形图)
    C. Swap Letters
  • 原文地址:https://blog.csdn.net/Gherbirthday0916/article/details/126842755