linux常用命令(3):cp命令(文件复制)

一、命令简介

cp(copy)复制文件和目录。

cp 命令主要用于复制文件或目录,可以将一个或多个源文件或者目录复制到指定目的文件或目录。当一次复制多个文件时,目标文件参数必须是一个已经存在的目录,否则将出现错误。

二、语法

cp [options] source dest
或
cp [options] source... directory

常见参数

参数说明:

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

三、示例

(1)复制文件 a、b、c、d 到 dir2。

注意,目录 dir2 需要事先存在,否则报错。

cp a b c d dir2

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

 cp –r test/ newtest

(3)复制目录 dir1 到 dir2。

如果 dir2 不存在,相当于将 dir1 拷贝一份并命名为 dir2。

如果 dir2 事先存在,相当于将 dir1 拷贝一份放到 dir2 目录下。

cp -r dir1 dir2

(4)交互式地将目录/home/test 中的以 a打头的所有 .txt文件复制到目录 /home中。

cp -i /home/test  a*.txt  /home

我们在 Linux 下使用 cp 命令复制文件时候,有时候会需要覆盖一些同名文件,覆盖文件的时候都会有提示:需要不停的按 Y 来确定执行覆盖。

(5)扩展:cp与其他命令组合使用,复制符合条件的文件到另一目录

cp $(find /oldboy/ -type f -name "*.sh")  /tmp

猜你喜欢

转载自blog.csdn.net/weixin_49114503/article/details/132989299