掌握命令行删除文件和文件夹


当涉及快速处理日常任务时,命令行既强大又危险 。以今天的命令为例:该rm命令允许您删除(或删除)文件 。该rmdir命令对目录(也称为文件夹)执行相同的操作 。但请注意:与将文件从Finder移到“废纸rash”不同,如果使用这些命令,则无法将它们取回 。不过,如果您想利用终端机的功能,这是您不能忽略的命令 。我将向您展示如何添加保护措施,以确保仅删除您真正要删除的文件 。
为什么要用命令行来删除文件呢?
【掌握命令行删除文件和文件夹】使用Finder删除文件并不是很困难,而且如果您改变主意,则始终可以将文件从“垃圾箱”中删除 。那么,为什么要麻烦使用命令行呢?原因如下:
您可以使用通配符快速有效地删除多个文件 。
遇到顽固的错误时,可以从“垃圾箱”中删除文件 。
您可以删除Finder中隐藏的文件 。这些文件(可能包含某些应用程序或MacOS的某些部分的设置)在它们的名称之前包含一个点( 。),并且Finder不显示它们 。
如果由于Mac处于闪烁状态而失去了对Finder的访问权限,则可以使用命令行对问题进行故障排除 。
删除文件
使用rm命令删除文件非常危险 。这是一个例子 。启动终端后(在/ Applications / Utilities文件夹中),键入 cd ~/Desktop导航到Desktop目录 。如果此处有一个名为MyFile.rtf的文件,您从未希望再次看到它,则可以运行以下命令:
[进一步阅读:了解有关macOS Catalina的更多信息]
rm MyFile.rtf
当您按回车键时,文件将被欺骗!它会消失,吐司,历史 。你不能找回来 。
您甚至可以在一个命令中删除多个文件 。因此,如果您要删除桌面上的三个文件,并且想要一次删除它们,则可以这样进行:
rm MyFile.rtf MyCV.rtf MyGreatAmericanNovel.rtf
同样,按回车键可以完成肮脏的工作 。
如果在讨论rm命令的功能时我听起来不祥,那是有充分的理由的 。如前所述,该命令删除文件;它使他们失望 。你不能让他们回来 。您无法单击“垃圾箱”图标来检索意外删除的文件 。
如果在讨论rm命令的功能时听起来不祥,那是有充分的理由的 。该命令删除文件;它使他们失望 。你不能让他们回来 。
但是有一个安全网:它是-i或交互式标志 。因此,如果您感到谨慎,可以使用以下标志运行上述命令:
rm -i MyFile.rtf
rm -i MyFile.rtf MyCV.rtf MyGreatAmericanNovel.rtf
在每种情况下,按Return键实际上不会激活该rm命令,因为该-i标志充当暂停按钮 。运行这些命令时,您将在终端中看到以下内容:
rm互动
使用-i标志时,您将看到有关删除的每个文件的确认消息 。
为了继续,您需要输入yes或简单地y 。对于多个文件,您将看到每个文件的一个查询 。当然,很容易养成快速键入的习惯y,但是这个问题旨在让您停下来并仔细考虑是否确实要删除该文件 。
删除目录(又名文件夹)
删除目录或文件夹有点不同 。如果您尝试rm在目录上运行该命令,则会看到以下消息:
命令行错误
您无法使用rm命令删除目录 。
有一个删除目录的特殊命令:rmdir 。因此,要删除名为Archives的目录,请运行以下命令:
rmdir Archives
您不能-i在rmdir命令中使用该标志,因此该命令风险更高 。
请注意,此命令仅删除空目录 。如果要删除目录及其包含的文件,请继续阅读 。
删除所有内容
该rm命令具有强大的选项-R(或-r),也称为递归选项 。在rm -R文件夹上运行命令时,是在告诉终端删除该文件夹,其包含的所有文件,其包含的任何子文件夹以及这些子文件夹中的所有文件或文件夹 。
在文件夹上运行rm -R命令时,是在告诉Terminal删除该文件夹,其包含的所有文件,其包含的任何子文件夹以及这些子文件夹中的所有文件或文件夹 。
例如,假设您有一个充满档案的目录,其中包含子目录和文件 。从Finder或命令行分别删除每个项目可能需要很长时间 。因此,只需运行以下命令:
rm -R Archives
请记住,此删除是最终的 。但是,您可能会怀疑,可以使用该-i标志进行保护:
rm -iR Archives
这将要求您确认删除每个项目 。这可能很烦人,但是除非您真的确定要删除所有这些文件,否则最好保证安全 。
实际应用
该rm -R命令何时可以派上用场?假设您无法在Mac上清空垃圾箱 。一个文件可能被锁定,或者您没有删除一个或多个文件的权限 。这种故障很烦人,但是您可以使用命令行来提供简单的解决方案 。
在“终端”中,键入以下内容:
rm -R
然后键入一个空格 。
在Finder中,打开垃圾箱,然后将其包含的项目拖到“终端”窗口中 。您会看到一个或多个文件的路径,例如/Users/.Trash/file.txt 。
如果文件很多,您可能会发现结果列表(全部排在长行中,并包裹在“终端”窗口中)可能会很长 。如果您完全确定要删除所有这些项目,请按Return键 。终端将清空垃圾箱 。命令行取胜!
想了解更多?请参阅我们的文章,其中有关使用命令行导航文件系统,从手册页中学习以及复制和移动文件的文章 。

    推荐阅读