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

相关推荐

  • 如何删除名为 mylink 的软链接?

    删除软链接的核心命令使用 rm 命令(最常用)rm /path/to/softlink_name参数说明:rm:删除文件或链接的标准命令,/path/to/softlink_name:软链接的完整路径(结尾不能加 ),示例:使用 unlink 命令(专用于单文件删除)unlink /path/to/softli……

    2025年7月29日
    14400
  • 如何安全登录Linux服务器?

    远程登录(最常用场景)SSH 登录(推荐安全方式)步骤:ssh 用户名@服务器IP地址 -p 端口号示例:ssh admin@192.168.1.100 -p 22 # 默认端口22可省略关键操作:首次登录:需输入yes确认主机指纹(防中间人攻击),认证方式:密码登录:输入用户密码(输入时无显示),密钥登录(更……

    2025年7月26日
    15800
  • Linux消息队列查看全攻略?

    Linux查看消息队列的方法因类型而异:系统V消息队列用ipcs命令;POSIX消息队列通过mqueue文件系统;第三方中间件如RabbitMQ/Kafka需使用各自管理工具。

    2025年6月23日
    16900
  • 如何在Linux系统中用C语言进行程序设计?

    Linux作为开源操作系统的代表,与C语言有着天然的紧密联系,其内核及大量系统工具均由C语言编写,在Linux环境下进行C语言程序设计,不仅能够充分利用系统的底层资源,还能深入理解操作系统的工作原理,本文将详细介绍Linux下C语言程序开发的核心流程、关键工具及编程要点,Linux下的C语言开发首先需要搭建合适……

    2025年9月21日
    13300
  • linux如何查看jdk是否安装成功

    Linux 中,可以通过命令 java -version 来查看 JDK 是否安装

    2025年8月14日
    18600

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信