1.Linux find 命令
Linux find 命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则 find 命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。
按文件名查找:
例如:查找服务器上所有名为hello.txt的文件:
──(root㉿kali)-[~] └─# find / -name hello.txt /root/Desktop/asd/hello.txt
按拥有者:
查找桌面上所有root用户的文件:
┌──(root㉿kali)-[~] └─# find Desktop -user root Desktop Desktop/asd Desktop/asd/hello.txt
按文件大小:
查找整个系统大小大于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
2.Linux locate命令
Linux locate命令用于查找符合条件的文档,他会去保存文档和目录名称的数据库内,查找合乎范本样式条件的文档或目录。
一般情况我们只需要输入 locate your_file_name 即可查找指定文件。
locate是在数据库中查找文件,速度要比find快很多👌
使用locate命令检索文件之前,首先应该创建一个locate数据库:
┌──(root㉿kali)-[~] └─# updatedb
使用locate命令检索hello.txt文件,速度很快:
┌──(root㉿kali)-[~] └─# locate hello.txt /root/Desktop/asd/hello.txt
3.Linux which指令
Linux which命令一般用于查找某个指令所在的文件夹
例如:我们想知道reboot指令在那个文件夹下:
┌──(root㉿kali)-[~] └─# which reboot /usr/sbin/reboot
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"
或者这样写:
┌──(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"
或者,也可以设置不区分大小写的写法,加入参数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"