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

用的到的linux-文件移动-Day2

前言:

        在上一节,我们复习了cd大法和创建生成文件和文件夹的方法,介绍了一些“偷懒”(高效)的小技巧,本节,我们一起来探讨下,我们对文件移动操作时有哪些可以偷懒的小技巧~

一、复制-磕CP

        1、复制文件夹

        1.1、定义:cp命令的作用是复制文件和目录

        1.2、用法:cp [选项] 源 目标

        1.3、选项 -r 递归,复制子文件和子目录,一般用于复制目录

             选项 -a 复制时保留源文件的所有属性(包括权限、时间等)

        案例:复制data 目录下的整个test1文件夹文件至tmp目录下

        如下图所示,tmp目录下是没有test1的文件夹

        执行复制命令 cp /data/test1 /tmp/ #复制data目录下的test1文件夹至tmp目录下

cp /data/test1 /tmp/ #复制data目录下的test1文件夹至tmp目录下

                注意:

        1.1、需要的注意的是,我们在复制的时候,源目录之间不要出现空格,不然会造成复制出错,比如将cp /data/test1 /tmp/ 写成cp /data/  test1  /tmp/ ,这时候执行的结果是会将整个data目录复制到tmp目录下。

        1.2、使用-r 选项命令,创建时间会是复制完成的系统时间,使用-a选项命令,创建 时间也不会变,如果你不想更改文件夹的创建时间就可以使用-a选项来达成。

                2、复制文件

             如下图所示,在test1文件夹下面有两个xml文件,我们怎么实现只复制web.xml并改名为web_new.xml?

cp /data/test1/web.xml /tmp/test1/web_new.xml #复制web.xml文件至tmp/test1目录下并改名为web_new.xml

                 如下图所示,我们在tmp/test1下面生成了一个新的web_new.xml的文件

 因此复制文件的区别是,不需要带上-r 或者 -a,这时候聪明的同学会问了,如果那个目录存在文件时,又改如何处理呢?其实此时会和我们平时复制粘贴文件一样,会提示是否覆盖,我们可以选择Y或者N来选择覆盖和不覆盖。

二、剪切移动-mv换地方

        其实上面说的cp也是一种移动,这种移动更像我们常用的CV大法,复制粘贴文件或文件夹。下面我们来看看mv的移动和cp的复制移动有哪些不一样的。

        1、移动文件

        mv定义:移动(重命名)文件或目录。

        如下图所示我们将data/test1目录下的hello.txt文件剪切至tmp/test1下,剪切后的文件创建时间是没有发生改变的。因此mv 和 cp相似的点就是都实现了文件的移动,但mv会将源文件删除了再移动,而cp不会更改源文件。因此对于小白移动文件时建议先采用cp命令,避免因测试影响了文件位置后,导致系统功能出现问题。

        2、移动文件并重命名

        

 

        如上图所示,我们将hello.txt 重命名为hello.doc并移回至data/test1 目录下,因此mv还可以用来重命名文件,这是cp不如mv方便的地方,cp也可以重命名文件,但是需要移动文件的位置。

        当然移动文件夹也是类似的,就不在复述了,需要注意的是mv是采用剪切的方式。

         最终我们在tmp目录下看到我们从data目录下移动过来的文件夹。

三、总结

        本节,我们就讲了两个点,一个是复制粘贴,一个剪切粘贴,各有各的优势。cp的复制粘贴,不影响源文件,但是不能在移动完成后对文件重命名。mv会将源文件删除后,再粘贴值目标目录下,并可以在完成后重命名文件或者文件夹。

        工具没有好坏之分,就看我们怎么去用它,下节我们继续重温文件和文件夹的删除操作~欢迎继续关注我的专栏,一起学习、进步~ 

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

相关文章:

  • 红队打靶练习:INFOSEC PREP: OSCP
  • 【linux】文件修改记录
  • Vue学习Element-ui
  • 存内计算技术—解决冯·诺依曼瓶颈的AI算力引擎
  • 数据结构--树
  • 计算机网络_1.3电路交换、分组交换和报文交换
  • 【AI视野·今日NLP 自然语言处理论文速览 第七十七期】Mon, 15 Jan 2024
  • 神经网络的一些常规概念
  • 【从零开始的rust web开发之路 三】orm框架sea-orm入门使用教程
  • SQL中limit的用法
  • vue3 [Vue warn]: Unhandled error during execution of scheduler flush
  • 【vue2源码】阶段一:Vue 初始化
  • 14.java集合
  • 二叉树顺序结构堆实现
  • 正则表达式 与文本三剑客(sed grep awk)
  • 【XR806开发板试用】全志 XR806 OpenHarmony 鸿蒙系统固件烧录
  • linux环境安装git、maven、jenkins等
  • RabbitMQ快速上手
  • SpringBoot activemq收发消息、配置及原理
  • 视频智能识别安全帽佩戴系统-工地安全帽佩戴识别算法---豌豆云
  • 指针的深入理解(三)
  • 【Linux C | 网络编程】详细介绍 “三次握手(建立连接)、四次挥手(终止连接)、TCP状态”
  • 主从数据库MySQL服务重启步骤与注意事项
  • netlink学习
  • 地理空间分析10——空间数据分析中的地理编码与Python
  • 使用“快速开始”将数据传输到新的 iPhone 或 iPad
  • 计算机网络(第六版)复习提纲13
  • [office] excel2010双向条形图制作 #经验分享#微信
  • 优雅管理多线程异步任务 - 永动异步任务
  • 软考笔记--分布式数据库