首页 > 系统相关 >Linux cp 命令

Linux cp 命令

时间:2023-04-09 22:55:49浏览次数:42  
标签:文件 packageA packageB 命令 复制 Linux home cp

Linux cp 命令

非常重要,运维必用命令

Linux cp(英文全拼:copy file)命令主要用于复制文件或目录。

语法

cp [options] source dest

cp [options] source... directory

参数说明

  • -a:此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于dpR参数组合。
  • -d:复制时保留链接。这里所说的链接相当于 Windows 系统中的快捷方式。
  • -f:覆盖已经存在的目标文件而不给出提示。
  • -i:与 -f 选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答 y 时目标文件将被覆盖。
  • -p:除复制文件的内容外,还把修改时间和访问权限也复制到新文件中。
  • -r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。
  • -l:不复制文件,只是生成链接文件。

实例

目录操作特别注意层级关系,到底是包含当前目录,还是当前目录下的所有文件

使用指令 cp 将当前目录 test/ 下的所有文件复制到新目录 newtest 下,输入如下命令:

$ cp –r test/ newtest          

注意:用户使用该指令复制目录时,必须使用参数 -r 或者 -R

Linux 将一个文件夹的所有内容拷贝到另外一个文件夹

cp 命令使用 -r 参数可以将 packageA 下的所有文件拷贝到 packageB 中:

cp -r /home/packageA/* /home/cp/packageB/

将一个文件夹复制到另一个文件夹下,以下实例 packageA 文件会拷贝到 packageB 中:

cp -r /home/packageA /home/packageB

运行命令之后 packageB 文件夹下就有 packageA 文件夹了。

下面四个命令结果相同,都是递归拷贝 packageA 文件及其任意层的结构到 packageB 中:

cp -r /home/packageA /home/packageB
cp -r /home/packageA /home/packageB/
cp -r /home/packageA/ /home/packageB
cp -r /home/packageA/ /home/packageB/

下面两个命令结果相同,都是不拷贝 packageA 文件,只递归拷贝其任意层的子结构到 packageB 中:

cp -r packageA/* packageB
cp -r packageA/* packageB/

标签:文件,packageA,packageB,命令,复制,Linux,home,cp
From: https://www.cnblogs.com/hcgk/p/17301361.html

相关文章

  • Linux touch命令
    Linuxtouch命令常用命令Linuxtouch命令用于修改文件或者目录的时间属性,包括存取时间和更改时间。若文件不存在,系统会建立一个新的文件。ls-l可以显示档案的时间记录。语法touch[-acfm][-d<日期时间>][-r<参考文件或目录>][-t<日期时间>][--help][--version][文件或目录......
  • Linux tee命令
    Linuxtee命令Linuxtee命令用于读取标准输入的数据,并将其内容输出成文件。tee指令会从标准输入设备读取数据,将其内容输出到标准输出设备,同时保存成文件。语法tee[-ai][--help][--version][文件...]参数:-a或--append附加到既有文件的后面,而非覆盖它.-i或--ignore-inte......
  • Linux split命令
    Linuxsplit命令Linuxsplit命令用于将一个文件分割成数个。该指令将大文件分割成较小的文件,在默认情况下将按照每1000行切割成一个小文件。语法split[--help][--version][-<行数>][-b<字节>][-C<字节>][-l<行数>][要切割的文件][输出文件名]参数说明:-<行数>:指定每......
  • 【学习笔记】在windows下进行基于TCP的本地客户端和服务端socket通信
    文章目录socket介绍java中使用socket基于tcp的socket通信使用ServerSocket类创建一个web服务器:(java)windows下的基于tcp的socket编程(c++写)InetAddress类的方法附录1TCPUDP附录2websocketsocket介绍Socket的英文原义是“孔”或“插座”。在编程中,Socket被称做套接字,是网络通......
  • unidac 在linux loongxarch64或arm64使用SQLite
    unidacSQLite默认使用静态连接方式,但UNIDAC官方SQLite未提供arm64或loongxarch64静态库,造成linuxfor龙芯或arm64无法使用SQLite,经跟踪unidac源码发现将souce/uniProviders/SQLite/LiteDac.inc添加{$DEFINENOSTATIC}然后安装liteprovider10.lpk就可以。//////////////////......
  • Linux下的IO
    阻塞IO和非阻塞IOIO本质是基于操作系统接口来控制底层的硬件之间数据传输,并且在操作系统中实现了多种不同的IO的方式(模型)IO模型描述的是不同的IO方式,比较常用的几种阻塞型IO模型9非阻塞型IO模型多路复用IO模型阻塞型IO当进程发出IO请求后,阻塞进程(让......
  • 内存去哪儿了——linux free 命令查看内存偏小
        相信很多公司都在使用云服务器,不知道大家有没有注意到,当你购买了一台云服务器以后,在操作系统里面通过free命令查看服务器的内存,容量总是会小于在云厂商控制台上面看到的内存容量。    为什么会这样呢,那就带着疑问往下看。现象描述购买了2台云服务,控制台上面显示......
  • SPECCPU2006的学习与使用
    SPECCPU2006的学习与使用摘要这个周末问题不是很多,陪孩子写作业时顺便研究了下SPEC2006虽然比较落后了.但是总比没有要强一些.其实集团有资源,但是联系不到人,只能自己学习和研究了.找了很多华为博客上面的知识点.但是依旧有很多问题想着先总结这,希望有时间慢慢完......
  • Linux安装Redis
    1.下载下载地址:https://redis.io/download  本人选择的是5.0.14版本  上传服务器。本人上传至usr/local目录下。2.解压  将解压后的redis-5.0.14文件夹改名为redis3.编译cd到/usr/local/redis目录,输入命令make执行编译命令,接下来控制台会输出各种编译过程中输......
  • 内存去哪儿了——linux free 命令查看内存偏小
        相信很多公司都在使用云服务器,不知道大家有没有注意到,当你购买了一台云服务器以后,在操作系统里面通过free命令查看服务器的内存,容量总是会小于在云厂商控制台上面看到的内存容量。    为什么会这样呢,那就带着疑问往下看。现象描述购买了2台云服务,控制台上面显......