当前位置: 首页 > 科技观察

在Linux中搜索文件和文件夹的四种简单方法

时间:2023-03-15 11:08:57 科技观察

Linux管理员不能一天不搜索文件,因为这是他们的日常活动。了解一些有关搜索的知识是很好的,因为它可以帮助您在命令行服务器中工作。这些命令很容易记住,因为它们使用标准语法。有四个Linux命令可以执行此操作,每个命令都有自己独特的功能。方法一:使用find命令在Linux中搜索文件和文件夹find命令是Linux中用于搜索文件和文件夹的广泛使用和众所周知的命令。它在当前目录中搜索给定文件,并根据搜索条件递归遍历其子目录。它允许用户根据大小、名称、所有者、组、类型、权限、日期和其他标准执行所有类型的文件搜索。运行以下命令在系统中查找给定文件。#find/-iname"sshd_config"/etc/ssh/sshd_config运行以下命令在系统中查找给定的文件夹。要在Linux中搜索文件夹,我们需要使用-type参数。#find/-typed-iname"ssh"/usr/lib/ssh/usr/lib/go/src/cmd/vendor/golang.org/x/crypto/ssh/usr/lib/go/pkg/linux_amd64/cmd/vendor/golang.org/x/crypto/ssh/etc/ssh使用通配符搜索系统上的所有文件。我们将搜索系统上所有扩展名为.config的文件。#find/-name"*.config"/usr/lib/mono/gac/avahi-sharp/1.0.0.0__4d116c78973743f5/avahi-sharp.dll.config/usr/lib/mono/gac/avahi-ui-sharp/0.0.0.0__4d116c78973743f5/avahi-ui-sharp.dll.config/usr/lib/python2.7/config/Setup.config/usr/share/git/mw-to-git/t/test.config/var/lib/lightdm/.config/home/daygeek/.config/root/.config/etc/skel/.config使用以下命令格式查找系统中的空文件和文件夹。#find/-empty使用以下命令组合查找Linux上包含特定文本的所有文件。#find/-typef-execgrep"Port22"'{}'\;-print#查找/-typef-print|xargsgrep"端口22"#find/-typef|xargsgrep'Port22'#find/-typef-execgrep-H'Port22'{}\;方法二:在Linux中使用locate命令搜索文件和文件夹locate命令比find命令运行速度更快,因为它使用updatedb数据库,而find命令在真实系统中搜索。它使用数据库而不是搜索给定文件的单个目录路径。大多数发行版中都没有预安装locate命令,因此请使用您的包管理器来安装它。数据库通过cron作业定期更新,但我们可以通过运行以下命令手动更新它。$sudoupdatedb只需运行以下命令即可列出给定的文件或文件夹。无需在locate命令中指定特定选项即可打印文件或文件夹。在系统中搜索ssh文件夹。#locate--basename'\ssh'/etc/ssh/usr/bin/ssh/usr/lib/ssh/usr/lib/go/pkg/linux_amd64/cmd/vendor/golang.org/x/crypto/ssh/usr/lib/go/src/cmd/go/testdata/failssh/ssh/usr/lib/go/src/cmd/vendor/golang.org/x/crypto/ssh在系统中搜索ssh_config文件。#locate--basename'\sshd_config'/etc/ssh/sshd_config方法3:在Linux中搜索文件使用which命令返回在终端中输入命令时执行的可执行文件的完整路径。当您想要创建桌面快捷方式或指向可执行文件的符号链接时,它很有用。which命令搜索当前用户的$PATH环境变量中列出的目录,而不是所有用户。我的意思是,当您登录到自己的帐户时,您无法搜索根用户文件或目录。运行以下命令打印vim可执行文件的完整路径。#whichvi/usr/bin/vi或者,它允许用户一次执行多个文件搜索。#which-avisudo/usr/bin/vi/bin/vi/usr/bin/sudo/bin/sudo方法四:在Linux中使用whereis命令搜索文件whereis命令用于搜索二进制、源码和手册页文件。#whereisvivi:/usr/bin/vi/usr/share/man/man1/vi.1p.gz/usr/share/man/man1/vi.1.gz