• 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
  • 相关阅读:
    优盘格式化了怎么恢复里面的数据?
    深入理解Spring Boot AOP:CGLIB代理与JDK动态代理的完全指南
    研发运营一体化(DevOps)能力成熟度模型
    使用jdbc技术连接数据库
    TG Pro for Mac强大的硬件温度检测、风扇控制工具测评
    MongoDB数据库网站网页实例-编程语言Python+Django
    深度学习中的分类和回归(1)
    基于Leaflet 和 PostGIS 的服务端 Web GIS 应用程序开发教程
    人工智能论文GPT-3(1):2020.5 Language Models are Few-Shot Learners;摘要;引言;scaling-law
    【Codeforces Round #806 (Div. 4)(A~F)】
  • 原文地址:https://blog.csdn.net/Gherbirthday0916/article/details/126842755