1. 作用
复制文件或目录,创建链接文件(即快捷方式),对比两文件的新旧而予以更新。
2. 用法
cp 【参数】【源文件】【目标文件】
参数:
-a:相当于-pdr;
-b:覆盖已存在的目标文件前将目标文件备份;
-d:若源文件为软链接(符号链接)文件,则复制链接文件而非文件本身;
-f:为强制(force)的意思,若目标文件已经存在,则删除后再复制一次;
-i:若目标文件已经存在,在覆盖时会先询问是否允许覆盖;
-l:若源文件为硬链接(hard link)文件,则创建硬链接文件的硬链接;
-p:连同文件属性一起复制,而非使用默认属性;
-r:递归持续复制,用于目录的复制;
-s:复制成为符号链接文件(symbolic link),即快捷方式;
-u:若目标文件比源文件旧,则更新目标文件;
注:若源文件有两个以上,则目标文件必须得是目录。
3. 范例
3.1 cp -b a.txt test/
覆盖已存在的目标文件前将目标文件备份,末尾加~;
3.2 cp -d soft.link ../dir/
若源文件为软链接(符号链接)文件,则复制链接文件而非文件本身;
硬链接: 与普通文件没什么不同,inode
都指向同一个文件在硬盘中的区块;
软链接: 保存了其代表的文件的绝对路径,是另外一种文件,在硬盘上有独立的区块,访问时替换自身路径。
注:复制软链接文件不带参数-d时,则直接复制的链接指向的原文件。
3.3 cp -f a.txt ../dir/
为强制(force)的意思,若目标文件已经存在,则删除后再复制一次;
注:与不带参数时复制效果一样。
3.4 cp -i a.txt ../dir/
若目标文件已经存在,在覆盖时会先询问是否允许覆盖;
注:与不带参数时复制效果一样,与带参数-f时复制效果一样。
3.5 cp -l hard.link ../dir/hard.link2
若源文件为硬链接(hard link)文件,则创建硬链接文件的硬链接;
可以看到a.txt、hard.link、hard.link2的inode号码是一样的,hard.link是a.txt的硬链接,hard.link2是hard.link的硬链接。硬链接文件的inode
都指向同一个文件在硬盘中的区块。
3.6 cp -p a.txt ../dir/
连同文件属性一起复制,而非使用默认属性;
3.7 cp -r test/ dir/
递归持续复制,用于目录的复制;
注:目标目录dir文件夹存在时,则复制源文件夹及其内容;目标目录dir1文件夹不存在时,则只复制源文件夹的内容。
注:源文件夹和目标文件夹带不带/,复制效果一样。
3.8 cp -s a.txt soft.link
复制成为符号链接文件(symbolic link),即快捷方式;
注:目标文件目录只能是当前目录,子目录也不行。
3.9 cp -u a.txt ../dir/
若目标文件比源文件旧,则更新目标文件;
注:与不带参数复制效果一样。