种方法来在Linux电脑上查找文件"/>
3种方法来在Linux电脑上查找文件
3种方法来在Linux电脑上查找文件
如果你不太了解Linux命令,那么在Linux系统里查找文件是比较困难的。只要使用多种不同的终端命令,可以很快地找到文件。Linux命令比其它操作系统的搜索功能更加强大,掌握这些命令就能你完全控制这些文件。
1
根据文件名搜索文件。 find命令是最基础和常用的搜索命令。它可以在当前路径和任意子目录中搜索文件。 [1]
find -iname "文件名"
- 用-iname来代替-name,忽略文件名的大小写。-name命令区分大小写。
find / -iname "文件名"
- 用具体的目录路径来代替/,可以搜索特定路径里的文件,如/home/pat。
- 你可以用.来代替/,这样就能在当前路径和子目录下强制搜索文件。
find /home/pat -iname "*.conf"
- 这样会在“Pat”用户文件夹(所有子目录)中找到所有.conf文件。
- 你也可以用它来查找所有匹配部分文件名的文件。例如,如果你有很多wikiHow相关的文档,可以输入"*wiki*"来找到它们。
find /home/pat -iname "*.conf" | less5 找到特定类型的结果。你可以使用修饰符来返回特定类型的结果。你可以使用 f搜索常规文件,用 d搜索路径,用 l搜索符号链接文件,用 c搜索字符设备,用 b屏蔽设备。
find / -type f -iname "文件名"
6
根据大小过滤搜索结果。如果很多文件的名称相似,但是你知道目标文件的大小,可以使用文件大小进行过滤。
find / -size +50M -iname "文件名"
- 上述命令会返回大于等于50MB的文件。你可以使用+或-来搜索更大或更小的文件。如果没有加+或-字符,就会只搜索特定大小的文件。
- 你可以使用字节(c)、千字节(k)、兆字节(M)、千兆字节(G)或512字节块(b)来进行筛选。记住,这些文件大小命令是区分大小写的。
find /travelphotos -type f -size +200k -not -iname "*2015*"
- 这个命令会在“travelphotos”目录里查找大于200KB,文件名里不包含“2015”的所有文件。
8 根据用户或权限搜索文件。如果你想要查找特定用户的文件,或是带有特定权限的文件,可以根据此来缩窄搜索条件。
find / -user pat -iname "文件名" find / -group users -iname "文件名" find / -perm 777 -iname "文件名"
- 以上命令会搜索特定用户、群组或权限的文件。你可以忽略文件名,返回所有匹配条件的文件。如:find / -perm 777会返回所有带有777权限的文件(无限制条件)。[3]
9 将执行命令整合到搜索文件中。你可以将 find命令和其它命令整合到一起,这样在返回搜索结果时,执行命令。用 -exec来隔开 find命令和第二个命令,然后结尾用 {} \;字符。
find . -type f -perm 777 -exec chmod 755 {} \;
- 这样会在当前路径和所有子目录里搜索带有777权限的文件。找到文件后,chmod命令会将权限更改为755。
1 安装.locate 功能。 由于 locate命令能够读取数据库文件的结构,所以,它通常比 find命令速度更快。但是,不是所有版本的Linux系统都安装了 locate功能,你可能需要输入以下命令来安装它:
- 输入sudo apt-get update,按下回车键。
- 你可以在“Debian”和乌班图系统里安装它:输入sudo apt-get install mlocate,按下回车键。如果已经安装了locate,那么会看到mlocate is already the newest version的信息。
- 在“Arch Linux”系统里,使用“pacman”安装包管理器:pacman -Syu mlocate
- 在“Gentoo”系统里,使用“emerge”:emerge mlocate
2 更新.locate 数据库。 除非建立并更新数据库,否则 locate命令无法找到任何内容。一般来说,系统每天会自动更新数据库,但是你也可以手动更新它。如果你想要立刻使用 locate命令,那就需要手动更新。 [4]
- 输入sudo updatedb,按下回车键。
3 使用.locate 命令进行简单的搜索。 locate命令的运行速度很快,但是没有 find命令那么多选项。你可以用它来执行简单的文件搜索,基本的搜索方式与 find命令相同。
locate -i "*.jpg"
- 这个命令会搜索整个系统,找到带.jpg后缀的文件。通配符*与find命令里的通配符功能一致。
- 跟find命令类似,-i会忽略搜索条件里的大小写。
4 限制搜索条件。如果返回过多搜索结果,处理不过来,你可以使用 -n选项来限制搜索。在选项里输入数字,就会限制出现的搜索结果数量。
locate -n 20 -i "*.jpg"
- 只显示匹配搜索条件的前20个结果。
- 你也可以使用" | "来将结果发送到less程序。
posted @ 2018-12-28 20:42 独爱米粒 阅读( ...) 评论( ...) 编辑 收藏
更多推荐
3种方法来在Linux电脑上查找文件
发布评论