Linux复制文件命令[cp命令示例]
如何在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/