原文链接

在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. 第一个Javaweb应用程序

    第一个Javaweb应用程序 一.Javaweb应用程序结构 一个 web 应用程序是由一组 Servlet,HTML 页面,类,以及其它的资源组成的运行在 web 服务器上的完整的应用程序,以一种结 ...

  2. Javaweb简介

    Javaweb简介 一.什么是Javaweb? 在Sun的Java Servlet规范中,对Java Web应用作了这样定义:“Java Web应用由一组Servlet.HTML页.类.以及其它可以被 ...

  3. Django之使用中间件解决前后端同源策略问题

    问题描述 前端时间在公司的时候,要使用angular开发一个网站,因为angular很适合前后端分离,所以就做了一个简单的图书管理系统来模拟前后端分离. 但是在开发过程中遇见了同源策略的跨域问题,页面 ...

  4. 基于 Javassist 和 Javaagent 实现动态切面

    一.背景介绍 1.需求说明 需求是在程序运行期间,向某个类的某个方法前.后加入某段业务代码,或者直接替换整个方法的业务逻辑,即业务方法客制化.注意是运行期间动态更改,做到无侵入,而不是事先在代码中写死 ...

  5. 最简单流处理引擎——Kafka Streaming简介

    Kafka在0.10.0.0版本以前的定位是分布式,分区化的,带备份机制的日志提交服务.而kafka在这之前也没有提供数据处理的顾服务.大家的流处理计算主要是还是依赖于Storm,Spark Stre ...

  6. NLP(六) 分块、句法分析、依存分析

    内置分块器 分块:从文本中抽取短语 import nltk text = 'Lalbagh Botanical Garden is a well known botanical garden in B ...

  7. Codeforces 1058 D. Vasya and Triangle 分解因子

    传送门:http://codeforces.com/contest/1058/problem/D 题意: 在一个n*m的格点中,问能否找到三个点,使得这三个点围成的三角形面积是矩形的1/k. 思路: ...

  8. Codeforces Round #480 (Div. 2) C - Posterized

    题目地址:http://codeforces.com/contest/980/problem/C 官方题解: 题解:一共256个像素网格,可以把这个256个分组,每个分组大小<=k.给出n个像素 ...

  9. 线段树(求单结点) hdu 1556 Color the ball

    Color the ball Time Limit: 9000/3000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)To ...

  10. 自动化专业如何转SLAM或机器学习岗?

    由于不方便放链接,更好的阅读体验请查看:自动化专业如何转SLAM或机器学习岗? 本文来自知乎上的同名问题,原文链接: https://www.zhihu.com/question/266685012/ ...