Linux下cp命令复制隐藏文件

        在linux机器上clone了一份代码,需要将代码cp复制到另外一个目录下。

        因为复制的时候,只需要代码,不需要.git文件夹,所以第一次使用cp -r命令,直接复制过去,发现正好不不会复制.git文件,以为完美。。。

cp -r /aaa/* /bbb/

        然后复制过去后发现了问题,因为代码库根目录下的文件,也有是以点[.]开头的,比如前端工程的.babelrc文件。linux认为点开头的为隐藏文件,所以在使用cp -r的时候.babelrc文件也被忽略了,这显然不是想要的结果;

查询资料找到解决方案,可以将隐藏文件也一同复制过去,使用 cp -a /aaa/. /bbb/,在/aaa/后面添加一个点.

 cp -a /aaa/. /bbb/

但是还有一个问题就是,这样是把所有文件都复制过去了,包括我们不需要.git文件,所有要单独处理下.git文件,删除一下

rm -rf .git/

最后,贴一下cp 的参数:

-a:此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于dpR参数组合。
-d:复制时保留链接。这里所说的链接相当于Windows系统中的快捷方式。
-f:覆盖已经存在的目标文件而不给出提示。
-i:与-f选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答”y”时目标文件将被覆盖。
-p:除复制文件的内容外,还把修改时间和访问权限也复制到新文件中。
-r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。
-l:不复制文件,只是生成链接文件。

    原文作者:你认识小汐吗
    原文地址: https://blog.csdn.net/sayoko06/article/details/109203298
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞