[linux] mv 剪切/重命名文件

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

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

命令参数:

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

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

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

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

-t :    --target-directory=DIRECTORY move all SOURCE arguments into DIRECTORY,
        即指定mv的目标目录,该选项适用于移动多个源文件到一个目录的情况,此时目标目录在前,源文件在后。
  • 文件改名
mv test.log test1.txt
  • 移动文件
mv test1.txt test3
  • 将文件log1.txt,log2.txt,log3.txt移动到目录test3中
mv log1.txt log2.txt log3.txt test3
  • 将文件file1改名为file2,如果file2已经存在,则询问是否覆盖
mv -i log1.txt log2.txt
  • 将文件file1改名为file2,即使file2存在,也是直接覆盖掉。
mv -f log3.txt log2.txt
  • 目录的移动
如果目录dir2不存在,将目录dir1改名为dir2;否则,将dir1移动到dir2中

mv dir1 dir2 
  • 移动当前文件夹下的所有文件到上一级目录
mv * ../
  • 把当前目录的一个子目录里的文件移动到另一个子目录里
mv test3/*.txt test5
  • 文件被覆盖前做简单备份,前面加参数-b
mv log1.txt -b log2.txt



-b 不接受参数,mv会去读取环境变量VERSION_CONTROL来作为备份策略。

--backup该选项指定如果目标文件存在时的动作,共有四种备份策略:
    1.CONTROL=none或off : 
        不备份。
    2.CONTROL=numbered或t:
        数字编号的备份
    3.CONTROL=existing或nil:
        如果存在以数字编号的备份,则继续编号备份m+1...n:
        执行mv操作前已存在以数字编号的文件log2.txt.~1~,
        那么再次执行将产生log2.txt~2~,依此类推。
        如果之前没有以数字编号的文件,则使用下面的简单备份。
    4.CONTROL=simple或never:
        使用简单备份:在被覆盖前进行了简单备份,简单备份只能有一份,
        再次被覆盖时,简单备份也会被覆盖。

转载于:https://www.cnblogs.com/qingmingsang/articles/6432233.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在Linux剪切文件,可以使用mv命令。例如,将文件file1移动到目录dir1中,可以使用以下命令: mv file1 dir1/ 其中,file1是要移动的文件名,dir1是目标目录名。注意,在Linux中,剪切文件实际上是将文件从原来的位置移动到新的位置。如果要在新位置创建一个副本并删除原文件,可以使用cp和rm命令组合。例如,将文件file1复制到目录dir1中,并删除原文件,可以使用以下命令: cp file1 dir1/ rm file1 其中,cp命令用于复制文件,rm命令用于删除文件。 ### 回答2: 在Linux中,我们可以使用`mv`命令来剪切文件。`mv`命令是move(移动)的缩写,它除了可以移动文件,还可以用来重命名文件。 基本的语法格式如下: ``` mv文件 目标路径 ``` 其中,`源文件`是要剪切文件名,可以包含绝对路径或者相对路径;`目标路径`是文件移动后的目标路径,也可以包含绝对路径或者相对路径。 如果目标路径是一个已存在的目录,则文件会被移动到该目录下。如果目标路径是一个新的路径名,则该文件会被重命名为目标路径名。 例如,假设我们要将当前目录下的文件`file.txt`剪切到`/home/user/documents`目录下,可以使用以下命令: ``` mv file.txt /home/user/documents/ ``` 如果我们希望将文件重命名为`newfile.txt`,可以将目标路径指定为新的文件名: ``` mv file.txt /home/user/documents/newfile.txt ``` 需要注意的是,如果目标路径下已存在同名文件,那么会直接覆盖掉该文件。 此外,我们还可以使用`mv`命令来移动多个文件,只需要在源文件后面列出多个文件名,并指定一个目标路径即可。另外,`mv`命令还支持使用通配符来批量移动文件。 总之,在Linux中,`mv`命令是剪切重命名文件的常用命令,使用它可以方便地对文件进行移动操作。 ### 回答3: 在Linux中,可以使用一些命令来剪切文件。 最常用的命令是“mv”。 通过使用该命令,您可以剪切文件到不同的目录或重命名文件。 要剪切文件,您需要使用“mv”命令,后跟要剪切文件名和目标目录的路径。例如,要将名为“file1.txt”的文件从当前目录剪切到“/home/user1/documents”目录,可以运行以下命令: mv file1.txt /home/user1/documents 此命令将文件剪切到目标目录,并将其重命名为相同的名称。如果您想要在目标目录中使用不同的名称,可以在目标文件名之后指定新的文件名。例如,运行以下命令将文件从当前目录剪切到目标目录并重命名为“newfile.txt”: mv file1.txt /home/user1/documents/newfile.txt 如果目标目录已经包含具有相同名称的文件,则默认情况下“mv”命令会询问是否要覆盖该文件。 如果您希望自动将文件覆盖目标目录中的同名文件,可以使用“-f”选项。 您可以运行以下命令来剪切并覆盖同名文件mv -f file1.txt /home/user1/documents 总之,通过使用“mv”命令并提供文件名和目标目录的路径,可以在Linux中轻松地剪切文件。 您还可以选择重命名文件或覆盖同名文件
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值