cp

参考

-p  保持原有属主(不加p谁复制属于谁的组)

-a   保留所有属性 比p大

-i   提示是否覆盖

-f   强制覆盖

-r  复制目录时必须添加  cp -r old/ new/            那就会把old目录整个拷贝到new目录下

cp /etc/{passwd,inittab,rc.d/rc.sysinit} /tmp/ 复制三个文件

-p参数,可以保持权限、宿主、时间栈,还可能包括link等;还有更简单的,就是用:

cp -a old/ new/

-a参数,就等于-dpR

[root@localhost aa]# cp b/* aa/    #不会拷贝b文件夹下的隐藏文件到aa     *不会拷贝隐藏文件 要用 .      

[root@localhost bb]# cp -a b/. bb/  #将会拷贝b下的包括隐藏文件的所有文件到bb下

上面提到不要写成.*,那.*代表什么?    rm和cp、find命令都要注意   find . 查找当前目录下所有文件包括隐藏   find * 查找当前目录所有不隐藏的文件   find .*查找当前目录所有文件和上一级目录的所有文件和文件夹 以及文件夹下的所有文件

[root@localhost b]# find .* -name c* -exec rm -rf {} ;  会删除当前目录下、上级目录和目录下的所有c*文件    这个是很危险的

[root@localhost a]# ls .*
.:
a

..:
a anaconda-ks.cfg a.py       

.*代表的是当前目录,以及上一层目录。   .是当前目录的文件 a   ..是当前目录上一级目录的文件  a a.py等 不会ls出上一级文件夹下的文件   而find .*会

cp c/.*  d  就会把c当前的所有文件和c上一级的文件全部拷贝到d中

rm -rf .*   这个是删除当前目录下的隐藏文件 不会删除上一级的隐藏文件

rm -rf *  删除当前目录除了隐藏文件的文件

要删除所有文件包括隐藏文件怎么写呢

rm -rf * .[^.]*

或者  rm -rf * .*

原文地址:https://www.cnblogs.com/hanxing/p/4185871.html