ToB企服应用市场:ToB评测及商务社交产业平台

标题: Linux 常用下令 - mv 【移动或重命名文件】 [打印本页]

作者: 拉不拉稀肚拉稀    时间: 2025-1-8 06:40
标题: Linux 常用下令 - mv 【移动或重命名文件】
简介

mv 下令源于 “move”,意为“移动”,重要用于移动文件或重命名文件。这个下令可以改变文件在文件系统中的位置或名称。区别于 cp 指令,cp 后的文件个数是增加的,所以会额外占用与原文件相同大小的磁盘空间,mv 则不会。在同一个目次内对文件进行移动的操作,实际上可以明白为重命名操作。
使用方式

  1. mv [选项]... [-T] 源文件 目标文件
  2. mv [选项]... 源文件... 目录
  3. mv [选项]... -t 目录 源文件...
复制代码
常用选项


CONTROL

默认的备份后缀为 ~,可以通过 --suffix 选项或 SIMPLE_BACKUP_SUFFIX 情况变量来修改。版本控制策略则可以通过 --backup 选项大概 VERSION_CONTROL 这个情况变量来修改,其可接受的值如下:

参考示例

1. 移动文件到指定目次

  1. mv new.txt ./sub_dir/
复制代码
使用 mv 将 new.txt 移动到当前目次下的 sub_dir 目次下:
  1. jay@jaylinuxlenovo:~/test/cmd_test_dir$ ls -Rl.:total 8-rw-rw-r-- 1 jay jay  121 Jul 28 17:26 new.txtdrwxrwxr-x 2 jay jay 4096 Aug 12 11:25 sub_dir./sub_dir:total 0jay@jaylinuxlenovo:~/test/cmd_test_dir$ mv new.txt ./sub_dir/
  2. jay@jaylinuxlenovo:~/test/cmd_test_dir$ ls -Rl.:total 4drwxrwxr-x 2 jay jay 4096 Aug 12 12:42 sub_dir./sub_dir:total 4-rw-rw-r-- 1 jay jay 121 Jul 28 17:26 new.txt
复制代码
使用 ls 下令可以观察到移动之前 new.txt 在当前目次下, sub_dir 目次为空,移动之后 new.txt 被成功转移到 sub_dir 中。
2. 移动时若存在覆盖则创建备份

  1. mv -b new.txt ./sub_dir/new.txt
复制代码
使用 -b 选项可以在目标文件存在的情况下主动创建一个备份:
  1. jay@jaylinuxlenovo:~/test/cmd_test_dir$ mv -b new.txt ./sub_dir/new.txt
  2. jay@jaylinuxlenovo:~/test/cmd_test_dir$ ls sub_dir/new.txt  new.txt~
复制代码
移动后使用 ls 指令可以看到多了一个 ~ 末了的备份文件。
3. 强制覆盖目标不提示

  1. mv -f new.txt ./sub_dir/new.txt
复制代码
使用 -f 选项可以在源文件存在的情况下强制进行覆盖而不进行提示:
  1. jay@jaylinuxlenovo:~/test/cmd_test_dir$ mv -f new.txt ./sub_dir/new.txt
  2. jay@jaylinuxlenovo:~/test/cmd_test_dir$ ls ./sub_dir/new.txt
复制代码
可以看到 mv -f 指令并没有提示任何信息,sub_dir 下的 new.txt 实际已被覆盖。
4. 交互式操作,覆盖前扣问

  1. mv -i new.txt ./sub_dir/new.txt
复制代码
由于 sub_dir 下已经存在一个 new.txt,所以此时使用 mv 时会产生覆盖,同时由于指定了 -i 选项,系统会在覆盖进步行交互式扣问:
  1. jay@jaylinuxlenovo:~/test/cmd_test_dir$ mv -i new.txt ./sub_dir/new.txt
  2. mv: overwrite './sub_dir/new.txt'? y
复制代码
可以看到 mv 在覆盖前给出了提示,输入 y 并回车后进行了移动以及覆盖。
5. 显示详细的处理过程

  1. mv -v new.txt ./new-rename.txt
复制代码
使用 -v 选项可以在指令执行时显示详细的执行信息:
  1. jay@jaylinuxlenovo:~/test/cmd_test_dir$ mv -v new.txt ./new-rename.txt
  2. renamed 'new.txt' -> './new-rename.txt'
复制代码
留意事项



免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4