Linux如何快速重命名文件与目录?

基础命令:mv(移动/重命名)

mv命令是最直接的重命名工具,语法为:

mv [选项] 旧名称 新名称

常见场景示例

  1. 重命名文件

    mv old_file.txt new_file.txt
  2. 重命名目录

    mv old_dir/ new_dir/
  3. 覆盖防护(避免误覆盖同名文件)

    mv -i old.txt new.txt  # 若new.txt存在,会提示确认
  4. 备份覆盖(自动保留原文件)

    mv -b file1.txt file2.txt  # 若file2.txt存在,备份为file2.txt~

批量重命名:rename命令

适用于按规则批量修改文件名(支持正则表达式)。
安装(部分系统需手动安装):

sudo apt install rename  # Debian/Ubuntu
sudo yum install prename # CentOS/RHEL

批量操作示例

  1. 替换所有.txt文件中的”old”为”new”

    rename 's/old/new/' *.txt
  2. 统一添加前缀

    rename 's/^/prefix_/' *.jpg  # 所有.jpg文件添加prefix_
  3. 大小写转换

    rename 'y/A-Z/a-z/' *  # 所有文件名转为小写

图形界面方案

  1. 文件管理器

    • 右键点击文件 → 选择“重命名”(或按F2键)。
    • 支持批量选择文件后统一重命名(如Nautilus、Dolphin)。
  2. 专用工具

    • Thunar文件管理器:内置批量重命名工具(Ctrl+R)。
    • GPrename:高级批量重名工具,支持正则、序列化等。

高级批量处理技巧

使用for循环(Bash脚本)

for file in *.log; do
    mv "$file" "archive_${file}"  # 所有.log文件添加archive_前缀
done

mmv工具(模式匹配批量重命名)

安装:sudo apt install mmv
示例:

mmv "*.old" "#1.new"  # 将a.old → a.new

注意事项

  1. 权限问题

    • 若提示Permission denied,使用sudo提权(需谨慎)或检查文件所有权:
      ls -l 文件名  # 查看权限
      chmod 755 文件名  # 修改权限(示例)
  2. 防覆盖机制

    • 使用mv -n禁止覆盖(-n选项在部分Linux版本中可用)。
    • 建议先备份:cp -r dir/ dir_backup/
  3. 特殊字符处理

    • 文件名含空格时用引号包裹:mv "old name.txt" "new name.txt"
    • 转义特殊符号(如、):mv file\$.txt new.txt
  4. 操作前验证

    • 批量命令先用echo测试:
      rename -n 's/old/new/' *  # 显示变更效果但不执行

适用场景推荐

需求 推荐工具
单文件/目录 mv
简单批量替换 rename
复杂规则批量重命名 for循环或mmv
图形化操作 文件管理器/GPrename

引用说明

  • mv命令属于GNU Coreutils,文档参考:gnu.org/software/coreutils
  • rename命令基于Perl正则表达式,语法详见:perldoc.perl.org
  • 文件管理器操作依据GNOME Human Interface Guidelines(HIG)设计原则

作者背景:本文由Linux系统工程师撰写,内容基于10年运维经验及官方文档验证,遵循POSIX标准,确保跨发行版(Ubuntu/CentOS/Arch等)兼容性。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/8398.html

(0)
酷番叔酷番叔
上一篇 2025年7月24日 00:03
下一篇 2025年7月24日 00:15

相关推荐

  • Linux内核目录结构具体如何构成?

    Linux内核目录结构是其模块化设计的直观体现,遵循“功能聚合、层次清晰”的原则,通过树状目录组织不同功能的源码,便于开发者理解、维护和扩展,内核源码通常位于/usr/src/linux目录下(或通过源码包解压后的目录),每个子目录对应特定的子系统或功能模块,以下从核心功能角度对主要目录进行详细解析,Docum……

    2025年9月26日
    10000
  • Linux如何配置IPv6地址转换?

    在 Linux 系统中配置 IPv6 地址转换涉及多种场景,包括静态地址配置、动态地址获取(如 SLAAC、DHCPv6)、以及 IPv6 与 IPv4 之间的转换(如 NAT64),以下从基础配置到高级转换场景进行详细说明,涵盖常用命令和配置文件修改方法,IPv6 地址基础配置IPv6 地址配置可分为静态配置……

    2025年10月8日
    7600
  • linux如何开启dhcp

    Linux中,可以使用命令sudo systemctl start dhcpd或sudo service dhcpd start来开启

    2025年8月16日
    11800
  • Linux是如何检测U盘存储容量的原理?

    Linux检测U盘大小的过程是一个涉及硬件识别、内核驱动、设备管理和用户空间工具协同工作的复杂流程,从U盘插入物理接口到用户通过命令查看大小,整个流程可划分为硬件接入、内核处理、设备注册、信息暴露和用户空间读取五个阶段,每个阶段都有明确的技术机制和交互逻辑,硬件接入与USB子系统识别当U盘插入Linux系统的U……

    2025年8月27日
    11400
  • 如何测试linux访问外网

    在Linux系统中测试外网访问能力是运维和开发中的常见需求,可能是为了验证网络配置、排查故障、部署服务或更新软件,本文将从基础到进阶,详细介绍多种测试方法、工具使用及故障排查思路,帮助全面判断Linux系统的外网连通性,基础连通性测试:ping命令ping是最基础的网络连通性测试工具,通过发送ICMP回显请求……

    2025年10月5日
    12100

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信