在Linux中删除文件有时会很棘手。我们有一个叫做rm的工具 这是单词remove的快捷方式。在本教程中,我们将通过不同的示例和方法来了解如何在Linux中删除文件。
rm命令语法
rm
命令语法与Linux命令的大多数语法相同。我们可以在指定无法操作或删除的文件和目录之前提供选项。
rm OPTIONS FILENAME
-
OPTINS
说明rm
命令,我们将在下面详细介绍。 -
FILENAME
是要删除或操作的文件或目录名。
rm命令帮助
rm
命令帮助信息可以通过 --help
命令如下。帮助信息将提供一些流行的选项和用法。
$ rm --help

使用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

我们还可以指定名称,比如删除以 pof
就像下面一样。
$ rm pof*
递归删除文件
rm
命令提供递归删除或删除文件的功能。递归删除将检查子目录中要与目录一起删除的文件。我们将删除目录名 ndiff
在本例中包含所有子目录和文件。我们将使用 -R
递归操作的选项。
$ rm -R -v ndiff

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

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

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

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

删除文件名以破折号开头 -
另一个有趣的例子是 dash
或 -
文件名或目录名以 dash
. 众所周知,Linux命令选项是用 dash
. 那你怎么能 rm
从选项中识别文件名?我们将使用 --
或双破折号分别指定文件名或目录名开始。例如,我们有一个名为 -file.txt
我们想移除。我们将使用以下命令。我们可以看到,文件名是在双破折号之后指定的。选项在双破折号之前指定。
$ rm -i -- -file.txt
通过从文件/列表中读取文件名来删除文件
在某些情况下,我们可能需要读取包含要删除的文件名的列表。这通常是一个简单的文本文件,其中每个文件名及其路径都是逐行指定的。我们可以用 xargs
命令将列表内容重定向到 rm
命令将逐个删除它们。在本例中,我们将读取列表文件名 file-list.txt
.
$ xargs rm -v < file-list.txt

通过使用find命令查找文件来删除文件
find
是一个非常有用的命令,用于查找文件和文件夹。 find
命令还提供了一些选项,如在搜索结果上运行命令。我们还可以删除或删除 find
命令。在本例中,我们将删除超过3天的文件。
$ find . -type f -mtime +3 -exec rm '{}' ';' -print

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