Linux使用命令行删除目录中的所有文件
时间:2020-01-09 10:41:26 来源:igfitidea点击:
如何从目录中删除所有文件。
您能告诉我Linux命令删除目录中的所有文件吗?
说明:您可以使用unlink命令删除目录中的所有文件。
另一个选择是使用rm命令删除目录中的所有文件。
本教程说明如何使用命令行选项删除目录中的所有文件。
Linux删除目录中的所有文件
从目录中删除所有文件的过程:
- 打开终端应用程序要删除目录中的所有内容,请运行:
rm /path/to/dir/*
- 要删除所有子目录和文件:
rm -r/path/to/dir/*
让我们看一些使用Linux操作系统时rm命令删除目录中所有文件的示例。
如何删除目录中的所有文件?
假设您有一个名为/home/Hyman/data /的目录。
要列出文件,请执行ls命令:
$ ls ~/data/
要删除名为/home/Hyman/data /的目录中的所有文件,请运行:
$ rm /home/Hyman/data/*
您可以看到在删除目录中的所有文件时,通过将-v选项传递给rm命令来做什么:
$ rm -v /home/Hyman/data/*
使用ls命令验证:
$ ls -l /home/Hyman/data/
如您所见,rm命令无法删除子目录/home/Hyman/data/images和/home/Hyman/data/scripts。
要从目录中删除所有文件文件夹,请运行:
$ rm -rfv /home/Hyman/data/
了解删除目录中所有文件的rm命令选项
-r
:递归删除目录及其内容。-f
:强制选项。换句话说,忽略不存在的文件和参数,从不提示。危险的选择。小心。-v
:详细选项。在屏幕上显示rm在做什么。
删除隐藏文件与非隐藏文件
在Linux中,任何以点字符开头的文件或目录都称为点文件。
它被视为隐藏文件。
要查看隐藏文件,将`-a'传递给ls命令:
ls ls -a ls -la
要除去目录中隐藏文件以外的所有文件,请使用:
rm /path/to/dir/* rm -rf /path/to/dir/* rm *
在此示例中,删除所有文件,包括隐藏文件,运行:
rm -rf /path/to/dir1/{*,.*} rm -rfv /path/to/dir1/{*,.*}
Bash使用dotglob选项从目录中删除所有文件,包括隐藏文件
如果设置了dotglob选项,则bash包含以开头的文件名。
扩展路径名的结果。
换句话说,启用此选项以删除隐藏文件:
# Bash shell and may not work on other shells # Turn on dotglob (set) # shopt -s dotglob # Remove all files including hidden .files # rm -v ~/project/oldfiles/* rm -vrf ~/project/oldfiles/* # Turn off dotglob (unset) # shopt -u dotglob
Linux删除目录中的所有文件
正如我之前所说的,也可以使用unlink命令。
语法为:
unlink filename
例如,删除当前工作目录中名为foo.txt的文件,执行:
unlink foo.txt
一次只能删除一个文件。
您不能传递多个文件或使用通配符,例如*。
因此,我强烈建议您如上所述使用rm命令。