当前位置: 首页 > news >正文

mv命令学习

移动和重命名文件

mv
mv命令的作用就是将文件系统的文件从一个地方移动到另一个地方。

$ pwd
/home/scott/libby
$ ls
libby_arrowrock.jpg  libby_bak.jpg  libby.jpg
➥libby_on_couch.jpg  on_floor
$ ls ~/pictures/dogs
libby_on_floor_01.jpg libby_on_floor_03.jpg
libby_on_floor_02.jpg libby_on_floor_04.jpg
$ mv ~/pictures/dogs/libby_on_floor_04.jpg
➥libby_on_floor_04.jpg
$ ls
libby_arrowrock.jpg libby.jpg
➥libby_on_floor_04.jpg
libby_bak.jpg       libby_on_couch.jpg on_floor
$ ls ~/pictures/dogs
libby_on_floor_01.jpg  libby_on_floor_02.jpg
➥libby_on_floor_03.jpg

和使用cp命令一样,如果你不喜欢重复输入文件名称,也可以使用点号“.”来表示当前目录。

$ pwd
/home/scott/libby
$ ls
arrowrock.jpg  libby.jpg  on_couch.jpg  on_floor
$ ls ~/pictures/dogs
on_floor_01.jpg  on_floor_03.jpg
on_floor_02.jpg  on_floor_04.jpg
$ mv ~/pictures/dogs/on_floor_04.jpg .
$ ls
arrowrock.jpg  on_couch.jpg  on_floor_04.jpg
libby.jpg      on_floor
$ ls ~/pictures/dogs
on_floor_01.jpg  on_floor_02.jpg  on_floor_03.jpg

如果你需要将文件移动到另一个目录,并保持文件名相同,则只需要指定目录。目标文件名默认保持不变。

$ pwd
/home/scott/libby
$ ls
arrowrock.jpg  on_couch.jpg  on_floor_04.jpg
libby.jpg      on_floor
$ ls on_floor
on_floor_01.jpg  on_floor_02.jpg  on_floor_03.jpg
$ mv  on_floor_04.jpg on_floor
$ ls
arrowrock.jpg  on_couch.jpg  on_floor_04.jpg
libby.jpg      on_floor
$ ls on_floor
on_floor_01.jpg  on_floor_03.jpg
on_floor_02.jpg  on_floor_04.jpg

为了直观地表达on_floor实际上是一个目录,在文件要移动到的目录名后面写个“/”符号加以标识,如mv libby_on_ floor_04.jpg on_floor/。如果on_floor不是目录,mv命令就不会起作用,这样可以防止你无意间覆盖了其他文件。
说明:cp和mv命令使用很多相同的选项,这些选项在每个命令中的运行方式也相同。例如,-v可以在复制和移动文件时显示执行过程,-i在复制和移动文件时交互式地提示是否覆盖已经有的文件。

重命名文件和文件夹

mv
mv命令另一个功能是它也可以用来重命名文件。如果要移动文件,就必须为它指定一个目标名称。没有规则要求目标名称必须与源文件名称相同,所以shell用户从一开始就依靠mv命令来重命名文件和目录。

$ pwd
/home/scott/libby/by_pool
$ ls -F
libby_by_pool_02.jpg  liebermans/
$ mv liebermans/ lieberman_pool/
$ ls -F
libby_by_pool_02.jpg lieberman_pool/

使用cp命令移动目录时,为了复制真实的目录结构,必须指定-R(或–recursive)选项。从前一个例子可以看到,mv命令并非如此,它可以顺利地移动或重命名目录,根本不需要指定任何额外选项,与cp命令相比,这是非常好的改变。
警告:对于mv命令,有个非常重要但又很容易被忽略的细节需要知道。如果你在移动一个指向目录的软链接,就需要特别注意输入的内容。假设在你的home目录中有一个名为dogs的软链接指向/home/scott/pictures/dogs,而你想将这个链接移动到/home/scott/libby子目录中。以下这个命令只移动软链接:

$ mv dogs ~/libby

而以下这条命令移动的是软链接所指向的目录:

$ mv dogs/ ~/libby

在软链接的末端加了一个简单的斜杠(“/”)。没有斜杠的话,移动的是软链接本身,而且只是这个链接;有了斜杠的话,移动的将是软链接指定的目录,而不是软链接本身。

http://www.lryc.cn/news/416505.html

相关文章:

  • 西北航天基地采用Infortrend NAS存储做影视后期及共享
  • GitHub每日最火火火项目(8.6)
  • LangChain与CI/CD的无缝对接:自动化部署的新前沿
  • Laravel为什么会成为最优雅的PHP框架?
  • LabVIEW中的Reverse String函数与字节序转换
  • 用OpenCV与MFC写一个简单易用的图像处理程序
  • go语言的actor框架和air工具有什么区别?
  • e6.利用 docker 快速部署自动化运维平台
  • 回顾前面刷过的算法(4)
  • SourceTree配置多个不同Remote地址的仓库
  • 【Golang 面试 - 进阶题】每日 3 题(十三)
  • 自定义线程池(二)
  • 【Linux】常见指令
  • uniapp自定义网格布局用于选择金额、输入框焦点事件以及点击逻辑实战
  • 中小学创客室培养学生全面发展
  • AI Agent智能体落地应用测试,一句话即可操控它执行工作
  • 免费的SD-WAN服务
  • gradle安装及配置
  • C-sharp-console-gui-framework:C#控制台应用程序的GUI框架
  • 一文搞懂后端面试之MySQL MVCC【中间件 | 数据库 | MySQL | 隔离级别 | Read View】
  • Mysql执行计划(上)
  • 使用Python+moviepy截取音频片段
  • Java学习Day19
  • 8.达梦数据库常用SQL
  • 深入理解接口测试:实用指南与最佳实践(四)IHRM管理系统实战-项目分析
  • 程序编译及链接
  • route 命令介绍及使用方法
  • 力扣热题100_二叉树_226_翻转二叉树
  • Java SpringBoot 集成 MinIO 资料
  • 鸿蒙系统开发【加解密算法库框架】安全