# linux终端删除文件命令_如何在Linux终端中删除文件和目录

linux终端删除文件命令

The rm  and  rmdir  commands delete files and directories on Linux, macOS, and other Unix-like operating systems. They’re similar to the del  and  deltree  commands in Windows and DOS. These commands are very powerful and have quite a few options.

rmrmdir命令删除Linux，macOS和其他类似Unix的操作系统上的文件和目录。 它们类似于Windows和DOS中的deldeltree命令。 这些命令功能非常强大，并且有很多选择。

It is important to note that files and directories deleted using rm and rmdir do not get moved to the Trash. They are immediately removed from your computer. If you accidentally delete files using these commands, the only way you’ll be able to restore them is from a backup.

## 如何使用rm删除文件 (How to Remove Files with rm)

The simplest case is deleting a single file in the current directory. Type the rm command, a space, and then the name of the file you want to delete.

rm file_1.txt


If the file is not in the current working directory, provide a path to the file’s location.

rm ./path/to/the/file/file_1.txt


You can pass more than one filename to rm. Doing so deletes all of the specified files.

rm file_2.txt file_3.txt


Wildcards can be used to select groups of files to be deleted. The * represents multiple characters and the ? represents a single character. This command would delete all of the png image files in the current working directory.

rm *.png


This command would delete all files that have a single character extension. For example, this would delete File.1 and File.2, but not File.12.

rm *.?


If a file is write-protected you will be prompted before the file is deleted. You must respond with y or n and press “Enter.”

To reduce the risk of using rm with wildcards use the -i (interactive) option. This requires you to confirm the deletion of each file.

rm -i *.dat


The -f (force) option is the opposite of interactive. It does not prompt for confirmation even if files are write-protected.

-f (强制)选项与Interactive相反。 即使文件被写保护，它也不会提示您进行确认。

rm -f filename


## 如何使用rm删除目录 (How to Remove Directories with rm)

To remove an empty directory, use the -d (directory) option. You can use wildcards (* and ?) in directory names just as you can with filenames.

rm -d directory


Providing more than one directory name deletes all of the specified empty directories.

rm -d directory1 directory2 /path/to/directory3


To delete directories that are not empty, use the -r (recursive) option. To be clear, this removes the directories and all files and sub-directories contained within them.

rm -r directory1 directory2 directory3


If a directory or a file is write-protected, you will be prompted to confirm the deletion. To delete directories that are not empty and to suppress these prompts, use the -r (recursive) and -f (force) options together.

rm -rf directory


Care is required here. Making a mistake with the rm -rf command could cause data loss or system malfunction. It’s dangerous, and caution is the best policy. To gain an understanding of the directory structure and the files that will be deleted by the rm -rf command, use the tree command.

Use apt-get to install this package onto your system if you’re using Ubuntu or another Debian-based distribution. On other Linux distributions, use your Linux distribution’s package management tool instead.

sudo apt-get install tree


Running the tree command produces a simple to understand diagram of the directory structure and files beneath the directory from which it is run.

tree


You can also supply a path to the tree command to cause it to start the tree from another directory in the file system.

tree path/to/directory


The rm command also has --one-file-system, --no-preserve-root, --preserve-root options, but those are only recommended for advanced users. If you get something wrong, you could accidentally delete all your system files. Consult the command’s manual page for more information.

rm命令还具有--one-file-system, --no-preserve-root, --preserve-root选项，但仅建议高级用户使用。 如果出现问题，可能会意外删除所有系统文件。 有关更多信息，请查阅命令的手册页

## 如何使用rmdir删除目录 (How to Remove Directories with rmdir)

There is another command, called rmdir, that you can use to delete directories. The difference between rm and rmdir is that rmdir can only delete directories that are empty. It will never delete files.

The simplest case is deleting a single empty directory. As with rm, you can pass multiple directory names to rmdir , or a path to a directory.

Delete a single directory in the current directory by passing its name to rmdir :

rmdir directory


Delete multiple directories by passing a list of names to  rmdir :

rmdir directory1 directory2 directory3


Delete a directory not in the current directory by specifying the full path to that directory:

rmdir /path/to/directory


If you try to delete a folder that is not empty, rmdir will give you an error message. In the following example rmdir successfully, and silently, deletes the clients directory but it refuses to delete the projects directory because it contains files. The projects directory is left exactly as it was and the files in it are untouched.

When rmdir gives a “Directory not empty” error, it stops processing the directories that were passed to it on the command line. If you’ve asked it to delete four directories and the first one had files in it, rmdir would give you the error message and do nothing more. You can force it to ignore these errors with the --ignore-fail-on-non-empty option so that other directories are processed.

rmdir给出“目录不为空”错误时，它将停止处理在命令行rmdir它的目录。 如果您要求它删除四个目录，并且第一个目录中包含文件，则rmdir会给您错误消息，并且什么也不做。 您可以使用--ignore-fail-on-non-empty选项强制其忽略这些错误，以便处理其他目录。

In the following example two folders have been passed to rmdir, these are work/reports and work/quotes . The --ignore-fail-on-non-empty option has been included in the command. The work/reports folder has files in it, so rmdir cannot delete it. The --ignore-fail-on-non-empty option forces rmdir to ignore the error and move on to the next folder it needs to process, which is work/quotes. This is an empty folder, and rmdir deletes it.

This was the command used.

rmdir --ignore-fail-on-non-empty work/reports /work/quotes


You can use the  -p (parents) option to delete a directory and to delete its parent directories too. This trick works because rmdir starts with the target directory and then back-steps to the parent. That directory should now be empty, so it can be deleted by rmdir, and the process repeats stepping back up the path that was provided to rmdir.

In the following example the command that is passed to rmdir is:

rmdir -p work/invoices


Both the invoices and the work directories are deleted, as requested.

Whether you’re using Bash or any other shell, Linux provides flexible and powerful commands for you to delete directories and files straight from the terminal command line. Some people prefer to have a workflow that revolves around the terminal. Others may have no choice in the matter. They may be working on servers without a GUI installed or on a remote session onto a headless system such as a Raspberry Pi. These commands are perfect for that group of people.

But whatever type of workflow you prefer, these commands lend themselves very well to being included in shell scripts. If a script is triggered by a cron job, it can help automate routine housekeeping tasks such as purging unwanted log files. If you investigate that use case, remember the power of these commands, test everything carefully, and always maintain a recent backup.

linux终端删除文件命令

09-29
09-17 160
12-05 1033
07-07 1508
01-14 431
02-28 1431
10-31 42
03-30 815
12-30 1292
12-05 229
07-06 5万+

• 非常没帮助
• 没帮助
• 一般
• 有帮助
• 非常有帮助