如何Unix rm目录中的所有文件
时间:2020-01-09 10:46:08 来源:igfitidea点击:
我如何在Unix之类的操作系统下rm(删除)名为个人文件的目录中的所有文件?
您需要使用rm命令删除指定的文件和目录。
rm的语法是:
rm file rm file1 file2 rm wildcard-based-file-name-matching rm [options] filenames
在此示例中,假设所有文件都位于当前目录中,则rm将删除名为file.txt,foo.txt和bar.txt的文件:
rm file.txt foo.txt bar.txt
*通配符
星号(*)通配符(也称为星号)可以代表所有文件名。
因此,要删除所有文件,请使用"*"通配符。
在此示例中,删除当前目录中的所有文件(不能删除警告文件,因此请注意以下命令):
rm *
要删除$HOME/personl-files中的所有文件,请执行:
rm $HOME/personl-files/*
将-i
(即交互式)选项传递给rm命令以提示用户进行确认,然后再删除每个文件和目录。
rm -i *
要删除所有* .doc文件(以.doc扩展名结尾的文件,请执行:
rm *.doc
以下内容将告诉rm命令删除当前目录中名称中包含字符串movie的所有文件:
rm *movie*
以下内容将告诉rm命令删除所有以小写字母z开头的文件。
rm z*
问号通配符
?(问号)用于精确匹配一个字符。
例如,三个问号(???)代表由三个字符组成的任何文件名。
在此示例中,rm命令将删除当前目录中所有名称(包括扩展名)正好三个字符的文件:
rm ???
以下内容将告诉rm命令删除当前目录中所有以字母z开头且长度为六个字符的文件:
rm z?????
以下内容将告诉rm命令删除当前目录中所有扩展名由两个字符组成的文件:
rm *.??
方括号通配符
方括号([])可以匹配方括号中包含的任何字符。
例如,以下命令将告诉rm命令删除当前目录中所有带有A,B和/或者C的文件:
rm *[ABC]*
以下命令将告诉rm命令删除其中包含数字(零到九)的所有文件,即文件名中至少一个数字:
rm *[0-9]*
以下内容将告诉rm命令删除所有以c或者h开头的扩展名的文件:
rm *.[ch]*
并且以下内容将告诉rm命令删除当前目录中的所有文件名,这些文件名包括镜像和后跟两位数字的数字:
rm images[0-9][0-9].png
更多例子
## Delete all perl files ## rm *.pl ## Delete all c source code files ## rm *.c ## Delete all c source code files only if name begins with a lower case letter a ## rm a*.c ## Delete all files that have an .html or a .txt extension ## rm *.html *.txt
如何从$HOME/personl-files /中删除所有文件和子目录?
使用以下rm命令语法:
rm -rf /path/to/dir/* rm -rf $HOME/personl-files/*