Linux复制文件命令[cp命令示例]

时间:2020-01-09 14:16:09  来源:igfitidea点击:

如何在Linux操作系统下复制文件?
如何在Linux bash shell上制作文件的第二个副本?
如何在Linux上复制文件和目录?
要复制文件和目录,请在Linux,类UNIX和BSD等操作系统下使用cp命令。

cp是在Unix和Linuxshell程序中输入的命令,用于将文件从一个位置复制到另一个位置(可能在另一个文件系统上)。
原始文件保持不变,新文件的名称可以相同或不同。

cp命令语法

使用cp命令复制文件和目录的语法如下:

cp SOURCE DEST 
cp SOURCE DIRECTORY 
cp SOURCE1 SOURCE2 SOURCE3 SOURCEn DIRECTORY 
cp [OPTION] SOURCE DEST 
cp [OPTION] SOURCE DIRECTORY 
  • 在第一种和第二种语法中,将SOURCE文件复制到DEST文件或DIRECTORY。
  • 在第三种语法中,您将多个SOURCE(文件)复制到DIRECTORY。

注意:您需要在美元符号($)提示符下执行cp命令。
此提示意味着shell程序已准备就绪,可以接受您执行的命令。
不要执行美元符号。
您需要打开终端应用程序才能在Linux上使用cp命令。

Linux复制文件示例

要将当前目录中名为file.doc的文件复制为newfile.doc,请输入:

$ cp file.doc newfile.doc
$ ls -l *.doc

输出示例:

-rw-r--r--  1 veryv  wheel  20 Mar 20 17:42 file.doc
-rw-r--r--  1 veryv  wheel  20 Mar 20 17:43 newfile.doc

您可以将多个文件同时复制到另一个目录。
在此示例中,将名为main.c,demo.h和lib.c的文件复制到名为backup的目录中:

$ cp main.c demo.h libc. backup

如果备份位于/home/project中,请输入:

$ cp main.c demo.h libc. /home/project backup

将文件复制到另一个目录

要将文件从当前目录复制到另一个目录/tmp /,请输入:

$ cp filename /tmp
$ ls /tmp/filename
$ cd /tmp
$ ls
$ rm filename

详细选项

要在复制文件时查看文件,请按如下所示将-v选项传递给cp命令:

$ cp -v filename.txt filename.bak
$ cp -v foo.txt /tmp

输出示例:

foo.txt -> /tmp/foo.txt

保留文件属性

要将文件复制到新文件并保留与源文件关联的修改日期,时间和访问控制列表,请输入:

$ cp -p file.txt /dir1/dir2/
$ cp -p filename /path/to/new/location/myfile

此选项(-p)强制cp根据权限允许在副本中保留每个源文件的以下属性:

  • 修改时间/日期
  • 访问时间
  • 文件标志
  • 档案模式
  • 用户ID(UID)
  • 组ID(GID)
  • 访问控制列表(ACL)
  • 扩展属性(EA)

复制所有文件

星号通配符代表任何内容,即所有文件。
要将目录中的所有文件复制到新目录,请输入:

$ cp * /home/tom/backup

星号通配符表示名称以.doc扩展名结尾的任何内容。
因此,要将目录中的所有文档文件(* .doc)复制到新目录,请输入:

$ cp *.doc /home/tom/backup

递归复制

要将目录(包括其所有文件和子目录)复制到另一个目录,请输入(递归复制目录):

$ cp -R * /home/tom/backup

带有交互式选项的Linux复制文件命令

您可以在覆盖文件之前得到提示。
例如,如果希望复制一个名为foo的文件并将其命名为bar,并且如果已经存在一个名为bar的文件,则以下内容将提示用户,然后用相同的名称替换任何文件:

cp -i foo bar

使用cp命令进行详细输出

如果将-v传递给cp,它会告诉您发生了什么。
那是冗长的输出:

cp -v file1 file2
cp -avr dir2 /backups/