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

Linux下如何使用命令查找文件

时间:2023-03-14 13:36:44 科技观察

在Linux下使用简单的命令可以根据类型、内容等快速查找文件。如果您是没有经验的Windows或OSX用户,您可能会使用GUI来查找文件。您可能还会发现界面受限和/或令人沮丧,并且已经学会了组织文件并记住它们的确切顺序。您也可以在Linux中执行此操作——但您不必这样做。Linux的优点之一是它提供了多种实现它的方法。您可以打开任何文件管理器或按Ctrl+F,也可以使用程序手动打开文件,或者您可以开始输入字母,它会过滤当前目录列表。在Linux中使用Ctrl+F查找文件的屏幕截图但是如果您不知道文件在哪里并且不想搜索整个磁盘怎么办?对于这种情况和其他各种情况,Linux都很棒。通过命令名称查找程序位置如果您习惯于将文件放在任何您想要的地方,Linux文件系统可能会让人望而生畏。对我来说最难习惯的事情之一就是找出程序在哪里。例如,whichbash通常会返回/bin/bash,但是如果您下载了一个程序但它没有出现在您的菜单中,那么which命令就是一个很好的工具。一个类似的工具是locate命令,我发现它对定位配置文件很有用。我不喜欢输入程序名称,因为像locatephp这样的简单程序通常会给出很多需要进一步过滤的结果。有关locate和which的更多信息,请参阅手册页:manwhichmanlocatefind查找工具提供了更多高级功能。以下是我在许多服务器上安装的脚本示例,我使用它来确保具有特定模式(也称为globs)的文件仅存在五天,并且删除所有早于该模式的文件。(分数用于自上次修改后最多保持240分钟的偏差)find./backup/core-files*.tar.gz-mtime+4.9-execrm{}\;查找工具有许多高级用途,但最常见的是在结果上执行命令而不链接到按类型、创建日期、修改日期过滤文件。find的另一个有趣用途是查找所有具有可执行权限的文件。这有助于确保没有人在您昂贵的服务器上安装比特币矿工或僵尸网络。find/-perm/+x有关find的更多信息,请使用manfind参考手册页。grep想按内容查找文件?Linux已经实现了。您可以使用许多Linux工具来有效地搜索与模式匹配的文件,但grep是我经常使用的工具。假设您有一个程序发布带有代码引用和堆栈跟踪的错误消息。您将在日志中找到这些。grep并不总是可行的方法,但如果文件是给定值,我经常使用grep-R。越来越多的IDE正在实现搜索功能,但是如果您正在访问远程系统或出于某种原因没有GUI,或者如果您想在当前目录中递归搜索,请使用:grep-R{searchterm}或在支持的egrep别名中在具有正则表达式的系统上,只需将-e标志添加到命令egrep-r{regex-pattern}。我去年在给Raspbian打dhcpcd5补丁的时候就用到了这个技术,这样在RaspberryPiFoundation发布新的Debian的时候我可以继续操作网络接入点。哪些技巧可以帮助您在Linux上更有效地搜索文件?