精华内容
下载资源
问答
  • Linux命令rename命令主要用于给文件重命名,与mv命令有些类似,但rename可以对批量文件进行重命名,而mv命令则只能对单个文件重命名,下面就给大家详细介绍下Linux rename命令的使用方法吧。Linux的 rename 命令...

    Linux命令中的rename命令主要用于给文件重命名,与mv命令有些类似,但rename可以对批量文件进行重命名,而mv命令则只能对单个文件重命名,下面就给大家详细介绍下Linux rename命令的使用方法吧。

    c49dd1a814cc4a1dacc5283e7d615a08.png

    Linux的 rename 命令有两个版本,一个是C语言版本的,一个是Perl语言版本的,早期的Linux发行版基本上使用的是C语言版本的,现在已经很难见到C语言版本的了,由于历史原因,在Perl语言大红大紫的时候,Linux的工具开发者们信仰Perl能取代C,所以大部分工具原来是C版本的都被Perl改写了,因为Perl版本的支持正则处理,所以功能更加强大,已经不再需要C语言版本的了。

    如何区分系统里的rename命令是哪个版本的?

    输入 man rename 看到第一行是

    RENAME(1) Linux Programmer’s Manual RENAME(1)

    那么 这个就是C语言版本的。

    而如果出现的是:

    RENAME(1) Perl Programmers Reference Guide RENAME(1)

    这个就是Perl版本的了!

    两个版本的语法差异:

    C语言的,按照man上面的注解,

    rename的语法格式是:

    rename fromtofile

    这个命令有三个参数,分别是 from : 修改什么名字, to:改成什么名字, file 需要修改的文件是哪些。

    用法示例:

    比如,有一批文件,都是以 log开头的, log001.txt, log002.txt ……。 一直到 log100.txt

    现在想要把这批文件的log全部替换为 history

    rename log history log*

    这句命令的意思很明白了,把 以 log开头的所有文件中的 log字符替换为 history

    这样替换后的文件是: history001.txt, history002.txt …。。 一直到 history100.txt

    rename C语言版本的另一个man示例是把后缀名批量修改,

    比如我们要将所有 jpeg的后缀名图片文件修改为 jpg文件。

    rename .jpeg.jpg*.jpeg

    这样,所有以 .jpeg扩展的后缀名全部被修改为 .jpg

    现在总结一下rename C语言版本所能实现的功能: 批量修改文件名,结果是每个文件会被用相同的一个字符串替换掉!也就是说,无法实现诸如循环 然后按编号重命名!

    Perl 版本的批量重命名,带有Perl的好处是,你可以使用正则表达式来完成很奇特的功能。

    perl 版本的参数格式:

    rename perlexprfiles

    注意,perl版本的rename只有两个参数,第一个参数为perl正则表达式,第二个参数为所要处理的文件

    man rename的帮助示例:

    1) 有一批文件,以 .bak结尾,现在想把这些 .bak 统统去掉。

    rename ‘s/\.bak$//’ *.bak

    这个命令很简单,因为我还没有系统学习过perl,我不知道perl里替换字符串是不是这么干的,但sed是这么干的,所以如果你有sed或者tr基础,很容易明白,这个替换和sed里的正则语法是一模一样的。

    2) 把所有文件名内含有大小字母的,修改为小写字母。

    rename ‘y/A-Z/a-z/’ *

    依然和sed的替换语法一样,不用多解释,如果看不懂的话,可以系统学习一下sed先。

    还有几个比较实用的例子:

    批量去掉文件名里的空格

    Linux文件名本来是不支持空格的,不知道什么时候允许了,当然,在命令行调用文件的时候,空格是很有问题滴,比如你 原来可以直接 mv oldfile newfile 但有空格就不行了 , 得加双引号: mv “oldfile” “newfile” 或者用反斜杠转移 \[] ,这样还好,但如果你直接把含有空格的图片名引入 Latex文档,Latex生成pdf的时候会直接打印出文件名,之前这个问题苦恼了我很久,我生成的pdf怎么老是出现文件名呢?后来才发现原来是文件名内含有空格的问题!windows系统下生成的文件名是天生含有空格的,虽然很讨厌,但有些惠普扫描仪生成的图片默认就加入了空格,没有办法,只好去掉他,在系统研究rename命令前,我是用 mv 去除空格的。

    展开全文
  • linux 重命名文件命令

    千次阅读 2021-01-23 15:57:45
    mv 命令是一个与cp类似的命令,但是它并非创建文件或目录的复制品/副本。不管你在使用什么版本的Linux系统,mv 都默认安装在你的Linux系统上了。来看一下 mv 命令在日常操作中的一些例子。 [root@localhost tmp]# mv...

    mv 命令是一个与cp类似的命令,但是它并非创建文件或目录的复制品/副本。不管你在使用什么版本的Linux系统,mv 都默认安装在你的Linux系统上了。来看一下 mv 命令在日常操作中的一些例子。

    [root@localhost tmp]# mv --help Usage: mv [OPTION]... [-T] SOURCE DEST or: mv [OPTION]... SOURCE... DIRECTORY or: mv [OPTION]... -t DIRECTORY SOURCE... Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.

    Mandatory arguments to long options are mandatory for short options too. --backup[=CONTROL] make a backup of each existing destination file -b like --backup but does not accept an argument -f, --force do not prompt before overwriting -i, --interactive prompt before overwrite -n, --no-clobber do not overwrite an existing file If you specify more than one of -i, -f, -n, only the final one takes effect. --strip-trailing-slashes remove any trailing slashes from each SOURCE argument -S, --suffix=SUFFIX override the usual backup suffix -t, --target-directory=DIRECTORY move all SOURCE arguments into DIRECTORY -T, --no-target-directory treat DEST as a normal file -u, --update move only when the SOURCE file is newer than the destination file or when the destination file is missing -v, --verbose explain what is being done -Z, --context set SELinux security context of destination file to default type --help display this help and exit --version output version information and exit

    The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX. The version control method may be selected via the --backup option or through the VERSION_CONTROL environment variable. Here are the values:

    none, off never make backups (even if --backup is given) numbered, t make numbered backups existing, nil numbered if numbered backups exist, simple otherwise simple, never always make simple backups

    GNU coreutils online help: http://www.gnu.org/software/coreutils/ For complete documentation, run: info coreutils 'mv invocation'

    1.移动文件

    移动文件时需要注意的是文件的源地址和目标地址必须不同。这里有个例子,想要将file_1.txt文件从当前目录移动到其它目录,以/home/pungki/为例,语法应该如下:

    1. $ mv file_1.txt /home/pungki/office

    mv command

    如我们所见,当我们移动 filetxt 文件时,先前目录的 file1.txt 就被删除了

    2.移动多个文件

    如果想一次移动多个文件,我们可以将他们放在一行并用空格分开。

    1. $ mv file_2.txt file_3.txt file_4.txt /home/pungki/office

    Move multiple files

    如果你的文件有规律可循的话那么你就可以使用通配符。比如,为了移除所有以.txt为扩展名的文件,我们可以用下面的命令:

    1. $ mv *.txt /home/pungki/office

    Move using pattern

    3.移动目录

    不同于复制命令,用 mv 命令移动目录相当直接。移动目录你可以使用不带选项的 mv 命令。看下面的截图就一目了然了。

    Moving directory

    4.重命名文件或目录

    我们也用 mv 命令来重命名文件或目录。不过目标位置和源位置必须相同才可以。然后文件名必须不同。

    假定我们当前所在目录为/home/pungki/Documents,而我们想将file\1.txt重命名为file*2.txt*。那么命令应该如下:

    1. $ mv file_1.txt file_2.txt

    如果是绝对路径,它应该像下面这样:

    1. $ mv /home/pungki/Documents/file_1.txt /home/pungki/Documents/file_2.txt

    Renaming file

    5. 重命名目录

    上一段的规则同样适用于目录。请看这个例子:

    1. $ mv directory_1/ directory_2/

    6. 打印移动信息

    当你移动或重命名一大堆文件或目录时,你可能会想在不去目标位置去查看的情况下知道你自己的命令是否成功地执行了。这就要用到-v选项了。

    1. $ mv -v *.txt /home/pungki/office

    mv with verbose mode

    该方法同样适用于目录。

    mv directory with verbose mode

    7. 使用交互模式

    当你将文件移动到其它位置,而那个位置恰好有同样的文件,这时 mv 命令会覆盖掉原来的文件。对于mv的这一行为一般不会有什么提示。如果想产生一个关于覆盖文件的提示,我们可以使用-i选项。(译注:通常发行版会通过alias命令,将-i作为默认选项,所以会有提示。)

    假设我们想将 file1.txt 移动到 /home/pungki/office。同时,/home/pungki/office 目录下已经有file1.txt文件了。

    1. $ mv -i file_1.txt /home/pungki/office

    mv with interactive mode

    这个提示会让我们知道目标位置处file_1.txt的存在。如果我们按y键,那么那个文件将会被删除,否则不会。

    8. 使用更新选项

    -i 选项会提示我们关于覆盖文件的提示,而 -u 则只在源文件比目标文件新时才执行更新。让我们看一看下面的例子:

    Update only newer

    假如 file1.txt 和 file2.txt有如下特点:

    1. File_1.txt has 84 bytes file size and it last modified time is12:00
    2. File_2.txt has 0 bytes file size and it last modified time is11:59

    我们想将它们移动到 /home/pungki/office 目录下。*但是目标地址已经有file1.txt和file2.txt了。

    我们用下面的命令将file1.txt 和file2.txt从当前目录移动到/home/pungki/office

    1. $ mv -uv *.txt /home/pungki/office

    可以看到这些文件被移动了。能移动这些文件是因为它们最近的修改时间戳比 /home/pungki/office 目录中的文件新。

    9.不要覆盖任何已存在的文件

    如果-i选项询问我们是否要覆盖文件,那么 -n 选项将不会允许我们覆盖任何已存在的文件。

    继续使用第8点中的例子,如果我们将-u 换成 -n同时加上-v选项,那么我们会看到没有任何文件移动到了 /home/pungki/office 目录下。

    1. $ mv -vn *.txt /home/pungki/office

    No overwrite

    10. 复制时创建备份

    默认情况下,移动文件将会覆盖已存在的目标文件。但是如果我们移动错了文件而目标文件已经被新的文件覆盖了,这时应该怎么办才好呢?有没有一种方法可以恢复之前的文件呢?答案是肯定的。我们可以用-b选项。该选项会在新文件覆盖旧文件时将旧文件做备份。这里我们还以第8点为例。

    1. $ mv -bv *.txt /home/pungki/office

    Backup option

    如截图中所见,在 /home/pungki/office 目录下出现了名为file\1.txt~ and file*2.txt~ 的文件。那个波浪符号(~)意味着*这些文件是备份文件。从它们的属性中我们可以看到,这些文件比file1.txt和file2.txt要旧。

    11. 无条件覆盖已经存在的文件

    (译注:这一节是译者补充的,原文遗漏了这个重要选项)

    当你希望无论如何都覆盖已经存在的文件或目录时,你可以使用 -f 选项。如果同时指定了 -f 选项和 -i 或 -n 选项,则 -f 选项会覆盖它们——即不进行任何提示而覆盖,所以,在使用此参数时,知道你在做什么。

    1. $ mv -f *.txt /home/pungki/office

    总结

    移动文件和目录命令是Linux系统的基本命令。通常你可以通过man mv 或者 mv --help显示mv的手册页以了解更多详细信息。

    以上就是良许教程网为各位朋友分享的Linux相关知识。

    展开全文
  • 相比于Windows上的ren命名,Linux还真的是没有一个特定的重命名的命令。(虽然可以间接的使用mv来实现)。下面我就来自己写一个简单的重命名命令。 准备工作 操作系统: Linux内核的系统都可以 Shell:我用的系统...
  • 1. mv命令简介本文主要是讲解如何使用mv命令Linux文件进行重命名和剪切以及讲解mv命令常见使用方法。mv命令是move缩写,可以用来移动文件或者将文件改名。mv命令是最常用的Linux命令之一。2. mv命令格式mv [选项...

    请关注本头条号,每天坚持更新原创干货技术文章。

    如需学习视频,请在微信搜索公众号“智传网优”直接开始自助视频学习

    1. mv命令简介

    本文主要是讲解如何使用mv命令对Linux文件进行重命名和剪切以及讲解mv命令常见使用方法。mv命令是move的缩写,可以用来移动文件或者将文件改名。mv命令是最常用的Linux命令之一。

    2ea8fbaa2e04acd96a283ae07c940080.png

    2. mv命令格式

    mv [选项] 源文件或目录 目标文件或目录

    1cda63378594782d0626ab0f77645c84.png

    3. mv使用方式

    根据mv命令中第二个参数类型的不同而执行结果不一样,当mv命令第二个参数是目录时,mv命令目标文件移至目录目录中。当第二个参数类型是文件时,mv命令完成文件重命名。此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中。在跨文件系统移动文件时,mv先拷贝,再将原有文件删除,而链至该文件的链接也将丢失。

    4. mv命令选项

    -b :若需覆盖文件,则覆盖前先行备份。

    -f :force 强制的意思,如果目标文件已经存在,不提示直接覆盖;

    -i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!

    -u :若目标文件已经存在,且 source 比较新,才会更新(update)

    -t : --target-directory=DIRECTORY move all SOURCE arguments into DIRECTORY,即指定mv的目标目录,该选项适用于移动多个源文件到一个目录的情况,此时目标目录在前,源文件在后。

    5. 常见操作案例

    5.1 文件重命名

    创建一个测试文件

    [root@zcwyou zcwyou]# touch 123.txt

    查看该文件

    [root@zcwyou zcwyou]# ll

    总用量 0

    -rw-r--r--. 1 root root 0 11月 28 11:24 123.txt

    文件重命名:

    把123.txt重命名为456.txt

    [root@zcwyou zcwyou]# mv 123.txt 456.txt

    检查

    [root@zcwyou zcwyou]# ll

    总用量 0

    -rw-r--r--. 1 root root 0 11月 28 11:24 456.txt

    bed12814c9c6a4a8b46e043bc3e132c5.png

    5.2 目录重命名

    也可以理解为移动目录

    创建目录

    [root@zcwyou zcwyou]# mkdir abc

    检查:

    [root@zcwyou zcwyou]# ll

    总用量 0

    -rw-r--r--. 1 root root 0 11月 28 11:24 456.txt

    drwxr-xr-x. 2 root root 6 11月 28 11:25 abc

    目录重命名:

    把目录abc重命名为dirqq

    [root@zcwyou zcwyou]# mv abc dirqq

    检查

    [root@zcwyou zcwyou]# ll

    总用量 0

    -rw-r--r--. 1 root root 0 11月 28 11:24 456.txt

    drwxr-xr-x. 2 root root 6 11月 28 11:25 dirqq

    bd197420a6326cb19ebcc09feca7b6ab.png

    使用mv命令重命名文件名

    5.3 移动文件和目录到其他位置

    移动文件456.txt至上一级目录

    [root@zcwyou zcwyou]# mv 456.txt ../

    移动当前目录里的abc目录至/home/abc

    [root@zcwyou zcwyou]# mv ./abc /home/abc/
    820cfff6473a5d25bc1654035c0dfe7e.png

    使用mv命令移动文件

    一次把多个文件移动至当前目录里的子目录zcwyou

    [root@zcwyou zcwyou]# mv 1.txt 2.txt 3.txt zcwyou

    5.4 移动文件时提示

    使用选项-i

    [root@zcwyou zcwyou]# mv -i abc.txt 123.txt
    1c78cca879f0e113af8ebc7a1326c74f.png

    使用mv命令移动多个文件

    5.5 移动文件时强制覆盖目录文件

    使用-f选项

    [root@zcwyou zcwyou]# mv -f abc.txt 123.txt

    文章已经同步到博客站:

    https://www.linuxrumen.com/cyml/422.html

    点击了解更多,快速查看更多的技术文章列表。

    展开全文
  • Linux 重命名命令

    万次阅读 2019-05-27 12:01:48
    mv 原文件名 修改后文件名 总结:mv 有移动和重命名两个功能

    mv 原文件名 修改后的文件名

    总结:mv 有移动和重命名两个功能

     

    展开全文
  • 自制Linux重命名命令

    2016-06-30 13:01:00
    相比于Windows上的ren命名,Linux还真的是没有一个特定的重命名的命令。(虽然可以间接的使用mv来实现)。下面我就来自己写一个简单的重命名命令。 准备工作 操作系统: Linux内核的系统都可以 Shell:我用的...
  • Linux操作命令(二)本节介绍mkdir、rm、mv、cp、cat、nl命令的用法。...常用参数范例递归创建多个目录创建权限为777的目录创建目录显示信息先安装tree命令一次性建立多个目录2.rm命令rm是一个常用的命令,...
  • linux重命名的命令:rename,man rename, rename命令带3个参数,可以给单个文件重命名,也可以批量文件重命名。 rename可以结合通配符使用,基本的通配符有以下几个: ? 可替代单个字符; * 可替代多个字符;...
  • linux文件重命名命令

    千次阅读 2020-12-11 08:29:04
    2.linux提供了一个重命名文件命令:rename rename from to file1 file2 。。。 如:rename myFile newName myFile.text 将myFile.text重命名为newName.text 这个命令在批量重命名是更好用 如: rename myFile new...
  • 1. mv命令简介本文主要是讲解如何使用mv命令Linux文件进行重命名和剪切以及讲解mv命令常见使用方法。mv命令是move缩写,可以用来移动文件或者将文件改名。mv命令是最常用的Linux命令之一。2. mv命令格式mv [选项...
  • 将A文件夹重命名为B 使用mv命令: mv A B
  • Linux 重命名命令相比于Windows上的ren命名,Linux还真的是没有一个特定的重命名的命令。(虽然可以间接的使用mv来实现)。下面我就来自己写一个简单的重命名命令。准备工作操作系统: Linux内核的系统都可以Shell:我...
  • Git有很常用的命令,需要我们耐心细节的学习。网上也有很多的使用Git文档提供我们学习,但是我们会发现很多文档都是比较乱,内容也是很多,我们下面介绍几个重要且鲜为人知的Git命令,或许能帮助到你快速掌握Git命令...
  • Linux移动或重命名文件或目录(mv)教程在mv 命令会根据第二个参数类型不同(是目标文件还是目标目录),将文件重命名或将其移至一个新目录中。当第二个参数类型是文件时,mv 命令完成文件重命名,此时,源文件只能...
  • 1、mv命令的语法格式 SYNOPSIS mv [OPTION]... [-T] SOURCE DEST mv [OPTION]... SOURCE... DIRECTORY mv [OPTION]... -t DIRECTORY SOURCE... 2、mv命令的选项说明 -f:若目标文件已经存在,不会询问...
  • 重命名文件是我们的常用操作,除了在文件中右击重命名外,还可以在系统中使用命令,那么Linux系统下用什么命令重命名呢?...其中rename是我们比较熟悉的命令linux重命名命令1、renamerename frompart...
  • Linux-重命名命令rename

    万次阅读 2017-12-12 19:09:55
    说到重命名,相信大多数和我一样的Linux初学者想到就是mv ,简单的重命名当然使用mv已经足够,但是比较复杂的重命名(比如根据正则重命名)就需要用到更顺手工具了,那就是rename 用法$ rename [options] ...
  • 刚学linux时,对文件重命名脑袋里立马呈现了rename命令,但却用不起来。G了一下,仍是一知半解,而且发现很多人对它也是很陌生!...mv不仅有转移的功能,确实有重命名的含义,语法简单可理解为: mv [path/]...
  • Linux文件重命名命令的简单说明

    千次阅读 2014-07-01 14:42:31
    Linux的文件重命名的常用命令是mv或rename, 1、mv mv A B 把文件A1.SO得命名为b1.so,可以是mv A1.so b1.so 注意:mv本身是移动命令,因此一次只能重命名一个文件,如果文件A存在,则会直接覆盖原文件。 ...
  • 问题描述我在Windows中快速重命名文件方式之一是F2 > Rename > Tab (to next file) > Rename ...但在Ubuntu /Nautilus中,我无法选择下一个文件。但是在Linux上,我认为必须有一个命令行选择。但是,有时...
  • linux重命名

    2017-05-08 13:55:27
    linux重命名文件和文件夹 linux下重命名文件或文件夹的命令mv既可以重命名,又可以移动文件或文件夹. 例子:将目录A重命名为B mv A B 例子:将/a目录移动到/b下,并重命名为c mv /a /b/c   ...
  • Linux系中,对于已经利用alias重定义别名的命令,如何在脚本中使用原命令?例如想使用cp的原命令,使得...可以使用: \cp 命令,即在原命令前加上'\',这样,执行时用的就是原始的命令,而不会使用alias重命名的命令
  • -- Sandra Henry-stocker(作者)几十年来,Linux 用户一直使用 mv 命令重命名文件。它很简单,并且能做到你要做。但有时你需要重命名一大组文件。在这种情况下,rename 命令可以使这个任务更容易。它只需要一些正则...
  • 不过没关系,今天我们来介绍一个好用的可以实现批量重命名的命令—— rename 命令。下面我们来详细介绍 rename 命令的用法。与 mv 命令不同,rename 命令不是简单地指定新旧文件名就行的。相反,它使用与 Perl 类似...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,754
精华内容 1,101
关键字:

linux重命名的命令

linux 订阅