如何在Linux命令行中删除文件和目录

时间:2020-03-05 15:29:16  来源:igfitidea点击:

如何在Linux中删除文件?
如何在Linux中删除目录?
让我们看看如何使用一个称为rm的神奇命令来完成这两项任务。

如何在Linux中删除文件

让我向我们展示删除文件的各种情况。

1.删除单个文件

如果要删除单个文件,只需使用带有文件名的rm命令。
如果文件不在当前目录中,则可能需要添加路径。

rm file.txt

例如,如果文件受写保护:我们对该文件没有写权限,则会要求我们确认删除该写保护的文件。

rm: remove write-protected regular file 'file.txt'?

我们可以输入yes或者y,然后按Enter键确认删除。
阅读本文以了解有关Linux文件权限的更多信息。

2.强制删除文件

如果要删除文件而没有任何提示(如我们在上面看到的提示),则可以使用强制删除选项-f。

rm -f file.txt

3.删除多个文件

要一次删除多个文件,可以提供所有文件名。

rm file1.txt file2.txt file3.txt

我们也可以使用通配符(*)和正则表达式,而不是将所有文件单独提供给rm命令。
例如,如果要删除当前目录中所有以.hpp结尾的文件,则可以通过以下方式使用rm命令:

rm *.hpp

4.以交互方式删除文件

当然,一次删除所有匹配的文件可能是一项冒险的工作。
这就是rm命令具有交互模式的原因。
我们可以将交互式模式与-i方法一起使用。

rm -i *.txt

它将要求确认每个文件。
我们可以输入y删除文件,输入n跳过删除。

rm: remove regular file 'file1.txt'? y
rm: remove regular file 'file2.txt'? n

我们刚刚学会了删除文件。
让我们看看如何在Linux中删除目录。

如何在Linux中删除目录

有一个名为rmdir的命令,是删除目录的缩写。
但是,此rmdir命令只能用于删除空目录。

如果我们尝试使用rmdir删除非空目录,则会看到错误消息:

rmdir: failed to remove 'dir': Directory not empty

没有rmdir强制。
我们不能强制rmdir删除非空目录。

这就是为什么我将使用相同的rm命令删除文件夹的原因。
记住rm命令比rmdir有用得多,我认为这不值得麻烦。

1.删除一个空目录

要删除空目录,可以使用-d选项。
这等效于rmdir命令,可在删除目录之前确保该目录为空。

rm -d dir

2.删除内容目录

要删除包含目录的目录,可以将递归选项与rm命令一起使用。

rm -r dir

这将删除目录的所有内容,包括其子目录。
如果有受写保护的文件和目录,系统会要求我们确认删除。

3.强制删除目录及其内容

如果要避免出现确认提示,则可以强制删除。

rm -rf dir

4.删除多个目录

我们也可以使用rm命令一次删除多个目录。

rm -r dir1 dir2 dir3

总结

以下是rm命令及其用法的摘要,以供快速参考。

目的命令
删除单个文件rm filename
删除多个文件rm File1 File2 File3
强制删除文件rm -f File1 File2 File3
交互式删除文件rm -i * .txt
删除空目录rm -D DIR
删除其内容的目录rm -R目录
删除多个目录rm -R DIA1 DIR 2 DIR3