如何在 Linux 中查找文件

在 Linux 上定位文件非常重要。
可以使用命令行工具来完成。
让我简单解释一下。

哪些命令更容易使用?例如,如果您想查找 bash 的位置,请输入“which bash”。
一旦按下 Enter 键,/bin/bash 就会出现在屏幕上。
那是直接的。
该命令专门搜索可执行程序并使其在安装后即可使用。

locate 命令也有效。
但首先我们需要一个数据库。
如果没有数据库,事情就会很慢。
您必须使用 root 权限进行更新并输入“sudo Updatedb”。
完成后,找到包含 php 的文件名并输入locate php。
立即列出所有包含 php.ini 的文件适合搜索配置文件等。

find命令功能最强大。
很多功能。
键入 find 以查找当前目录中的所有 .tar.gz 文件。
-名称“.tar.gz”。
按 Enter 键后,该列表就会出现。
如果要按时间搜索,例如删除 5 天前的备份,请输入 find ./backup -name "core-files.tar.gz" -mtime +4 mtime 以天为单位计算。
要查找最近 3 0 分钟内修改的文件,请键入 find /var/log -mmin -3 0。
mmin 以分钟为单位计算。

想要按文件类型搜索?使用 -type 参数。
键入 find /home -type d 以搜索所有目录。
要查找可执行文件,请键入“find / -perm +x”。
这将帮助您检查是否存在任何恶意程序。

您还可以找到组合条件。
例如,要在 /tmp 中查找大于 1 0 MB 的 .log 文件,请键入 find /tmp -name ".log" -size +1 0M。
结果将直接显示。

还有一个 grep 命令。
这是为了搜索文件的内容。
要查找当前目录和子目录中所有有错误的文件,请输入 grep -R "error"。
这可以递归地找到。
要使用正则表达式搜索 IP 地址,请输入 grep -R -e "b[0-9 ]{1 ,3 }\.[0-9 ]{1 ,3 }\.[0-9 ]{1 ,3 }\.[0-9 ]{1 ,3 }b" /etc/。
这是完全匹配。
如果不区分大小写,请添加 -i 参数并输入 grep -Ri "warning" /var/log/。

只想查看文件名?添加 -l 参数并输入:grep -Rl "TODO" ~/projects/。
仅显示文件名,不显示文件内容。

还有一个有用的图形界面。
在文件管理器中按Ctrl+F可搜索当前目录下的文件。
桌面环境(例如 GNOME 的 Tracker 和 KDE 的 Baloo)可以全局索引文件内容。
但是,您需要先做好准备。

您还可以使用管道字符 |。
例如,要先运行 find,然后运行 ​​grep,请键入 find /usr/bin -name "ssh" | grep -v“密钥”。
只需使用 ssh 即可在 /usr/bin 中查找文件,无需密钥。

您还可以排除目录。
grep -R --exclude-dir=node_modules“模式”输入搜索时忽略node_modules目录。

您还可以控制搜索的深度。
键入查找。
-最大深度 2 -名称“.conf”。
只需搜索当前目录和下一级目录即可。

您想了解更多有关如何使用它的信息吗?输入“man find”、“man grep”、“man Look”。
我刚看了说明书。

反正工具这么多,find和grep足够日常使用了。
使用locate可以快速定位已知文件。
图形界面适合不熟悉命令行的人。

linux查看文件按时间顺序

上周尝试过 ls -lt 。

它很容易使用。

直接查看最新文件。

我的朋友使用 ls-ltr。

他喜欢看旧文件。

ls-lu 基于访问时间。

有时它更有用。

时间因 ls-lc 功能而异。

不太常用。

也可以使用查找命令。

查找/路径/到/目录类型f-printf"%T@%pn"|sort-n。

这将获取所有文件。

按时间戳排序。

查找/path/to/directory-typef-mtime-1 -ls|sort-k8
它查找最近一天更改的文件。

非常方便。

状态命令也有效。

stat -c"%Y%n"/path/to/directory/|sort-rn.
它显示时间戳和文件名。

按时间倒序排列。

ll 是命令 ls-l 的别名。

按日期从最新到最旧。

按日期从最早到最新。

这些命令需要权限。

未经许可,决不可以。

对大型目录使用管道和分页。

或多或少喜欢。

否则信息太多。

算了。