LINUX命令的cp -r 和-R的区别是??

来源:百度知道 编辑:UC知道 时间:2024/06/02 09:47:35
rtrt

功能上是等价的。不加-r或者-R的时候,只拷贝文件,不拷贝文件夹;加上后则会拷贝文件夹——包括下一级的子文件夹,以及子文件夹中的子文件夹,余此类推。
另外rm的-R -r功能同上
ls的-R功能同上,-r的功能是结果反向排列

  基本上,在Makefile里会用到install,其他地方会用cp命令。
完成同样的任务——拷贝文件,两者之间的区别主要如下:
1、最重要的一点,如果目标文件存在,cp会先清空文件后往里写入新文件,而install则会先删除掉原先的文件然后写入新文件。这是因为往正在
使用的文件中写入内容可能会导致一些问题,比如说写入正在执行的文件可能会失败,比如说往已经在持续写入的文件句柄中写入新文件会产生错误的文件。而使用
install先删除后写入(会生成新的文件句柄)的方式去安装就能避免这些问题了;
2、install命令会恰当地处理文件权限的问题。比如说,install -c会把目标文件的权限设置为rwxr-xr-x;
3、install命令可以打印出更多更合适的debug信息,还会自动处理SElinux上下文的问题。

cp -R/r:递归处理,将指定目录下的所有文件与子目录一并处理。

cp -r 会把所有source当作普通文件(regular文件); 而cp -R 对特殊文件(管道文件,块设备文件,字符设备文件)会进行创建操作,而不是拷贝。

-r Copies file hierarchies under the file or directory specified by the SourceFile or SourceDirectory parameter (recursive copy). The -r flag processes special files in the same manner as regular files. 

-R Copies file hierarchies under the regular files and directories from