对Linux的cp命令的思考

关于cp命令:

1.将一个文件复制到一个目录中,并保持原文件名。

[[email protected] test]# ls -l
total 44
drwxr-xr-x 2 root         root         4096 May  4 20:56 d1
drwxr-xr-x 4 root         root         4096 May  3 23:00 d2
-rw-r--r-- 1 root         root            0 May  4 20:54 dir1
-rw-rw-r-- 1 zhangfengzhe zhangfengzhe    0 Feb 26  2012 helloworld
-rw-r--r-- 1 root         root            0 May  3 23:05 helloworld2
-rw-rw-r-- 1 zhangfengzhe zhangfengzhe    0 Feb 26  2012 helloworld3
-rw-r--r-- 1 root         root            0 May  3 22:49 t1
-rw-r--r-- 1 root         root            0 May  3 22:49 t2
-rw-r--r-- 1 root         root            0 May  3 22:49 t3
[[email protected] test]# cp /etc/passwd ./
[[email protected] test]# ls -l
total 52
drwxr-xr-x 2 root         root         4096 May  4 20:56 d1
drwxr-xr-x 4 root         root         4096 May  3 23:00 d2
-rw-r--r-- 1 root         root            0 May  4 20:54 dir1
-rw-rw-r-- 1 zhangfengzhe zhangfengzhe    0 Feb 26  2012 helloworld
-rw-r--r-- 1 root         root            0 May  3 23:05 helloworld2
-rw-rw-r-- 1 zhangfengzhe zhangfengzhe    0 Feb 26  2012 helloworld3
-rw-r--r-- 1 root         root         1705 May  4 21:03 passwd
-rw-r--r-- 1 root         root            0 May  3 22:49 t1
-rw-r--r-- 1 root         root            0 May  3 22:49 t2
-rw-r--r-- 1 root         root            0 May  3 22:49 t3
[[email protected] test]#

2.将一个文件复制到一个目录中,但是重命名这个文件名称。

[[email protected] test]# cp /etc/passwd ./mypasswd
[[email protected] test]# ls -l
total 60
drwxr-xr-x 2 root         root         4096 May  4 20:56 d1
drwxr-xr-x 4 root         root         4096 May  3 23:00 d2
-rw-r--r-- 1 root         root            0 May  4 20:54 dir1
-rw-rw-r-- 1 zhangfengzhe zhangfengzhe    0 Feb 26  2012 helloworld
-rw-r--r-- 1 root         root            0 May  3 23:05 helloworld2
-rw-rw-r-- 1 zhangfengzhe zhangfengzhe    0 Feb 26  2012 helloworld3
-rw-r--r-- 1 root         root         1705 May  4 21:05 mypasswd
-rw-r--r-- 1 root         root         1705 May  4 21:03 passwd
-rw-r--r-- 1 root         root            0 May  3 22:49 t1
-rw-r--r-- 1 root         root            0 May  3 22:49 t2
-rw-r--r-- 1 root         root            0 May  3 22:49 t3
[[email protected] test]#

3.将多个文件复制到一个目录中,注意只能是files copy to directory,并且directory必须存在。

[[email protected] test]# cp t1 t2 t3 dir2
cp: target `dir2‘ is not a directory

4.将目录递归复制到目标目录,目标目录可以不存在,因为可以先复制过去后重命名。

[[email protected] test]# cp -r d2 ./d1/abcdef
[[email protected] test]# tree d1
d1
|-- abcdef
|   |-- d1
|   |   |-- t1
|   |   |-- t2
|   |   `-- t3
|   |-- d11
|   |   |-- t1
|   |   |-- t2
|   |   `-- t3
|   |-- t1
|   `-- t22
|-- helloworld
|-- t1
|-- t2
`-- t3

5.文件有2个方面的内容,一个是文件内容,一个是文件的属性(mode,owner,group,timestamp),考虑下,cp将如何处理文件的属性?

在默认情况下,谁复制的这个文件,那么新文件就属于谁的。
可以使用-p(perserve)保持住原来的文件属性。

6.如果文件是链接文件,那么复制的是链接,还是链接所指向的文件?

默认情况下,cp复制的是链接文件指向的文件。
可以通过-P选项,达到只复制链接文件。

(有时候,这将非常有用,因为,我们就只是想复制链接而已。)

7.我们常常使用cp -a来实现文件的打包归档存放(保持住文件的一切属性),经常用于备份。

对Linux的cp命令的思考,布布扣,bubuko.com

时间: 2024-08-04 09:15:50

对Linux的cp命令的思考的相关文章

Linux 中 cp 命令(文件复制)

cp命令用来将一个或多个源文件或者目录复制到指定的目的文件或目录.它可以将单个源文件复制成一个指定文件名的具体的文件或一个已经存在的目录下.cp命令还支持同时复制多个文件,当一次复制多个文件时,目标文件参数必须是一个已经存在的目录,否则将出现错误. 语法 cp(选项)(参数) 选项 -a:此参数的效果和同时指定"-dpR"参数相同: -d:当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录: -f:强行复制文件或目录,不论目标文件或目录是否已存

Linux使用cp命令直接覆盖不提示的方法

普通的cp命令使用 例如:cp abc.txt /home 如果/home里面之前有abc.txt文件,会提示你是否要覆盖?这个时候你需要输入Y,假如文件很多的话,每复制一个文件都要输入一次Y. 下面介绍cp文件时直接覆盖不提示的方法 命令如下: \cp abc.txt /home 直接复制abc.txt 到/home 里面,不管/home 里面之前是否有这个文件都会直接覆盖,不再出现覆盖提示!

关于Linux 中cp命令

0.cp命令 (复制档案或目录) 1.# cp [-adfilprsu] 来源档(source) 目的档(destination) 2.# cp [options] source1 source2 source3 .... directory 参数: -a(archive):相当于 -pdr 的意思:不改变源的所有属性,用于归档复制,常用于备份:= --backup -d(no-dereference):若来源文件为链接文件的属性(link file),则复制连结文件属性而非档案本身:即如果源是

linux之cp命令详解

Copy Files And Directory 文件的复制和移动对于大多数计算机爱好者来说是耳熟能详的,在window下直接鼠标右键复制粘贴,重命名等等,看着是那么简单,但是步骤也不少,但是在linux中文件的复制与移动也仅仅就是一句命令就可以实现,下面我们就来看看文件中的复制命令把.. Name: cp(copy files and directory)复制文件和目录 命令格式: cp [选项]... SOURCE... DESC "..."表示源文件可以有多个因此我们可以从上面得

Linux 20180411 cp命令等

cp copy 从源文件拷贝成目标文件.源文件依然存在,是copy 建议拷贝目录的时候,目录都加上斜杠 -i就是询问是否覆盖啥的 如果不想带 -i选项就只能把整个路径写下来,直接到路径下找到命令 拷贝文件的时候,如果遇到充满重名的时候会问要不要覆盖,那在拷贝目录的时候呢? 当目标目录已经存在的时候,会把源目录放到目标目录里面去. 发现了一个现象,就是如果不写绝对路径的话,就不会拷贝成功,且需要加-r选项-------------原来默认的cp是不能复制目录的,如果想复制目录必须递归复制,也就是要

从零开始学习Linux(cp 命令)

功能: 复制文件或目录说明: cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中.若同时指定多个文件或目录,而最后的目的地并非一个已存在的目录,则会出现错误信息参数:     -a 或 --archive     此参数的效果和同时指定"-dpR"参数相同     -b 或 --backup      删除.覆盖目的文件先备份,备份的文件或目录亦建立为符号链接,并指向源文件或目录链接的源文件或目

Linux 的cp命令

功能: 复制文件或目录说明: cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中.若同时指定多个文件或目录,而最后的目的地并非一个已存在的目录,则会出现错误信息参数:     -a 或 --archive     此参数的效果和同时指定"-dpR"参数相同     -b 或 --backup      删除.覆盖目的文件先备份,备份的文件或目录亦建立为符号链接,并指向源文件或目录链接的源文件或目

linux的cp命令

cp:copy -p:保留属主,属组和权限 -R:拷贝目录 -d:保留文件的连接属性 -a:保留所有的属性

LINUX 笔记-cp命令

常用参数: -a :将文件的特性一起复制 -p :连同文件的属性一起复制,而非使用默认方式,与-a相似,常用于备份 -i :若目标文件已经存在时,在覆盖时会先询问操作的进行 -r :递归持续复制,用于目录的复制行为 -u :目标文件与源文件有差异时才会复制