Linux虚拟机搜索文件/文件夹

本文介绍了在Linux系统中查找文件和文件夹的四种实用方法:find命令、locate命令、which命令和whereis命令。find命令可以根据多种条件搜索,如文件名、类型和大小;locate命令通过预构建的数据库快速定位文件,速度较快;which命令用于查找可执行文件的路径;whereis命令则主要查找命令的相关文件,如二进制、源码和手册页。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一、背景

二、方法一:使用 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 教程 | 菜鸟教程

### 虚拟机配置文件重命名方法 对于虚拟机配置文件的重命名操作,需谨慎执行以防止影响虚拟机的正常使用。通常情况下,不同类型的虚拟化软件有着不同的配置文件结构和命名规则。 #### VMware Workstation 配置文件重命名 针对VMware Workstation中的.vmx文件(即主要配置文件),应当先关闭目标虚拟机并停止任何可能正在运行的服务或进程[^1]。接着按照如下方式安全地更改名称: - 将整个虚拟机所在的文件夹路径下的所有关联文件一同迁移至新的位置或者统一更改为一致的新前缀。 - 修改`.vmx`文件内的绝对路径设置项为相对路径可以提高移植性和兼容性。 - 使用文本编辑工具打开该配置文件,查找并替换其中涉及旧文件名的部分,确保每处提及都得到更新。 ```bash # 假设原始名为oldname.vmx,新名为newname.vmx sed -i 's/oldname/newname/g' newname.vmx ``` 此命令用于批量替换配置文件内部字符串,适用于Linux环境;而在Windows环境下则可借助Notepad++等高级文本编辑器来实现相同功能。 #### VirtualBox 配置文件重命名 VirtualBox采用的是单个XML格式的全局配置文件以及每个虚拟机对应的VBOX描述文件。要改变这些文件的名字同样需要遵循特定流程: - 关闭待处理的虚拟机实例及其快照链上的每一个环节; - 复制整套相关联的数据集到临时存储空间作为备份预防意外发生; - 对选定的目标文件实施改名动作之前务必确认已断开网络连接以防同步冲突; - 更新注册表记录——通过图形界面管理程序中移除现有条目后再重新导入调整过后的版本[^2]。 ```powershell # PowerShell脚本示例:假设原名为OldName.vbox, 新名为NewName.vbox Rename-Item "C:\Path\To\VMS\OldName.vbox" "NewName.vbox" Set-Location "C:\Program Files\Oracle\VirtualBox" .\VBoxManage.exe setextradata NewName-vdi GUI/LastWindowPosition 0,0,800,600 ``` 上述PowerShell代码片段展示了如何利用命令行工具辅助完成部分任务,特别是当面对大量相似对象时能显著提升效率。 #### Microsoft Hyper-V 配置文件重命名 Hyper-V环境中涉及到的主要配置信息保存于多个地方,包括但不限于SCVMM数据库、主机本地磁盘上的XML文档等形式。具体步骤如下所示: - 终止计划外活动并将机器置于维护模式下减少干扰因素; - 导出当前状态形成独立副本存档留作日后恢复之用; - 编辑对应资源池定义里的属性字段使之匹配最新的标识符体系; - 执行必要的服务重启使改动生效同时验证一切运作良好无误[^3]。 ```cmd # CMD批处理指令举例说明:这里仅展示概念性的框架而非确切语法细节 net stop vmms /y ren C:\ClusterStorage\Volume1\OriginalConfig.xml UpdatedConfig.xml net start vmms ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值