原文链接

在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. mybatis 源码分析(六)StatementHandler 主体结构分析

    分析到这里的时候,mybatis 初始化.接口.事务.缓存等主要功能都已经讲完了,现在就还剩下 StatementHandler 这个真正干活的家伙没有分析了:所以接下来的博客内容主要和数据库的关系比 ...

  2. 使用fine-uploader上传文件

    步骤1:下载fine-uploader 步骤2:加入引用 <link href="/fine-uploader/fine-uploader-gallery.min.css" ...

  3. 【数据结构】10.java源码关于LinkedHashMap

    目录 1.LinkedHashMap的内部结构 2.LinkedHashMap构造函数 3.元素新增策略 4.元素删除 5.元素修改和查找 6.特殊操作 7.扩容 8.总结 1.LinkedHashM ...

  4. CF980C Posterized 贪心 二十五

    Posterized time limit per test 1 second memory limit per test 256 megabytes input standard input out ...

  5. poj 2406 Power Strings(kmp next的应用)

    题目链接:http://poj.org/problem?id=2406 题意:就是求一个字符串最多有几个相同的小字符串组成. 题解:直接求一下next然后找到长度,长度就是len-1-next[len ...

  6. 良许 | 听说,有个同事因为关闭服务器被打进 ICU ……

    提问:你是如何关闭电脑的? 普通青年 文艺青年 二逼青年 你是属于哪一种呢? 实话说, 这三种良许都干过~ 还好我没有对服务器这么做, 否则-- 分分钟被打进 ICU -- 1. 关机命令知多少 对于 ...

  7. Spring.Net是怎么在MVC中实现注入的(原理)

    本文将介绍Spring.Net(不仅仅是Spring.Net,其实所有的IoC容器要向控制器中进行注入,原理都是差不多的)在MVC控制器中依赖注入的实现原理,本文并没有关于在MVC使用Spring怎么 ...

  8. redis.windows.conf配置详解

    redis.windows.conf配置详解 转自:https://www.cnblogs.com/kreo/p/4423362.html # redis 配置文件示例 # 当你需要为某个配置项指定内 ...

  9. TypeScript模块系统、命名空间、声明合并

    命名空间 命名空间能有效避免全局污染.在ES6引入模块之后,命名空间就较少被提及了.如果使用了全局的类库,命名空间仍是一个好的解决方案. namespace Shape{ const pi = Mat ...

  10. Redis 的底层数据结构(SDS和链表)

    Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库.缓存和消息中间件.可能几乎所有的线上项目都会使用到 Redis,无论你是做缓存.或是用作消息中间件,用起来很简单方便 ...