在linux中,用-r还是-p处理递归的文件夹

发布时间 2023-12-18 10:53:48作者: 哈哈hall了

在 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"(保留),有时表示保持文件属性(例如权限和时间戳)不变。

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

总结

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


文章他站发布网址(点击跳转)
博客园 简书 知乎 CSDN