Linux下如何删除文件?

在Linux中删除文件有时会很棘手。我们有一个叫做rm的工具 这是单词remove的快捷方式。在本教程中,我们将通过不同的示例和方法来了解如何在Linux中删除文件。

null

rm命令语法

rm 命令语法与Linux命令的大多数语法相同。我们可以在指定无法操作或删除的文件和目录之前提供选项。

rm OPTIONS FILENAME
  • OPTINS 说明 rm 命令,我们将在下面详细介绍。
  • FILENAME 是要删除或操作的文件或目录名。

rm命令帮助

rm 命令帮助信息可以通过 --help 命令如下。帮助信息将提供一些流行的选项和用法。

$ rm --help
rm Command Help
rm命令帮助

使用rm命令删除单个文件

我们将从删除单个文件的简单步骤开始。我们将只指定要删除的文件名。为了成功地删除文件,我们应该有修改文件的权限。例如,如果我们试图删除 root 对于普通用户,我们将得到一个错误,不会删除该文件。在本例中,我们将删除名为 foo.txt

$ rm foo.txt

使用rm命令删除多个文件

我们有能力删除多个文件在一个单一的 rm 命令。我们只需将要删除的文件名用空格隔开即可。在本例中,我们将删除文件名 foo.txt bar.txt 但如果我们需要的话,我们可以加更多。

$ rm foo.txt bar.txt

使用rm命令根据扩展名/类型删除文件

linuxbahs提供glob或星号来指定具有特定名称或扩展名的文件。我们可以用glob * 为了指定一个特定的扩展名 *.txt , *.pdf , *.tmp 我们可以使用此扩展名或名称规范来删除特定文件。在本例中,我们将删除所有 *.deb 扩展。

$ rm -v *.deb
Delete Files According To Their Extensions/Types
根据扩展名/类型删除文件

我们还可以指定名称,比如删除以 pof 就像下面一样。

$ rm pof*

递归删除文件

rm 命令提供递归删除或删除文件的功能。递归删除将检查子目录中要与目录一起删除的文件。我们将删除目录名 ndiff 在本例中包含所有子目录和文件。我们将使用 -R 递归操作的选项。

$ rm -R -v ndiff
Delete Files Recursively
递归删除文件

每次删除前提示删除文件

删除文件和目录时,我们可能需要批准删除每个文件。在这种情况下,我们可以使用 -i 选项,提示接受或拒绝删除给定文件。

$ rm -R -i test
Remove or Delete File with Prompt Before Every Removal
每次删除前都会提示删除或删除文件

打印有关删除操作的详细输出

删除文件和目录时,我们可能希望看到删除操作的详细信息。 rm 命令提供详细选项,该选项将列出有关每次删除文件或目录的信息。我们将使用 -v 此选项。

$ rm -R -v test
Print Verbose Output About Delete Operation
打印有关删除操作的详细输出

使用rmdir命令删除空目录或文件夹

在某些情况下,我们需要删除空文件夹。 rm 没有选项在这种情况下将不起作用,因为我们可以在下面的屏幕截图中看到这一点。我们使用案例 rmdir 删除空目录或文件夹的命令。

$ rmdir delete_me/
Delete empty Directories or Folders
删除空目录或文件夹

从文本文件中读取要删除或删除的文件名

另一个有趣的用例 rm 命令从列表中提供文件或目录名,如文本文件。我们将使用 xargs 命令读取列表并重定向到 rm 命令。

$ xargs rm < delete_file.txt
Read File Names From Text File For Delete or Removal
从文本文件中读取要删除或删除的文件名

删除文件名以破折号开头 -

另一个有趣的例子是 dash - 文件名或目录名以 dash . 众所周知,Linux命令选项是用 dash . 那你怎么能 rm 从选项中识别文件名?我们将使用 -- 或双破折号分别指定文件名或目录名开始。例如,我们有一个名为 -file.txt 我们想移除。我们将使用以下命令。我们可以看到,文件名是在双破折号之后指定的。选项在双破折号之前指定。

$ rm -i -- -file.txt

通过从文件/列表中读取文件名来删除文件

在某些情况下,我们可能需要读取包含要删除的文件名的列表。这通常是一个简单的文本文件,其中每个文件名及其路径都是逐行指定的。我们可以用 xargs 命令将列表内容重定向到 rm 命令将逐个删除它们。在本例中,我们将读取列表文件名 file-list.txt .

$ xargs rm -v < file-list.txt
Delete Files By Reading Their Names From A File/List
通过从文件/列表中读取文件名来删除文件

通过使用find命令查找文件来删除文件

find 是一个非常有用的命令,用于查找文件和文件夹。 find 命令还提供了一些选项,如在搜索结果上运行命令。我们还可以删除或删除 find 命令。在本例中,我们将删除超过3天的文件。

$ find . -type f -mtime +3 -exec rm '{}' ';' -print
Delete Files By Finding them with find Command
通过使用find命令查找文件来删除文件

相关文章: 如何在Linux中删除目录?

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享