cp 复制文件或目录

时间:2021-10-30 11:28:44

cp (复制文件或目录)
[root@linux ~]# cp [-adfilprsu]
来源文件(source) 目的文件(destination)
[root@linux ~]# cp [options] source1 source2 source3 …. directory
参数:
-a
:等同 -pdr 的组合 

-d :若来源文件为连结文件,则复制连结文件属性而非文件本身
-f 
:强制复制
-i 
:若目的文件已经存在,在覆盖前先询问用户

-l  :建立硬连结 (hard link) ,不复制文件本身
-p
:连同文件属性一起复制

-r  :递归复制,用于目录复制
-s 
:复制成符号连结文件 (symbolic link),即『快捷方式』文件
-u 
:若 destination source 旧才更新 destination
注意:如果来源文件有两个以上,则最后一个目的文件必须是『目录』

实例:

[root@linux tmp]# cp ~/.bashrc bashrc                              #复制.bashrc/tmp目录下并重命名为bashrc
[root@linux tmp]# cp -i ~/.bashrc bashrc                           # -i
选项表示询问用户是否覆盖

[root@linux tmp]# cp /var/log/wtmp .                                 #复制到当前目录下,点代表当前目录

[root@linux tmp]# cp -a /var/log/wtmp wtmp_2                 #复制文件及其属性

[root@linux tmp]# cp -r /etc/ /tmp                                      #复制目录必须用 -r 选项

[root@linux tmp]# cp -s bashrc bashrc_slink                      #复制成软连结

[root@linux tmp]# cp -d bashrc_slink bashrc_slink_2         #如果不加 -d ,复制的是软连结对应的文件本身

 #即实际文件,而不是软连结属性

[root@linux tmp]# cp -l bashrc bashrc_hlink                       #复制成硬连结

[root@linux tmp]# cp -u ~/.bashrc /tmp/bashrc                  #~/.bashrc /tmp/bashrc 新时才复制
[root@linux tmp]# cp ~/.bashrc ~/.bash_history /tmp        #
多文件复制到一个目录