当前位置: 首页 > news >正文

掌握 Ubuntu 终端 mv 与 rename 命令的高效重命名使用方法

在日常的计算任务中,文件重命名是一个经常性的需求。对于熟悉图形用户界面(GUI)的人来说,通过右键点击并选择“重命名”选项,这个过程简单直接。然而,当涉及到大量文件或需要自动化流程时,命令行提供了更强大、灵活的解决方案。

在 Ubuntu 中优雅地重命名文件

重命名单个文件:简洁而直接

Ubuntu 的终端提供了一个名为 mv 的命令,它最初设计用于移动文件,但也可以用来重命名文件。其基本语法非常直观:

mv OLD_NAME NEW_NAME

这里,OLD_NAME 是现有文件名,而 NEW_NAME 则是您希望赋予它的新名称。例如,如果您想要将一个名为 pls_rename.txt 的文件重命名为 renamed_it.txt,您可以这样做:
 

$ ls *.txt
pls_rename.txt
$ mv -v pls_rename.txt renamed_it.txt
renamed 'pls_rename.txt' -> 'renamed_it.txt'
$ ls *.txt
renamed_it.txt

使用 -v 参数可以让 mv 命令显示详细的输出,告知您哪些文件被重命名了。这在处理多个文件时尤其有用。

批量重命名文件:效率与灵活性兼备

当面对大量文件需要重命名时,逐一手动操作显然不切实际。幸运的是,Ubuntu 提供了一个叫做 rename 的工具,专门用于批量重命名文件。它利用正则表达式来匹配和替换文件名中的模式,极大提高了工作效率。

首先,您需要安装 rename 工具,因为它通常不在默认安装中包含:

sudo apt install rename

安装完成后,您可以使用以下语法进行批量重命名:

rename PERL-REGEX FILES

其中 PERL-REGEX 表示 Perl 风格的正则表达式,FILES 是要处理的文件列表。例如,要将所有 .txt 文件扩展名改为 .jpeg,您可以执行:

$ rename -v 's/.txt/.jpeg/' *.txt
image_1.txt renamed as image_1.jpeg
image_2.txt renamed as image_2.jpeg
...

rename 命令同样支持复杂的字符转换。比如,如果您想把所有小写字母变为大写,可以这样做:

$ rename -v 'y/a-z/A-Z/' *
i_am_not_screaming renamed as I_AM_NOT_SCREAMING
maybe_i_am_screaming renamed as MAYBE_I_AM_SCREAMING
who_knows renamed as WHO_KNOWS
安全性优先:预览更改以防错误

考虑到批量操作可能带来的风险,rename 提供了一个非常有用的选项 --nono,它可以模拟命令的效果而不真正修改文件。这意味着您可以先看到预期的变化,确认无误后再执行实际的重命名操作。这就好比是做一次“试运行”,确保一切按计划进行。

$ rename --nono 's/.jpeg/.txt/' *.jpeg
rename(image_1.jpeg, image_1.txt)
rename(image_2.jpeg, image_2.txt)
...

正如上面的例子所示,虽然看起来文件已经被重命名,但实际上它们并没有改变。直到您移除 --nono 选项并重新运行命令,才会真正生效。

无论是简单的单个文件重命名还是复杂的批量处理,Ubuntu 终端都提供了强大的工具来满足您的需求。mv 和 rename 这两个命令不仅简化了日常任务,还为高级用户提供了足够的灵活性和控制力。掌握这些技能,您就能更加自信地管理和组织您的文件系统。

当然,如果您使用的是 Windows 和 Mac 系统,那么你也可以使用简鹿文件批量重命名,它提供了一个完整的 GUI 界面,让文件或文件夹重命名操作起来更轻松快捷。

http://www.lryc.cn/news/522345.html

相关文章:

  • 【Python】数据容器:列表,元组,字符串,集合字典及通用操作
  • 基于Oracle与PyQt6的电子病历多模态大模型图形化查询系统编程构建
  • 2025智能网联汽车数据分类分级白皮书
  • 使用Dify创建个问卷调查的工作流
  • 紫光无人机AI飞控平台介绍
  • UI自动化测试:异常截图和page_source
  • 47,【5】BUUCTF web lovesql
  • 网络安全——常用语及linux系统
  • json().get() 和 json[““] 的区别
  • 深入解析CSS属性值计算:从声明到渲染的完整流程
  • npm发布工具包+使用
  • 28:CAN总线入门一:CAN的基本介绍
  • RK3568平台(音频篇)lineout无声调试
  • ros2-7.5 做一个自动巡检机器人
  • 服务器下发任务镭速利用变量实现高效的大文件传输效率
  • 本地用docker装mysql
  • 前端canvas对象转成file对象
  • mermaid大全(语法、流程图、时序图、甘特图、饼图、用户旅行图、类图)
  • 运行fastGPT 第四步 配置ONE API 添加模型
  • Spring Initializr创建springboot项目 “java: 错误: 无效的源发行版:19”
  • Java IDEA中Gutter Icons图标的含义
  • 如何进行域名跳转与域名重定向的综合指南
  • YOLOv10-1.1部分代码阅读笔记-build.py
  • redux 结合 @reduxjs/toolkit 的使用
  • tui-editor报错
  • 运行fastGPT 第二步 安装宝塔面板 用于管理安装docker和其文件
  • 常见好用的PHP CMS开源系统有哪些?
  • 【排错记录】免密、nginx、cgroup、sshd
  • 浅谈云计算19 | OpenStack管理模块 (上)
  • LabVIEW 程序中的 R6025 错误