【发布时间】:2012-01-27 18:05:57
【问题描述】:
我想清除项目目录中的 /bin 文件夹。我该怎么做?
我试过rm -rf ~/bin,但没有成功
【问题讨论】:
标签: bash shell unix scripting terminal
我想清除项目目录中的 /bin 文件夹。我该怎么做?
我试过rm -rf ~/bin,但没有成功
【问题讨论】:
标签: bash shell unix scripting terminal
您应该说“...我的 bin 文件夹”,而不是“我的 /bin 文件夹”。 /bin 是绝对路径,bin 是相对路径。
rm -rf ~/bin 删除 $HOME/bin,所以也不是你想要的。
现在,这取决于您所在的位置:如果您在键入命令时位于项目目录中,则只需键入 rm -rf bin。
【讨论】:
-rf? rm ~/bin/* 不够
~ 是当前用户主目录的简写。因此,除非它也是您的项目目录,否则您做错了什么。除此之外,清除目录将是
rm -rf ~/bin/*
如果你还想清除隐藏文件
rm -rf ~/bin/* ~/bin/.[a-zA-Z0-9]*
确保你没有这样做
rm -rf ~/bin/.*
罢工>
尤其是 root 用户,因为它会尝试清除您的整个系统。
UPD
为什么?由于通配符 (*) 被 shell 解释为 零个或多个任意类型的字符,.* 也将匹配 .(当前目录)和 ..(父目录),其中将导致一直向上然后向下,试图删除文件系统树中的每个文件。
【讨论】:
rm -rf ~/bin/{*,.[^.]*}
将删除~/bin/ 中的所有文件和目录,包括隐藏文件和目录(名称以. 开头),但不删除父目录(即..)。
.[^.]* 匹配名称以点开头、第二个字符不是点且有或没有更多字符的所有隐藏文件和目录。
【讨论】: