Linux cp命令-拷贝隐藏文件
文章目录版权声明:本文为CSDN博主「anlian523」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/anlian523/article/details/98876898复制当前目录.当前目录下既有文件夹也有文件:
·
文章目录
版权声明:本文为CSDN博主「anlian523」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/anlian523/article/details/98876898
复制当前目录 .
当前目录下既有文件夹也有文件:
- 当
~/cptest
这个文件夹已创建时,使用命令cp-r.~/cptest/
或cp-r.~/cptest
会将当前目录下的所有文件夹和文件复制到~/cptest
目录下。 - 当
~/cptest
这个文件夹还未被创建时,使用命令cp-r.~/cptest/
或cp-r.~/cptest
会创建此目录,并将当前目录下的所有文件夹和文件复制到~/cptest
目录下。
总结一下:
- 当source是个
.
时,会认为dest必须是个文件夹。如果dest是个non-directory,那么就会报错cp:cannot overwrite non-directory‘AAA’with directory‘BBB’
。 - 不管dest目标文件夹是否创建,效果都是一样的(因为如果没有创建,就会创建后,再复制)。
- 如果当前目录下有一个文件夹叫
1.0
(即ls能看到蓝色的1.0),想要复制1.0
的当前目录,则使用cp-r 1.0/.~/cptest
。 - dest文件夹后面有没有
/
都是一样的,下面的命令分析也能看出。
复制所有 *
当前目录下既有文件夹也有文件:
- 当
~/cptest
这个文件夹已创建时,使用cp-r*~/cptest/
,会把所有非隐藏文件和非隐藏文件夹复制过去(隐藏即是即.
开头的)。这就是它和cp-r.~/cptest/
的区别。 - 当
~/cptest
这个文件夹还未被创建时,使用cp-r*~/cptest/
,会报错cp:target'/home/liu/cptest'is not a directory
。
总结一下:
- 当source是个
*
时,会认为dest是个文件夹。 - 复制
*
相比.
限制更多:当dest文件夹已创建,则只能复制非隐藏的东西过去;当dest文件夹未创建时,则命令不成功。
复制某个文件夹
当前目录下有一个文件夹叫 1.0
(即ls能看到蓝色的1.0),想要复制 1.0
到某个地方:
- 当
~/1.0
这个文件夹已创建时,使用命令cp-r 1.0~/1.0/
或cp-r 1.0~/1.0
,会将当前目录下的1.0
文件夹复制到~/1.0
文件夹下。即目录结构是~/1.0/1.0/something
。 - 当
~/1.0
这个文件夹还未被创建时,使用命令cp-r 1.0~/1.0/
或cp-r 1.0~/1.0
,会将当前目录下的1.0
文件夹复制到~
文件夹下(或者理解为,先新建~/1.0
文件夹,再把~~删除线格式~~1.0
里所有东西复制到~/1.0
)。即目录结构是~/1.0/something
(相当于先mkdir~/1.0
,再cp-r 1.0/.~/1.0
;注意是可以把1.0下的隐藏文件和隐藏文件夹都复制过去的)。这种情况下,使用cp-r 1.0~/2.0/
也是一样,目录结构是~/2.0/something
,相当于先改名,再复制。
总结一下:
- 当source是个文件夹时,会认为dest也必须是个文件夹。如果dest是个non-directory,那么就会报错
cp:cannot overwrite non-directory'AAA'with directory'BBB'
。 - 当dest文件夹已经存在,那么会把source文件夹放到dest文件夹下。
- 当dest文件夹不存在,那么新建dest文件夹,再把source文件夹下所有东西复制到dest文件夹下。
更多推荐
已为社区贡献4条内容
所有评论(0)