个性化阅读
专注于IT技术分析

有用的Linux查找系统管理员命令

本文概述

find命令是Linux操作系统中使用最广泛的命令之一。

如果不知道find命令, 将很难管理Linux环境。

它可以帮助你搜索Linux服务器上的文件, 文件夹, 对于文件系统内务处理非常有用。

在本文中, 我列出了一些最常见的find命令语法, 以帮助你提高工作效率。

在特定文件系统上查找文件

如果你知道文件名和文件系统, 但不确定确切的文件夹路径, 则可以使用此语法。

在下面的示例中, 我正在/ var文件系统中搜索消息文件。

[[email protected] ~]# find /var -name messages
/var/log/messages
[[email protected] ~]#

提示:如果你不知道文件系统名称, 则可以在/级上进行搜索, 但是请注意, 如果文件系统数量很多, 可能会花费一些时间。

[[email protected] ~]# find / -name messages
/var/log/messages
[[email protected] ~]#

如果你不知道确切的文件名, 也可以使用通配符模式进行搜索。

例如-要搜索error_log, 你可以尝试

[[email protected] ~]# find / -name error_*
/var/log/httpd/error_log
[[email protected] ~]#

如何以小写或大写字母搜索文件名, 换句话说, 忽略大小写?

好了, 你可以使用–iname代替–name。

例如:

[[email protected] var]# find / -iname MESSAGES
/var/log/messages
[[email protected] var]#

让我们来看另一种实时场景。如果你知道文件类型并想要搜索所有文件。

例如, 如果你正在使用WebSphere, 则可能需要搜索所有以.out结尾的文件, 然后可以尝试

# find / -name *.out

根据所有权和权限查找文件

具有777权限的文件很危险, 因为任何人都可以编辑或删除, 因此, 作为系统管理员, 你可能需要进行扫描以查找任何具有777权限的文件。

例如-显示/ opt文件系统下所有具有777权限的文件。

[[email protected] ~]# find /opt/ -type f -perm 777
/opt/testing
/opt/SystemOut.log
[[email protected] ~]#

提示:在同一行命令中打印文件所有权和时间戳如何?

[[email protected] ~]# find /opt/ -type f -perm 777 -exec ls -ltr {} + ;
-rwxrwxrwx 1 root root 0 Jul 19 03:35 /opt/testing
-rwxrwxrwx 1 root root 0 Jul 19 03:36 /opt/SystemOut.log
[[email protected] ~]#

你也可以使用单个find命令语法将权限从777更改为755。

# find /opt/ -type f -perm 777 -exec chmod 755 {} + ;

显然, 你可以将权限从755调整为其他所需的权限。

如何查找由root或其他用户拥有的文件?

如果由于先前的启动是由root完成而在启动服务时遇到问题, 这将非常有帮助。

例如, 如果tomcat由名为” tomcatapp”的用户拥有, 并且由于某种原因, 你已从root开始。

猜猜下次使用” tomcatapp”重启时会发生什么?

这不是因为文件的某些所有权已更改为root, 现在” tomcatapp”无法修改/删除这些文件。因此, 在这种情况下, 这变得非常方便。

这是在特定文件系统中搜索root拥有的任何文件的方法。

# find /opt/ -user root

注意:在/级别上执行此find语法将产生大量文件/文件夹, 因此你可能希望通过在特定文件系统中执行此操作来进行控制。

查找早于特定日期的文件

文件系统内务对于生产支持至关重要, 通常你必须处理这种语法才能查找比60天更旧的日志。

以下示例是在/ opt文件系统中查找超过60天的access.log文件。

# find /opt/ -name access.log -mtime +60

提示:如果决定在同一命令行中查找和删除, 则可以执行以下操作。这将在/ opt文件系统中找到超过60天的access.log并将其删除。

# find /opt/ -name access.log -mtime +60 -exec rm {} + ;

尽管这非常方便, 但是你可能需要在删除文件之前列出它们。这样做

# find /opt/ -name access.log -mtime +60 -exec ls -ltr {} + ;

查找大文件

有时由于由于代码问题等原因应用程序正在写入大量日志, 你可能不得不处理频繁的文件系统清理。

让我们以在/ opt文件系统中搜索大于1 GB的文件为例。

# find /opt/ -size +1G

提示:如果你知道/ opt /中超过1 GB的所有文件都可以删除, 则只需在同一行中查找和删除即可。

# find /opt/ -size +1G -exec rm {} + ;

我希望上述查找命令对你有所帮助, 并能为你提供实时帮助。

要了解有关Linux命令的更多信息, 请查看此在线课程。

赞(0)
未经允许不得转载:srcmini » 有用的Linux查找系统管理员命令

评论 抢沙发

评论前必须登录!