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