使用linux命令删除与模式匹配的文件

使用linux命令删除与模式匹配的文件

我有几个关于 Linux 命令的问题:

  1. 我想删除一个目录和该目录的内容。我的问题是以下命令会删除work 目录和该目录的内容,还是只会删除该目录的内容?我搜索了互联网并浏览了一些论坛,但不清楚它是否会删除该目录。如果只删除内容,那么删除该目录的命令是什么?

    命令 :rm -rf work

  2. 以下命令是否正确删除test目录中名称以 开头的所有 zip 文件Project?我认为-r不是必需的,因为它是一个文件。如果我没有说错的话请纠正我。

    命令 : rm -f test\Project*.zip

答案1

  1. 该命令rm -rf work将删除该目录及其所有内容。它首先删除目录中的所有文件,如果有子目录,它会递归到它们并以相同的方式删除它们。work最后删除空目录。

  2. -r不是必需的。但路径名略有错误,因为它似乎用作\路径分隔符。在 Unix 系统上,/是路径分隔符。要删除目录中名称开头Project和结尾的所有文件,您可以执行以下操作:.ziptest

    rm test/Project*.zip
    

    除非您有别名(这将在删除任何内容之前要求确认),否则也不-f需要。在脚本中,通常用于在删除可能不存在的文件时抑制错误消息(即使文件可能不存在也永远不会失败)。在交互式使用中,几乎总是用于覆盖标志。rmrm -irm-frm -f-f-i

答案2

1 -rm -rf work删除目录及其内容。rm -rf work/*如果您想保留目录并清空内容,则可以这样做。

2 - 你没有错。

另外,为什么你在这里发布问题而不是自己尝试,这可能会更容易?只是好奇。

相关内容