rm删除文件的一个问题

系统安装、升级讨论
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
头像
infinite180
帖子: 207
注册时间: 2007-05-31 20:17
来自: DUT
联系:

rm删除文件的一个问题

#1

帖子 infinite180 » 2009-05-24 21:43

如果要删除当前目录的所有文件该怎么做呢?
我试过了 rm -rf * 但是删不掉.开头的隐藏文件,怎样才能全删除了,包括隐藏文件
hrbeu06ws
帖子: 100
注册时间: 2008-09-25 16:06

Re: rm删除文件的一个问题

#2

帖子 hrbeu06ws » 2009-05-24 22:05

试试这个呢:

代码: 全选

rm -rf `ls -a`
``中的内容表示命令替换,执行后会提示
rm: 无法删除“.”或“..”
rm: 无法删除“.”或“..”
不过没什么太大影响。
头像
wangdu2002
帖子: 13284
注册时间: 2008-12-13 19:39
来自: 物华天宝人杰地灵

Re: rm删除文件的一个问题

#3

帖子 wangdu2002 » 2009-05-24 22:07

.表示当前目录,..表示上一级目录,删除不掉当然是正常的,如果这也能删除,岂不是出大Bug了。 :em05
行到水穷处,坐看云起时。
海内生明月,天涯共此夕。
--------------------吾本独!
aerofox
帖子: 1453
注册时间: 2008-05-24 8:30

Re: rm删除文件的一个问题

#4

帖子 aerofox » 2009-05-24 22:12

代码: 全选

rm -rf `ls -a`
至少可以把 -a 改 -A,这样就不会试图删除 . 和 .. 了。
但仍然不太好,因为如果当前目录中有带空格的文件名,会有问题。
可以用

代码: 全选

rm -rf * .[^.]*
删除包括隐藏文件在内的所有文件。
头像
infinite180
帖子: 207
注册时间: 2007-05-31 20:17
来自: DUT
联系:

Re: rm删除文件的一个问题

#5

帖子 infinite180 » 2009-05-24 22:26

aerofox 写了:

代码: 全选

rm -rf `ls -a`
至少可以把 -a 改 -A,这样就不会试图删除 . 和 .. 了。
但仍然不太好,因为如果当前目录中有带空格的文件名,会有问题。
可以用

代码: 全选

rm -rf * .[^.]*
删除包括隐藏文件在内的所有文件。
如果文件中有两个点或者多个点开头的隐藏文件就删不掉啊
头像
BigSnake.NET
帖子: 12522
注册时间: 2006-07-02 11:16
来自: 廣州
联系:

Re: rm删除文件的一个问题

#6

帖子 BigSnake.NET » 2009-05-24 22:45

删目录不就完了 =.= ...
^_^ ~~~
要理解递归,首先要理解递归。

地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
头像
infinite180
帖子: 207
注册时间: 2007-05-31 20:17
来自: DUT
联系:

Re: rm删除文件的一个问题

#7

帖子 infinite180 » 2009-05-24 23:10

BigSnake.NET 写了:删目录不就完了 =.= ...
这样就可以了,有空格的也可以删掉:
find -name "*" -delete
不过为什么rm的星号不匹配隐藏文件呢?
头像
lll9p
帖子: 1806
注册时间: 2007-07-18 18:56
联系:

Re: rm删除文件的一个问题

#9

帖子 lll9p » 2009-05-25 0:32

photor 写了:

代码: 全选

rm -rf .
不行吗? :em09
当然不行。。。。“.”这个文件删不掉
我的小站imtho.com
3n6uv7 2vw <---- 332 ?语星火是么什
人在井天
帖子: 1081
注册时间: 2009-04-29 21:22

Re: rm删除文件的一个问题

#10

帖子 人在井天 » 2009-05-25 17:10

好象加引号即可吧。比如:
rm -r ".linuq"
头像
lerosua
论坛版主
帖子: 8455
注册时间: 2007-11-29 9:41
联系:

Re: rm删除文件的一个问题

#11

帖子 lerosua » 2009-05-25 17:15

BigSnake.NET 写了:删目录不就完了 =.= ...
赞同
头像
木泥黑
帖子: 1339
注册时间: 2008-10-18 12:41

Re: rm删除文件的一个问题

#12

帖子 木泥黑 » 2009-05-25 17:54

估计楼主要删很多个目录下的文件
aerofox
帖子: 1453
注册时间: 2008-05-24 8:30

Re: rm删除文件的一个问题

#13

帖子 aerofox » 2009-05-26 6:48

infinite180 写了:
aerofox 写了:

代码: 全选

rm -rf `ls -a`
至少可以把 -a 改 -A,这样就不会试图删除 . 和 .. 了。
但仍然不太好,因为如果当前目录中有带空格的文件名,会有问题。
可以用

代码: 全选

rm -rf * .[^.]*
删除包括隐藏文件在内的所有文件。
如果文件中有两个点或者多个点开头的隐藏文件就删不掉啊
这种文件很少见,如果确实有,那么可以

代码: 全选

rm -rf * .[^.]* ..?*
头像
xieshaohu
帖子: 1565
注册时间: 2007-10-24 20:20
来自: 北京、海淀
联系:

Re: rm删除文件的一个问题

#14

帖子 xieshaohu » 2009-05-26 8:38

rm -rf * .[^.]* ..?*
还是正则表达式强悍
Dell Vostro 1500, T7300/4GB/WD5000BEVT/nVidia 8400GM, Ubuntu 10.04 x86_64/VMware 7(Win7)
我的博客:http://xieshaohu.wordpress.com/
aerofox
帖子: 1453
注册时间: 2008-05-24 8:30

Re: rm删除文件的一个问题

#15

帖子 aerofox » 2009-05-26 11:27

xieshaohu 写了:rm -rf * .[^.]* ..?*
还是正则表达式强悍
这不是正则表达式,是 shell 通配符。
回复