感谢SF通过了我的发布文章申请,今天给大家分享我最近的一次血泪史。
由于职业需要,LZ经常要下载联盟某些源码运行,这次运行python文件后,目录里多出了很多*.pyc
的文件。作为一个有洁癖的牛头人,我当然得找出这些文件并删除。
于是,我运行了 find . -name *.pyc
,很好,文件全找出来了。find
有一个可选参数 -delete
,看着这些待宰的羔羊,我默默的运行了:
find . -delete -name *.pyc # 小盆友们别运行这个
接下来就是见证奇迹的时刻,我的目录空了!!!!!
我明明写了只删除 *.pyc
啊!!!!
这是肿么回事啊!!!
吃下三根树枝,缜密侦查,发现原因所在,-delete
参数的位置不能乱写啊尼玛!!!!
LZ之前的写法有严重的错误啊,find . -delete
意味着删除当前目录下的所有文件啊,然后再执行-name *.pyc
,尼玛目录都被删空了你说执行后会显示毛啊,正确的写法是这样的:
find . -name '*.pyc' -delete # 参数 -delete 一定要在匹配之后
@xen0n 提醒:
直接写*.pyc
也是不对的, shell会先行扩展. 你要用''
(单引号)括住才行.
心都凉了,LZ是在~/Downloads
目录里运行的错误命令,存了好些年的苍苍老师片都被洗劫了,写下此文告诫给各位,shell有危险,使用需谨慎。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。