如何使用Linux命令删除目录和文件

博主:xiaoweixiaowei 2021-12-07 条评论

学习如何使用 Linux 命令行对于所有 Linux 用户和系统管理员来说都是必不可少的。创建文件、导航到文件夹或移动文件等简单的维护任务都可以通过它完成。

由于 Linux 是VPS托管的流行操作系统,因此了解基本的Linux 命令对于服务器管理至关重要。

本文将向您展示如何使用 Linux 命令行删除文件和目录。

如何使用Linux命令删除目录和文件

如何在 Linux 中删除目录

首先,您需要知道目录名称才能删除它。要发现文件和目录,请使用ls命令,要知道您所在的当前目录,请使用pwd命令。

对于 Linux 删除目录命令,您必须使用rmdir或rm。稍后我们将运行语法,但主要区别在于rmdir仅适用于空目录,而rm可以删除文件和非空目录。

与这些命令一起使用的选项对于确定它们的工作方式也很重要。总而言之,这里有一个表格,其中包含可用于在 Linux 中删除文件的命令和选项的组合:

命令和选项描述
rmdir -p删除空子目录及其父目录。
rmdir -v打印指定目录被删除的信息。
rm -d使用rm命令删除空目录。
rm -r删除非空目录及其内容。
rm -f删除写保护文件时忽略任何提示。
rm -rf删除写保护的非空文件夹时忽略任何提示。
rm -i在删除每个文件之前输出提示。
rm -I在删除三个以上的文件之前只输出一次提示。
R M *表示多个字符的通配符。
R M ?表示单个字符的通配符。

如果您想使用这些命令进行 VPS 管理,请不要忘记事先使用 SSH 客户端连接到服务器。然后,从那里执行命令。

使用 rmdir 命令删除空目录

在 Linux 环境中,文件和目录将被永久删除,因为没有您可以检索它们的回收站或垃圾文件夹。如果您在 Linux 中误删除了文件或目录,唯一的恢复方法是从备份中恢复。

使用rmdir命令可防止此类不需要的操作,因为它仅适用于空目录。如果目录包含文件,它将返回以下错误消息:

rmdir: failed to remove ‘Directory’: Directory not empty

rmdir命令的语法如下:

rmdir [option] DirectoryName

如果您不想使用任何命令行选项,请将其从语法中删除。请记住,命令行区分大小写。因此,如果文件夹名称包含大写字母,请相应地键入。

例如,这里有一个删除Simple-Directory文件夹的命令:

rmdir Simple-Directory

该命令rmdir命令也适用于多个空目录。在命令中添加目录作为附加参数以在 Linux 中删除多个目录。

rmdir Directory_1 Directory_2 Directory_3

现在让我们看看可以与rmdir命令一起使用的选项。第一个是-p,用于删除子目录及其父目录。例如,如果您的目录路径是/Directory/SubDirectory,请使用以下命令:

rmdir -p /Directory/SubDirectory

该命令将首先删除目录路径中的子目录文件夹。然后,如果删除子目录后目录文件夹为空,则该文件夹也将被删除。

下一个选项是verbose,在命令行中用-v表示。此选项将打印文本以确认指定的目录已被删除。这是此命令的示例:

rmdir -v Simple-Directory

输出消息将是这样的:

rmdir: removing directory, ‘Simple-Directory’

使用 rm 命令删除非空目录

现在让我们看看如何使用rm命令删除非空目录。此 命令最初用于删除文件,但我们可以使用它来使用-r、-rf和-d等选项删除目录。rm命令的基本语法如下:

rm [option] FileOrFolderName

使用递归选项(由-r表示)删除目录及其内容。以下命令显示了如何删除Simple-Directory及其内容:

rm -r Simple-Directory

如果使用rm -r命令删除非空目录,则其中的所有文件都将被永久删除,并且只能从备份中恢复它们。请谨慎执行此命令。

如果目录被写保护,在继续删除目录之前,系统会提示您确认。要在没有提示的情况下删除目录,请使用-rf选项。

rm -rf Simple-Directory

该RM命令也适用于在Linux中删除空目录。但是,与rmdir命令不同,您必须使用-d选项。

rm -d Simple-Directory

与rmdir命令一样,您可以使用rm命令删除多个目录。在命令行中添加目录名称作为新参数:

rm -r Directory_1 Directory_2 Directory_3

如何使用 rm 命令删除文件

您可能希望使用rm命令手动删除文件,而不是立即删除非空文件夹。这种方法更安全,因为它可以防止意外删除重要文件。

要删除当前工作目录中的单个文件,请使用rm命令后跟文件名:

rm file.txt

要删除目录中的多个文件,请在命令中写入所有要删除的文件名:

rm file1.txt file2.txt file3.txt

如果您与指定文件位于同一目录中,则上述所有命令都有效。但是,您可以将文件路径放入命令行参数中以删除不在当前工作目录中的文件。

rm dir/subdir/file.txt

由于文件将被永久删除,您可以在命令中添加-i选项,使终端提示您确认每次文件删除。这样,您就可以防止发生令人不快的错误。

rm -i file1.txt file2.txt file3.txt

如果要删除文件,请键入Y并按Enter,如果不想删除该文件,请键入N并按Enter。

在删除三个以上的文件之前,改用-I只提示一次。虽然这不如-i选项安全,但它仍然提供额外的保护以避免删除重要文件。

rm -I file1.txt file2.txt file3.txt

但是,如果文件被写保护,系统会在删除文件之前提示您。如果您不想在删除此类文件时收到提示,请使用-f选项。

rm -f file.txt

到目前为止,我们讨论的命令将删除特定文件。但是,使用通配符,您可以使用单个命令删除多个文件。通配符有两种类型 – 星号 ( * ) 和问号 ( ? )。

星号代表多个未知字符,最常见的使用示例之一是删除具有特定扩展名的文件。下面的命令将删除当前工作目录中的所有.txt文件:

rm *.txt

您还可以使用星号删除以特定字母开头的所有文件。

rm a*

在上面的示例中,星号代表字母a之后的所有未知字符。该命令将删除所有以a开头的文件,而不管它们的扩展名如何,例如amazon.txt、alligator.png和aaron.zip。

另一方面,问号通配符代表单个字符。结合星号通配符,您可以使用它来删除具有单个字符扩展名的文件,例如.S、.O和.C。

rm *.?

使用通配符时要小心,因为您最终可能会删除重要文件。首先,使用ls命令检查目录中的所有文件。在使用通配符命令之前,请确保没有重要的数据或系统文件。

结论

在 Linux 中通过命令行删除目录和文件需要了解rm和rmdir命令的正确使用。简单地说,rm命令适用于文件和非空目录,而rmdir仅适用于空文件夹。

请记住,Linux 中没有回收站或垃圾文件夹。使用命令行删除文件和目录后,它们将被永久删除。因此,在删除 VPS 上的文件和文件夹之前,请谨慎使用这些命令或创建备份。

如果您有其他问题,请随时给我们留言。

The End

发布于:2021-12-07,除非注明,否则均为 主机评测原创文章,转载请注明出处。