linux文件查找命令

从终端在Linux系统上搜索或查找文件可能是一个小挑战,特别是对于新手。但是,有几种用于在Linux中定位文件的命令行工具/实用程序。 快速在终端下面查找搜索文件是一个优秀程序员必备的能力。

1. Find命令

find命令是功能强大且广泛使用的CLI工具,用于在目录层次结构中搜索和查找名称与简单模式匹配的文件。使用find很简单,您所要做的就是提供一个搜索存在的起点(目录层次结构的顶部)。该目录可以是当前目录,也可以是您怀疑要查找的文件存储在任何其他目录中。

# 在当前目录下查找
find . -name port.txt

#查找忽略大小写
find /home -iname port.txt

#查找目录
find / -type d -name Tech

2. Locate命令

定位命令是另一个常用的CLI实用程序,用于按名称快速搜索文件,就像查找命令一样。
但是,与之相比,它实际上更高效,更快,因为,当用户启动文件搜索操作(查找工作的方式)时,而不是通过文件系统进行搜索,而是查找包含文件的部分和部分及其内容的数据库的查询。
文件系统上的相应路径。
可以使用updatedb命令准备和更新该数据库。
请注意,locate将不会报告在相关数据库的最新更新之后创建的文件。

locate port.txt

3. Grep命令

尽管grep命令不是直接搜索文件的工具(而是用来打印与一个或多个文件中的模式匹配的行的工具),但是您可以使用它来查找文件。
假设您知道要查找的文件中的短语,或者正在查找包含特定字符字符串的文件,则grep可以帮助您列出包含特定短语的所有文件。

grep -nr 'tech' .

4. which和whereis

where和whereis都可以用来查找一个可执行命令的路径

which php
whereis php

5.ack(高效的查找)

Ack旨在替代grep的99%的使用。
Ack搜索命名的输入文件(如果没有命名文件或给出文件名,则为标准输入)以查找包含与给定PATTERN匹配的行。
默认情况下,ack打印匹配的行。
Ack还可以列出要搜索的文件,而无需实际搜索它们,从而使您可以利用ack的文件类型过滤功能。

# install
sudo apt-get update
sudo apt-get install ack-grep
#查找
ack -w --python -B 5 restrict
2019年最差的100个密码
Linux端口