在 Linux 中,递归处理文件夹用 `-r` 还是 `-p`选项

在 Linux 中,递归处理文件夹用 -r 还是 -p选项

1. 使用 -r

-r 来表示递归,例如 cprm。例如:

  • -r 通常用于表示递归操作,例如在复制目录或删除目录时使用。
  • 示例:
    • 复制目录及其内容:cp -r source_directory destination_directory
    • 递归删除目录及其内容:rm -r directory
    • 递归地移动目录及其内容: mv -r source_directory destination_directory
    • 递归地修改文件或目录的权限: chmod -r permissions target
    • 递归地更改文件或目录的所有者:chown -r new_owner:new_group target
    • 递归地更改文件或目录的所属组: chgrp -r new_group target
    • 创建或提取压缩的归档文件时,可以使用 -r 表示追加文件到已存在的归档中:
      • tar -rvf archive.tar new_file

2. 使用 -p

-p 来表示递归,这主要是因为 -p 有时也被解释为 "preserve"(保留),有时表示保持文件属性(例如权限和时间戳)不变。

  • 示例:
    • mkdir 中,-p 表示创建目录及其父目录(如果不存在),这是为了方便地一次性创建多层嵌套的目录结构
      • 创建目录及其父目录:mkdir -p dir1/dir2/dir3
    • 复制并保持文件属性:cp -p source_file destination
    • 保持被复制文件的原始属性,包括权限和时间戳:cp -rp source_directory destination_directory
    • 保持被移动文件的原始属性:mv -p source_file destination
    • 在安装文件时,保持文件的原始属性: install -p source_file destination
    • 保持原始文件的权限和时间戳,生成压缩文件:gzip -rp file.txt

总结

故,如果是递归地处理目录,一般使用 -r。如果要保持文件属性或者在创建目录时自动创建父目录,则可以考虑使用 -p


文章他站发布网址(点击跳转)
博客园:https://www.cnblogs.com/hahall
简书:https://www.jianshu.com/u/31c918ea2870
知乎:https://www.zhihu.com/people/ha-ha-ha-ha-36-44
CSDN:https://blog.csdn.net/weixin_47962228?spm=1010.2135.3001.5343

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容