当前位置:   article > 正文

Linux基础命令-cp拷贝文件_linux cp命令复制文件夹

linux cp命令复制文件夹

Linux文件管理命令(3)-mv改动文件_Linux学习中的博客-CSDN博客

Linux管理文件命令(2)rm命令-删除文件或者目录_Linux学习中的博客-CSDN博客

文章目录

前言

一、cp命令介绍

二、语法及常用参数

2.1 先用help查看命令语法

2.2 常用参数

 三、参考实例

3.1 复制源文件到其他目录

3.2 复制目录到其他目录,并修改目录名称

3.3 为源文件创建快捷方式

3.4 覆盖前将同名文件备份

3.5 给源文件建立硬链接

3.6 保留源文件的所有属性

总结

前言

        在日常工作中,复制粘贴的时常会需要用到,linux里也有自己的拷贝文件或者目录的命令,下面一起来看看,这个命令如何使用,并且有什么参数。

一、cp命令介绍

        cp命令来自于英文词组copy的缩写,用于将一个或者多个文件或目录复制到指定位置,常用于文件的备份工作。若要拷贝目录文件,则需要加上-r的参数进行递归操作,否则会出现报错的情况,而-f参数则是用于当目标文件已存在时会直接覆盖,不在询问,这两个参数尤为重要。

二、语法及常用参数

2.1 先用help查看命令语法

        语法: cp 【参数】源文件 目标文件

  1. [root@localhost ~]# cp --help
  2. 用法:cp [选项]... [-T] 源文件 目标文件
  3.  或:cp [选项]... 源文件... 目录
  4.  或:cp [选项]... -t 目录 源文件...

2.2 常用参数

-f若目标文件已存在,则会直接覆盖原文件
-i若目标文件已存在,则会询问是否覆盖
p保留源文件或目录的所有属性
-r递归复制文件和目录
d当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录
-l对源文件建立硬连接,而非复制文件
-s对源文件建立符号连接,而非复制文件
-b覆盖已存在的文件目标前将目标文件备份
-v详细显示cp命令执行的操作过程
-a等价于“pdr”选项

 三、参考实例

用来测试命令的文件及目录

  1. [root@localhost data]# tree -L 2
  2. .
  3. ├── 1.txt
  4. ├── 2.txt
  5. ├── 3.txt
  6. ├── 4.txt
  7. ├── test
  8. │   ├── 1.txt
  9. │   ├── a.txt
  10. │   ├── b.txt
  11. │   └── c.txt
  12. └── test1
  13. ├── b.txt
  14. ├── c.txt
  15. └── d.txt
  16. 2 directories, 11 files

3.1 复制源文件到其他目录

cp拷贝内容到目录下,目录刚好有同名的文件,会提示是否要覆盖同名的文件,这个是因为敲cp命令默认是cp -i ,这里到alias -p 看下。

  1. [root@localhost data]# cp 1.txt test
  2. cp:是否覆盖"test/1.txt"
  3. [root@localhost data]# alias -p | grep cp
  4. alias cp='cp -i'

3.2 复制目录到其他目录,并修改目录名称

cp复制目录时,是需要加上-r参数作为递归才可以执行成功。

  1. [root@localhost data]# cp -r test1 test/testdir
  2. [root@localhost data]# ll test
  3. 总用量 0
  4. -rw-r--r--. 1 root root 0 2月 14 15:30 1.txt
  5. -rw-r--r--. 1 root root 0 2月 14 15:24 a.txt
  6. -rw-r--r--. 1 root root 0 2月 14 15:24 b.txt
  7. -rw-r--r--. 1 root root 0 2月 14 15:24 c.txt
  8. drwxr-xr-x. 2 root root 45 2月 14 15:32 testdir

3.3 为源文件创建快捷方式

这个方式相当于是给源文件创建一个他的链接文件

  1. [root@localhost data]# cp -s 1.txt 5.txt
  2. [root@localhost data]# ll
  3. 总用量 0
  4. -rw-r--r--. 1 root root 0 2月 14 15:24 1.txt
  5. -rw-r--r--. 1 root root 0 2月 14 15:24 2.txt
  6. -rw-r--r--. 1 root root 0 2月 14 15:24 3.txt
  7. -rw-r--r--. 1 root root 0 2月 14 15:24 4.txt
  8. lrwxrwxrwx. 1 root root 5 2月 14 15:36 5.txt -> 1.txt

3.4 覆盖前将同名文件备份

使用-b参数给相同名字的文件提前创建一个备份文件,使其不被覆盖。

  1. [root@localhost data]# cp -b 1.txt test
  2. cp:是否覆盖"test/1.txt"? y
  3. [root@localhost data]# ll test/1*
  4. -rw-r--r--. 1 root root 0 2月 14 15:38 test/1.txt
  5. -rw-r--r--. 1 root root 0 2月 14 15:30 test/1.txt~

3.5 给源文件建立硬链接

  1. [root@localhost data]# cp -l 1.txt 6.txt
  2. [root@localhost data]# ll
  3. 总用量 0
  4. -rw-r--r--. 2 root root 0 2月 14 15:24 1.txt
  5. -rw-r--r--. 1 root root 0 2月 14 15:24 2.txt
  6. -rw-r--r--. 1 root root 0 2月 14 15:24 3.txt
  7. -rw-r--r--. 1 root root 0 2月 14 15:24 4.txt
  8. lrwxrwxrwx. 1 root root 5 2月 14 15:36 5.txt -> 1.txt
  9. -rw-r--r--. 2 root root 0 2月 14 15:24 6.txt

3.6 保留源文件的所有属性

先给文件设置一个777权限,用-p参数保留文件的权限属性一并复制到test的目录中,可以用ll查看目录文件的权限属性和源文件是一样的,都是777权限;再把同文件(已修改777权限的)不加参数的复制到test1的目录中,查看文件的权限是(644)权限。

  1. [root@localhost data]# chmod 777 2.txt
  2. [root@localhost data]# ll 2.txt
  3. -rwxrwxrwx. 1 root root 0 2月 14 15:24 2.txt
  4. [root@localhost data]# cp -pv 2.txt test
  5. "2.txt" -> "test/2.txt"
  6. [root@localhost data]# ll test/
  7. 1.txt 1.txt~ 2.txt a.txt b.txt c.txt testdir/
  8. [root@localhost data]# ll test/2.txt
  9. -rwxrwxrwx. 1 root root 0 2月 14 15:24 test/2.txt
  10. [root@localhost data]# cp 2.txt test1/
  11. [root@localhost data]# ll test1/2.txt
  12. -rwxr-xr-x. 1 root root 0 2月 14 15:43 test1/2.txt

总结

        cp命令一样是个频繁使用的命令,不管是用作备份、还是复制文件信息,即保留了源文件,在想粘贴的地方又多了个目标文件;还可以用来设置源文件的硬链接和软连接,这点和ln的方式一样。如果觉得内容还行的,可以点个赞支持一下!

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/866814
推荐阅读
相关标签
  

闽ICP备14008679号