V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
yxwzaxns
V2EX  ›  问与答

关于 rm 的疑问

  •  
  •   yxwzaxns · 2017-12-23 13:48:10 +08:00 · 1298 次点击
    这是一个创建于 2531 天前的主题,其中的信息可能已经有所发展或是发生改变。
    Mac:NO NAME aong$ sudo rm -rf 1-04-lqc*
    Mac:NO NAME aong$ rm -rf *
    ^C
    Mac:NO NAME aong$ ls
    

    今天删除一个 U 盘内容时手快直接打了个*,幸好 0.5 秒后反应过来掐断了,不知道这 0.5 秒里有没有文件被删除,很好奇上面这个 rm 执行后它从哪个文件开始删除

    ps:电脑目前看起来一切正常

    lrz0lrz
        1
    lrz0lrz  
       2017-12-23 18:59:58 +08:00
    rm 自身并不决定执行顺序,在没有-r 的情况下,shell 会把 rm *转换为 rm aa ab ba,rm 会按照这个顺序来删除。
    好像不同 shell 对*的转换不一样,我只知道 bash 会转换成字母顺序。
    至于带有-r 的情况,就不太了解了。
    lrz0lrz
        2
    lrz0lrz  
       2017-12-23 19:03:48 +08:00
    带有 -r 的时候,rm 会按照字母顺序逐个删除文件和文件夹,并且在删除某个文件夹之前一定会先删除其内部的所有文件,但是对文件夹内部的文件会是什么处理顺序就不知道了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5205 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 19ms · UTC 09:41 · PVG 17:41 · LAX 01:41 · JFK 04:41
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.