yxwzaxns
V2EX  ›  问与答

关于 rm 的疑问

  •  
  •   yxwzaxns · Dec 23, 2017 · 1676 views
    This topic created in 3172 days ago, the information mentioned may be changed or developed.
    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  
       Dec 23, 2017
    rm 自身并不决定执行顺序,在没有-r 的情况下,shell 会把 rm *转换为 rm aa ab ba,rm 会按照这个顺序来删除。
    好像不同 shell 对*的转换不一样,我只知道 bash 会转换成字母顺序。
    至于带有-r 的情况,就不太了解了。
    lrz0lrz
        2
    lrz0lrz  
       Dec 23, 2017
    带有 -r 的时候,rm 会按照字母顺序逐个删除文件和文件夹,并且在删除某个文件夹之前一定会先删除其内部的所有文件,但是对文件夹内部的文件会是什么处理顺序就不知道了。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2918 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 08:50 · PVG 16:50 · LAX 01:50 · JFK 04:50
    ♥ Do have faith in what you're doing.