【问题标题】:Does the order of the letters R and F in rm -rf (-rf -fr) matters?rm -rf (-rf -fr) 中字母 R 和 F 的顺序是否重要?
【发布时间】:2016-04-13 20:11:00
【问题描述】:

我有一个网站,它使用 Cron 执行一些 Unix 命令行代码来清理一些 PHP 缓存。

rm -rf path/to/cache/folder/*

rm 我知道:

  • -r 代表递归
  • -f 代表强制

但是顺序会改变意思吗?

【问题讨论】:

  • SSH 和这个有什么关系?
  • 排除文件夹的子目录,例如:rm -rf path/to/folder/*
  • 那还是不涉及SSH。
  • 你应该看看这个以了解我的观点:dustyreagan.com/how-to-delete-an-entire-directory-via-ssh
  • -f 是用于ssh 还是用于rm 将很重要。这两个命令不同,ssh -f user@host rm -r /path 而不是ssh user@host rm -f -r /path。第一个强制ssh 在递归删除/path 之前进入后台,而后者强制rm 递归删除/path

标签: cron getopt rm


【解决方案1】:

没有。它们没有区别。您可以在source of rm (coreutils) 中进行验证。

它们是独立的选项,设置这些标志:

case 'f':
  x.interactive = RMI_NEVER;
  x.ignore_missing_files = true;
  prompt_once = false;
[...]
case 'r':
case 'R':
  x.recursive = true;

这些标志在代码的后面部分生效。这是在 Linux/unix 中解析参数的常用方法。

【讨论】:

    猜你喜欢
    • 2011-02-28
    • 2021-04-09
    • 2013-01-10
    • 1970-01-01
    • 2014-06-26
    • 2012-05-13
    • 2012-07-02
    • 2011-08-07
    • 2013-07-07
    相关资源
    最近更新 更多