问题描述
试图找到一个文件,我如何搜索整个硬盘驱动器的文件?
最佳解决方法
如果你知道确切的文件名,一个简单的find / -type f -name ""
可以做到这一点。
find / -type f -iname "filename*"
如果你想匹配更多的文件。
如果要搜索目录等,请避免使用-type
选项。有关详细信息,请参阅find的手册。要查看手册,请发出以下命令:
man find
次佳解决方法
您也可以使用locate
查找命令。为什么人们使用定位如果找到工作?因为定位比查找要快得多,因为它只是搜索索引位置的数据库来查找文件/正则表达式。
例子:
locate some-file.avi
在磁盘上几乎每个文件的数据库中搜索名为”some-file.avi”的文件。
locate -i "some-file.avi"
将忽略您正在搜索的文件的情况。
locate -i "*.txt"
将在您的系统上显示所有带有** .txt *扩展名的文件的位置列表。
man locate
有关文件的更多信息。
您可能需要首先运行updatedb
以确保索引数据库是最新的,否则’locate’可能不会返回您正在查找的内容。
第三种解决方法
首先点击启动器中的”Home Folder”图标。
在打开的窗口中,单击”Search”。
在框中输入你想要搜索的内容,然后按回车键。
在位置下拉列表中,选择您的硬盘,然后点击重新加载。
结果将被显示。希望有所帮助!
第四种方法
如果你正在寻找一个文件内的字符串,你可以使用grep。这里有一个示例命令:
grep -r -i "some string" /home/yourusername
这会在/home/yourusername
目录中找到"some string"
。搜索将忽略大小写(-i
)和递归目录(-r
)。您可以使用/
作为在整个目录中搜索的目录,但这可能不是非常有效。
第五种方法
在Ubuntu上,我知道每个人都希望在任何时候都使用命令行,而且我过去一直这样,但我喜欢Gnome“搜索文件…”工具。我认为它很棒。
第六种方法
对于桌面设置,安装”gnome-search-tool” sudo apt-get install gnome-search-tool
不要将其安装在服务器上,它也会安装Ubuntu桌面软件包。感谢@Rinzwind指出了这一点。
过滤器:
-
选择你想要搜索的文件夹。在这种情况下,
\
-
包含文本 – 这是文件名。
-
修改日期 – 少于或多于天数。
-
文件大小 – 至少或最多指定的大小。您也可以搜索空文件。
-
文件所有者 – 用户,组或无法识别的所有者。
-
正则表达式 – 匹配正则表达式。
-
您可以选择显示隐藏文件,遵循符号链接或排除其他文件系统。