原文链接

在Linux下重命名文件或目录,可以使用mv命令或rename命令,这里分享下二者的使用方法。

mv命令既可以重命名,又可以移动文件或文件夹。

例子:将目录A重命名为B

mv A B

例子:将/a目录移动到/b下,并重命名为c

mv /a /b/c

其实在文本模式中要重命名文件或目录,只需要使用mv命令就可以了,比如说要将一个名为abc的文件重命名为1234:

mv abc 1234

注意,如果当前目录下也有个1234的文件的话,这个文件是会将它覆盖的。

下面介绍Linux系统中另一个重命名命令 rename命令的用法。

批量创建那些规格差不多的文件名。【测试的第一步】

[root@linuxidc net]# for i in `seq -w 10`
> do touch stu\_$i\_linux.jpg
> done
[root@linuxidc net]# sl
total 0
-rw-r--r-- 1 root root 0 Oct 9 21:22 stu_01_linux.jpg
-rw-r--r-- 1 root root 0 Oct 9 21:22 stu_02_linux.jpg
-rw-r--r-- 1 root root 0 Oct 9 21:22 stu_03_linux.jpg
-rw-r--r-- 1 root root 0 Oct 9 21:22 stu_04_linux.jpg
-rw-r--r-- 1 root root 0 Oct 9 21:22 stu_05_linux.jpg
-rw-r--r-- 1 root root 0 Oct 9 21:22 stu_06_linux.jpg
-rw-r--r-- 1 root root 0 Oct 9 21:22 stu_07_linux.jpg
-rw-r--r-- 1 root root 0 Oct 9 21:22 stu_08_linux.jpg
-rw-r--r-- 1 root root 0 Oct 9 21:22 stu_09_linux.jpg
-rw-r--r-- 1 root root 0 Oct 9 21:22 stu_10_linux.jpg

然后,使用rename进行修改

[root@linuxidc net]# rename \_linux '' *.jpg
[root@linuxidc net]# sl
total 0
-rw-r--r-- 1 root root 0 Oct 9 21:22 stu_01.jpg
-rw-r--r-- 1 root root 0 Oct 9 21:22 stu_02.jpg
-rw-r--r-- 1 root root 0 Oct 9 21:22 stu_03.jpg
-rw-r--r-- 1 root root 0 Oct 9 21:22 stu_04.jpg
-rw-r--r-- 1 root root 0 Oct 9 21:22 stu_05.jpg
-rw-r--r-- 1 root root 0 Oct 9 21:22 stu_06.jpg
-rw-r--r-- 1 root root 0 Oct 9 21:22 stu_07.jpg
-rw-r--r-- 1 root root 0 Oct 9 21:22 stu_08.jpg
-rw-r--r-- 1 root root 0 Oct 9 21:22 stu_09.jpg
-rw-r--r-- 1 root root 0 Oct 9 21:22 stu_10.jpg

注意,如果想要替换掉下划线,那么你不能加任何引号。

创建一些测试文件:

[root@linuxidc net]# for i in `seq -w 10`; do touch stu\_$i\_linux.jpg; done
[root@linuxidc net]# sl
total 0
-rw-r--r-- 1 root root 0 Oct 9 21:58 stu_01_linux.jpg
-rw-r--r-- 1 root root 0 Oct 9 21:58 stu_02_linux.jpg
-rw-r--r-- 1 root root 0 Oct 9 21:58 stu_03_linux.jpg
-rw-r--r-- 1 root root 0 Oct 9 21:58 stu_04_linux.jpg
-rw-r--r-- 1 root root 0 Oct 9 21:58 stu_05_linux.jpg
-rw-r--r-- 1 root root 0 Oct 9 21:58 stu_06_linux.jpg
-rw-r--r-- 1 root root 0 Oct 9 21:58 stu_07_linux.jpg
-rw-r--r-- 1 root root 0 Oct 9 21:58 stu_08_linux.jpg
-rw-r--r-- 1 root root 0 Oct 9 21:58 stu_09_linux.jpg
-rw-r--r-- 1 root root 0 Oct 9 21:58 stu_10_linux.jpg
[root@linuxidc net]# rename '\_linux' '' *.jpg
[root@linuxidc net]# sl
total 0
-rw-r--r-- 1 root root 0 Oct 9 21:27 stu_01_linux.jpg
-rw-r--r-- 1 root root 0 Oct 9 21:27 stu_02_linux.jpg
-rw-r--r-- 1 root root 0 Oct 9 21:27 stu_03_linux.jpg
-rw-r--r-- 1 root root 0 Oct 9 21:27 stu_04_linux.jpg
-rw-r--r-- 1 root root 0 Oct 9 21:27 stu_05_linux.jpg
-rw-r--r-- 1 root root 0 Oct 9 21:27 stu_06_linux.jpg
-rw-r--r-- 1 root root 0 Oct 9 21:27 stu_07_linux.jpg
-rw-r--r-- 1 root root 0 Oct 9 21:27 stu_08_linux.jpg
-rw-r--r-- 1 root root 0 Oct 9 21:27 stu_09_linux.jpg
-rw-r--r-- 1 root root 0 Oct 9 21:27 stu_10_linux.jpg

rename版本如果是perl版本的,那rename命令是支持正则的;因此在perl版本的rename下,执行上述命令就可以成功,如果rename版本是c版本的,那么上述命令是不成功的。

这个是版本支持的问题,所以不必深究。有关二个版本的比较,请参考:linux下rename命令批量重命名中的详细介绍。

之前的问题可能是因为他的rename版本不支持导致的。so,这里重点说的就是rename,虽然这个命令不是很重要。但是它其实还是很有用的,不是吗?

当然,有人会说,你这个都是在一个目录下,那我要是在不同的目录下呢?
用两个命令。一个find先把要修改的文件找出来,再接一个管道,一个rename不就完了吗?
是的,上述办法可以说是一种思路,其实有很多种思路。

附,查看rename版本的信息

[root@linuxidc net]# man rename | head -1
RENAME(1) Linux Programmer’s Manual RENAME(1)

本文永久更新链接地址http://www.linuxidc.com/Linux/2015-01/111116.htm

[Linux] Linux中重命名文件和文件夹的方法(mv命令和rename命令)的更多相关文章

  1. ( 转)Ubuntu下创建、重命名、删除文件及文件夹,强制清空回收站方法

    Ubuntu下创建.重命名.删除文件及文件夹,强制清空回收站方法 mkdir 目录名 ——创建一个目录 rmdir 空目录名 ——删除一个空目录 rm 文件名 文件名 ——删除一个文件或多个文件 rm ...

  2. 如何在Linux下重命名多个文件

    在Linux中,当你想要改变一个文件名,使用mv命令就好了.然而mv不能使用通配符重命名多个文件.可以用sed.awk或者与xargs结合使用来处理多个文件的情况.然而,这些命令行即繁琐又不友好,并且 ...

  3. 【转】Linux 移动或重命名文件/目录-mv 的10个实用例子

    熟悉了 复制命令,下一个相关的命令就是 mv 命令.当你想要将文件从一个位置移动到另一个地方并且不想复制它,那么mv 命令是完成这个任务的首选. 初识 mv 命令 mv 命令是一个与cp类似的命令,但 ...

  4. Linux 移动或重命名文件/目录-mv 的10个实用例子

    本文导航 -初识 mv 命令03% -1.移动文件08% -2.移动多个文件15% -3.移动目录23% -4.重命名文件或目录27% -5. 重命名目录35% -6. 打印移动信息39% -7. 使 ...

  5. Linux下重命名文件或文件夹(mv命令与rename命令)

    在Linux下重命名文件或目录,可以使用mv命令或rename命令 mv ———————————— mv命令既可以重命名,又可以移动文件或文件夹. 例子:将目录A重命名为B mv A B 例子:将/a ...

  6. Linux命令技巧:如何在Linux下重命名多个文件

    我知道我可以用mv命令重命名文件.但是当我想重命名很多文件怎么办?如果为每个文件都这么做将会是很乏味的.有没有办法一次性重命名多个文件? 在Linux中,当你想要改变一个文件名,使用mv命令就好了.然 ...

  7. Linux shell 中提取zip或jar文件中的某个文件

    Linux shell 中提取zip或jar文件中的某个文件 假如有个压缩包 abc.jar, 里面文件如下 (可以用unzip -l abc.jar 查看): data/1.txt data/2.t ...

  8. 重命名文件或文件夹(mv命令与rename命令)

    在Linux下重命名文件或目录,可以使用mv命令或rename命令,这里分享下二者的使用方法. mv命令既可以重命名,又可以移动文件或文件夹. 例子:将目录A重命名为B mv A B 例子:将/a目录 ...

  9. [Python] python3 文件操作:从键盘输入、打开关闭文件、读取写入文件、重命名与删除文件等

    1.从键盘输入 Python 2有两个内置的函数用于从标准输入读取数据,默认情况下来自键盘.这两个函数分别是:input()和raw_input(). Python 3中,不建议使用raw_input ...

随机推荐

  1. 错误:MSSQLSERVER 17058

    今天还原数据库的时候,在cmd命令行中输入sqlservr.exe -c -f -m出现了 Could not Open Error Log File 这个错误.网上查找了好多办法尝试了都没用.最后花 ...

  2. js 设计模式——状态模式

    状态模式 允许一个对象在其内部状态改变时改变它的行为,对象看起来似乎修改了它的类. 简单的解释一下: 第一部分的意思是将状态封装成独立的类,并将请求委托给当前的状态对象,当对象的内部状态改变时,会带来 ...

  3. 第一章 .NET基础-C#基础

    一.1.1. 基础语法 一.1.1.1. 注释符 一.1.1.1.1. 注释符的作用 l 注释 l 解释 一.1.1.1.2. C#中的3中注释符 l 单行注释 // l 多上注释 /* 要注释的内容 ...

  4. Linux环境搭建 | 手把手教你安装Linux虚拟机

    前言 作为一名Linux工程师,不管是运维.应用.驱动方向,在工作中肯定会需要Linux环境.想要获得Linux环境,一个办法就是将电脑系统直接换成Linux系统,但我们平常用惯了Windows系统, ...

  5. unity之局域网

    Unity自5.1以后支持新版的网络系统Unet,Unet是什么,优缺点是什么,和以前的网络系统有什么区别,请自行去百度.本篇要实现的功能是创建网络游戏的Player主角,以及实现移动同步.本教程来源 ...

  6. Spring框架之事务管理

    Spring框架之事务管理 一.事务的作用 将若干的数据库操作作为一个整体控制,一起成功或一起失败. 原子性:指事务是一个不可分割的工作单位,事务中的操作要么都发生,要么都不发生. 一致性:指事务前后 ...

  7. Linux之Shell编程(14)

    变量: 定义变量的规则: 1)变量名可以由字母.数字和下划线组成,但不能以数字开头 2)等号两侧不能有空格 3)变量名一般习惯大写 将命令的返回值赋值给变量: 1)使用``将命令括起来 2)使用$() ...

  8. C#开发BIMFACE系列3 服务端API之获取应用访问凭证AccessToken

    系列目录     [已更新最新开发文章,点击查看详细] BIMFACE 平台为开发者提供了大量的服务器端 API 与 JavaScript API,用于二次开发 BIM 的相关应用. BIMFACE ...

  9. js 取两位小数

    var totalPrice = (product.unitPrice * product.nums).toFixed(2);

  10. HDU3068 最长回文 Manacher's Algorithm 马拉车算法 模板

    HDU3068 复习了一下这个算法, 注意数组大小要开两倍大. #include <algorithm> #include <iterator> #include <io ...