目录

一、背景

二、方法一:使用 find 命令在 Linux 中搜索文件和文件夹

三、方法 二:使用 locate 命令在 Linux 中搜索文件和文件夹

四、方法 三:在 Linux 中搜索文件使用 which 命令

五、方法 四:使用 whereis 命令在 Linux 中搜索文件

六、参考文献


一、背景

作为程序猿,是离不开虚拟机操作的,比如磁盘爆了,但是你又不知道logs日志路径咋办,只能通过一些命令查找,因此将虚拟机搜索文件/文件夹的一些方式总结如下:

二、方法一:使用 find 命令在 Linux 中搜索文件和文件夹

find 命令被广泛使用,并且是在 Linux 中搜索文件和文件夹的著名命令。它搜索当前目录中的给定文件,并根据搜索条件递归遍历其子目录。

它允许用户根据大小、名称、所有者、组、类型、权限、日期和其他条件执行所有类型的文件搜索。

语法:

find   path   -option   [   -print ]   [ -exec   -ok   command ]   {} \;

以下是常用命令:

1) 运行以下命令以在系统中查找给定文件。

[root@sz-snowriver-app01 ~]# find / -iname "my.cnf"
/etc/my.cnf

2) 运行以下命令以查找系统中的给定文件夹

[root@sz-snowriver-app01 ~]# find / -type d -iname 'mysql'
/usr/local/mysql
/usr/local/mysql/include/mysql
/usr/local/mysql/data/mysql
/etc/selinux/targeted/active/modules/100/mysql
/data/mysql

3)使用通配符搜索系统上的所有文件。我们将搜索系统中所有以 .config 为扩展名的文件

[root@sz-snowriver-app01 ~]# find / -name "*.config"
/usr/local/aegis/PythonLoader/lib/python2.7/config/Setup.config

4)使用以下命令格式在系统中查找空文件和文件夹

# find / -empty

备注:该命令不要随便用,因为根目录下空文件太多了,所以最好加上路径,如下:

[root@sz-snowriver-app01 ~]# find /usr/local/mysql/ -empty
/usr/local/mysql/data/mysql/columns_priv.MYD
/usr/local/mysql/data/mysql/event.MYD
/usr/local/mysql/data/mysql/ndb_binlog_index.MYD
/usr/local/mysql/data/mysql/slow_log.CSV
/usr/local/mysql/data/mysql/general_log.CSV
/usr/local/mysql/data/mysql/procs_priv.MYD
/usr/local/mysql/data/mysql/func.MYD

三、方法 二:使用 locate 命令在 Linux 中搜索文件和文件夹

locate 命令比 find 命令运行得更快,因为它使用 updatedb 数据库,而 find 命令在真实系统中搜索。

它使用数据库而不是搜索单个目录路径来获取给定文件。

locate 命令未在大多数发行版中预安装,因此,请使用你的包管理器进行安装

1) locate命令安装

# yum install mlocate
# updated

2)在系统中搜索 ssh 文件夹

[root@sz-snowriver-app01 ~]# locate --basename 'ssh'
/etc/ssh
/etc/pam.d/sshd
/etc/selinux/targeted/active/modules/100/rssh
/etc/selinux/targeted/active/modules/100/ssh
.....

3)在系统中搜索 ssh_config 文件

[root@sz-snowriver-app01 ~]#  locate --basename 'sshd_config'
/etc/ssh/sshd_config
/usr/share/man/man5/sshd_config.5.gz

四、方法 三:在 Linux 中搜索文件使用 which 命令

which 返回在终端输入命令时执行的可执行文件的完整路径。

当你想要为可执行文件创建桌面快捷方式或符号链接时,它非常有用。

1)运行以下命令以打印 vim 可执行文件的完整路径

[root@sz-snowriver-app01 ~]# which vi
/usr/bin/vi

2)它允许用户一次执行多个文件搜索

[root@sz-snowriver-app01 ~]#  which -a vi sudo
/usr/bin/vi
/usr/bin/sudo

五、方法 四:使用 whereis 命令在 Linux 中搜索文件

whereis 命令用于搜索给定命令的二进制、源码和手册页文件

[root@sz-snowriver-app01 ~]# whereis vi
vi: /usr/bin/vi /usr/share/man/man1/vi.1.gz
[root@sz-snowriver-app01 ~]# whereis -b bash   # 显示bash 命令的二进制程序 
bash: /usr/bin/bash                            # bash命令的二进制程序的地址
[root@sz-snowriver-app01 ~]# whereis -m bash   # 显示bash 命令的帮助文件
bash: /usr/share/man/man1/bash.1.gz            # bash命令的帮助文件地址 

六、参考文献

1、搜索 Linux 中的文件和文件夹的四种简单方法 | Linux 中国 
https://www.sohu.com/a/283954817_819009

2、Linux教程

Linux 教程 | 菜鸟教程

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐