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 【参数】源文件 目标文件
[root@localhost ~]# cp --help
用法:cp [选项]... [-T] 源文件 目标文件
或:cp [选项]... 源文件... 目录
或:cp [选项]... -t 目录 源文件...
2.2 常用参数
-f | 若目标文件已存在,则会直接覆盖原文件 |
-i | 若目标文件已存在,则会询问是否覆盖 |
p | 保留源文件或目录的所有属性 |
-r | 递归复制文件和目录 |
d | 当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录 |
-l | 对源文件建立硬连接,而非复制文件 |
-s | 对源文件建立符号连接,而非复制文件 |
-b | 覆盖已存在的文件目标前将目标文件备份 |
-v | 详细显示cp命令执行的操作过程 |
-a | 等价于“pdr”选项 |
三、参考实例
用来测试命令的文件及目录
[root@localhost data]# tree -L 2
.
├── 1.txt
├── 2.txt
├── 3.txt
├── 4.txt
├── test
│ ├── 1.txt
│ ├── a.txt
│ ├── b.txt
│ └── c.txt
└── test1
├── b.txt
├── c.txt
└── d.txt
2 directories, 11 files
3.1 复制源文件到其他目录
cp拷贝内容到目录下,目录刚好有同名的文件,会提示是否要覆盖同名的文件,这个是因为敲cp命令默认是cp -i ,这里到alias -p 看下。
[root@localhost data]# cp 1.txt test
cp:是否覆盖"test/1.txt"?
[root@localhost data]# alias -p | grep cp
alias cp='cp -i'
3.2 复制目录到其他目录,并修改目录名称
cp复制目录时,是需要加上-r参数作为递归才可以执行成功。
[root@localhost data]# cp -r test1 test/testdir
[root@localhost data]# ll test
总用量 0
-rw-r--r--. 1 root root 0 2月 14 15:30 1.txt
-rw-r--r--. 1 root root 0 2月 14 15:24 a.txt
-rw-r--r--. 1 root root 0 2月 14 15:24 b.txt
-rw-r--r--. 1 root root 0 2月 14 15:24 c.txt
drwxr-xr-x. 2 root root 45 2月 14 15:32 testdir
3.3 为源文件创建快捷方式
这个方式相当于是给源文件创建一个他的链接文件
[root@localhost data]# cp -s 1.txt 5.txt
[root@localhost data]# ll
总用量 0
-rw-r--r--. 1 root root 0 2月 14 15:24 1.txt
-rw-r--r--. 1 root root 0 2月 14 15:24 2.txt
-rw-r--r--. 1 root root 0 2月 14 15:24 3.txt
-rw-r--r--. 1 root root 0 2月 14 15:24 4.txt
lrwxrwxrwx. 1 root root 5 2月 14 15:36 5.txt -> 1.txt
3.4 覆盖前将同名文件备份
使用-b参数给相同名字的文件提前创建一个备份文件,使其不被覆盖。
[root@localhost data]# cp -b 1.txt test
cp:是否覆盖"test/1.txt"? y
[root@localhost data]# ll test/1*
-rw-r--r--. 1 root root 0 2月 14 15:38 test/1.txt
-rw-r--r--. 1 root root 0 2月 14 15:30 test/1.txt~
3.5 给源文件建立硬链接
[root@localhost data]# cp -l 1.txt 6.txt
[root@localhost data]# ll
总用量 0
-rw-r--r--. 2 root root 0 2月 14 15:24 1.txt
-rw-r--r--. 1 root root 0 2月 14 15:24 2.txt
-rw-r--r--. 1 root root 0 2月 14 15:24 3.txt
-rw-r--r--. 1 root root 0 2月 14 15:24 4.txt
lrwxrwxrwx. 1 root root 5 2月 14 15:36 5.txt -> 1.txt
-rw-r--r--. 2 root root 0 2月 14 15:24 6.txt
3.6 保留源文件的所有属性
先给文件设置一个777权限,用-p参数保留文件的权限属性一并复制到test的目录中,可以用ll查看目录文件的权限属性和源文件是一样的,都是777权限;再把同文件(已修改777权限的)不加参数的复制到test1的目录中,查看文件的权限是(644)权限。
[root@localhost data]# chmod 777 2.txt
[root@localhost data]# ll 2.txt
-rwxrwxrwx. 1 root root 0 2月 14 15:24 2.txt
[root@localhost data]# cp -pv 2.txt test
"2.txt" -> "test/2.txt"
[root@localhost data]# ll test/
1.txt 1.txt~ 2.txt a.txt b.txt c.txt testdir/
[root@localhost data]# ll test/2.txt
-rwxrwxrwx. 1 root root 0 2月 14 15:24 test/2.txt
[root@localhost data]# cp 2.txt test1/
[root@localhost data]# ll test1/2.txt
-rwxr-xr-x. 1 root root 0 2月 14 15:43 test1/2.txt
总结
cp命令一样是个频繁使用的命令,不管是用作备份、还是复制文件信息,即保留了源文件,在想粘贴的地方又多了个目标文件;还可以用来设置源文件的硬链接和软连接,这点和ln的方式一样。如果觉得内容还行的,可以点个赞支持一下!
文章来源:https://www.toymoban.com/news/detail-605374.html
文章来源地址https://www.toymoban.com/news/detail-605374.html
到了这里,关于Linux基础命令-cp拷贝文件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!