Linux cp命令

时间:2019-11-20 08:53:16  来源:igfitidea点击:

在Linux系统中,如何复制文件?
如何在Linux上复制文件和目录?

cp命令语法

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

Linux复制文件示例

将当前目录中file.doc文件复制为newfile.doc:

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

将多个文件复制到backup目录:

$ cp main.c demo.h libc. backup

将文件复制到另一个目录

将文件从当前目录复制到另一个目录/tmp/:

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

查看复制时的详细信息

使用-v选项查看复制时命令的操作过程

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

输出示例:

foo.txt -> /tmp/foo.txt

复制时保留文件属性

要保留原来的修改时间,权限等,使用-p选项:

$ 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

将目录中的所有word文档(*.doc)复制到新目录

$ cp *.doc /home/tom/backup

递归复制

将目录(包括其所有文件和子目录)复制到另一个目录:

$ cp -R * /home/tom/backup

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

当目标目录存在bar文件时,在覆盖文件之前进行提示:

cp -i foo bar