centos 命令行中 * 和 . 的区别

錯誤    cp /home/test1/* /home/test2/ –a          用參數*將不可以複製linux中.開頭的隱藏文件

正確    cp /home/test1/. home/test2/ –a

-a参数,就等于-dpR

指令名称:cp(copy)
功能介绍:将一个文件复制至另一个文件,或将数个文件复制至另一目录。
语法格式:
cp [options] source dest
cp [options] source... directory
常用参数说明:
-a 尽可能将档案状态、权限等资料都照原状予以复制。
-r 若 source 中含有目录名,则将目录下之档案亦皆依序拷贝至目的地。
-f 若目的地已经有相同档名的档案存在,则在复制前先予以删除再行复制。
指令使用实例:
1.将文件aaa 复制(已存在),并命名为bbb:
cp aaa bbb
2.将所有的C语言程序拷贝至 Finished 子目录中 :
cp *.c Finished
3. 复制指定目录的文件到当前目录,并重命名
       cp ~/.bashrc bashrc_bak
4. 强制复制指定目录的文件到当前目录,而不管当前目录是否含有该文件
       cp -f ~/.bashrc bashrc
5. 复制指定目录到当前目录
       cp -r /root/test .
       cp -r /root/test/ .
        两者效果一样,在复制目录时,会将源路径的最后一级目录全部复制过去,包括它本身。
6. 复制指定目录的文件到指定目录
       cp ~/.bashrc /bak/.bashrc
7. 在复制时将源文件的全部属性也复制过来。若不指定参数,则目标文件与源文件属性可能不一致。
      cp -a ~/.bashrc /bak/.bashrc
8. 若两个文件夹要保证同步,一个文件的改了,另一个文件也跟着改,但是要保证两个文件的文件都是最新的。
      cp -u /src/.bashrc /bak_src/bashrc

原文地址:https://www.cnblogs.com/k98091518/p/5826808.html