V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
victor
V2EX  ›  程序员

再也不用被 rm * 困扰了

  •  1
     
  •   victor · 2015-04-16 12:56:28 +08:00 · 7603 次点击
    这是一个创建于 3535 天前的主题,其中的信息可能已经有所发展或是发生改变。

    从 V2EX 上搜索 rm。各种帖子内容都是叙述闻者伤心,听者流泪的手贱操作。

    今天看 https://www.youtube.com/user/wesbos/playlists 的 Command Line Power User 系列最后一讲发现了个好玩的东西。

    trash
    https://github.com/sindresorhus/trash

    还不知道的兄弟们可以快去试试了。这是一个跨平台的命令行工具,用来替代 rm。它会把文件删除到回收站的位置,给你一个拯救自己的机会。

    30 条回复    2015-04-17 09:27:06 +08:00
    GhostFlying
        1
    GhostFlying  
       2015-04-16 13:07:50 +08:00
    手贱的时候都是删掉了还清掉回收站的,包括我用zsh的时候多提示依次还是y了。。
    7anshuai
        2
    7anshuai  
       2015-04-16 13:08:06 +08:00
    赞,作者好像是JS社区的大牛
    liupy525
        3
    liupy525  
       2015-04-16 13:27:45 +08:00   ❤️ 3
    一直在用这个 也很不错 https://gitcafe.com/bachue/rm-trash
    zix
        4
    zix  
       2015-04-16 13:30:12 +08:00
    自从手滑删掉未提交的代码后,就自己动手写了一个……
    Dk2014
        5
    Dk2014  
       2015-04-16 13:31:56 +08:00 via Android
    曾经rm -rf ~过,当时那酸爽
    sobigfish
        6
    sobigfish  
       2015-04-16 13:44:04 +08:00
    [sudo] pip install trash-cli

    感觉比node版本好些
    jokester
        7
    jokester  
       2015-04-16 13:48:34 +08:00   ❤️ 1
    改变rm的行为也不是个办法

    被rm咬了几次后,往往会想到用”rm -i”替换rm,或整个替换掉rm,把所有被删除的文
    件放到~/.deleted目录中。这些小技巧让用户有了错误的安全感。


    Date: Mon,16 Apr 90 18:46:33 199
    X-Virus: 6
    From: Phil Agre <[email protected]>
    To: UNIX-HATERS
    Subject: deletion

    在我们的系统上,”rm”并不真正删除文件,而是给文件换了名,这样”undelete”(不
    是unrm)这样的工具就能恢复被删的文件。

    这个功能让我不再对删除文件多加小心,反正删掉了也能找回来。可是,我错了。Emacs
    中的删除并不支持这个功能,Dired命令也是如此。这当然是因为文件恢复并不是操作系
    统的一个功能。

    所以,现在我脑子里有两个概念,一个是”deleting”一个文件,一个是”rm’ing”一
    个文件。当我的手要我的脑子删除一个文件时,我总要把这两个概念区分一遍。


    一些UNIX专家由此得出了荒谬的结论,他们认为最好别把rm搞得更友好。他们争辩说,
    让UNIX更友好的努力往往适得其反。不幸的是,他们是对的。

    -------- unix hater handbook
    lululau
        8
    lululau  
       2015-04-16 13:49:24 +08:00
    OS X 上最好用的 Trash CLI util 是 http://alphahelical.com/code/osx/trash/vsrc
    它是调用的 Finder 去完成 trash 功能的,好处是可以使用 Finder 里的 “放回原处”功能
    yjd
        9
    yjd  
       2015-04-16 13:50:55 +08:00
    完全就个人问题,我从05年用到现在就没打错过。
    就比如ghost一样。从接触电脑到现在就没误恢复过。
    Tiande
        10
    Tiande  
       2015-04-16 13:55:10 +08:00
    已 star ;)
    sobigfish
        11
    sobigfish  
       2015-04-16 13:57:42 +08:00   ❤️ 1
    @liupy525 的这个https://gitcafe.com/bachue/rm-trash 也可以用废纸篓的放回原处
    janxin
        12
    janxin  
       2015-04-16 14:06:07 +08:00
    手贱还是我这种 rm -rf的
    zenozeng
        13
    zenozeng  
       2015-04-16 14:06:47 +08:00
    @jokester (setq delete-by-moving-to-trash t)
    neilwong
        14
    neilwong  
       2015-04-16 14:19:54 +08:00
    @janxin 我都是rm -rvf 删除的时候还可以看到过程~
    anyforever
        15
    anyforever  
       2015-04-16 14:41:41 +08:00   ❤️ 1
    @neilwong 自虐的最高境界。
    Tonni
        16
    Tonni  
       2015-04-16 14:50:06 +08:00
    有一次在 HOME 执行 rm -rf *,然后立即取消操作,删除了几个应用,还好有 TM 做过备份。
    loveyu
        17
    loveyu  
       2015-04-16 15:26:00 +08:00
    有一次不小心把根目录链接到某个目录。然后 rm -rf *。还好书虚拟机
    faninx
        18
    faninx  
       2015-04-16 15:32:13 +08:00
    rm -rf 已成习惯 。。
    rming
        19
    rming  
       2015-04-16 15:38:11 +08:00
    alias rm='rm -i'

    其实自从用了 Mac ,再也不用担心手贱了,有TM保护很安心
    mcfog
        20
    mcfog  
       2015-04-16 15:55:12 +08:00
    @jokester +65535

    实名反对任何改变rm行为的做法

    改变rm行为的脚本大概是这样的:某年某月在自己机器rimraf哭一次,一遍抹眼泪一边找个trash,alias成rm以后继续开心地rm。过一阵子以后,跑到服务器上或者su到另一个用户或者写个脚本 又rimraf一记,cheers

    不过不改变行为,换个名字专门trash是不错的,我用的是`brew install rmtrash`
    loveminds
        21
    loveminds  
       2015-04-16 16:09:53 +08:00
    除非你有能力改变默认源里的rm,否则习惯这种东西无异于饮鸩止渴,当换到其他机器上的时候会下意识的以为rm仍然是trashed的,如@mcfog 所述
    jason52
        22
    jason52  
       2015-04-16 16:22:55 +08:00
    我在有一本书里看到是,作者说道 ,我们先等等,让mac用户镇定一下情绪~~
    zhengkai
        23
    zhengkai  
       2015-04-16 17:31:49 +08:00
    比 rm 更为普遍和严重的问题是用 root 账号而不是 sudo
    colorfulberry
        24
    colorfulberry  
       2015-04-16 17:55:21 +08:00
    rm -rf 一次换过一次工作的说!@playtoxin
    konakona
        25
    konakona  
       2015-04-16 18:38:42 +08:00
    - - 这种命令明明打完后就应该停顿10秒看清楚……
    Shieffan
        26
    Shieffan  
       2015-04-16 18:47:53 +08:00
    两次以上在~来rm -rf *
    ryd994
        27
    ryd994  
       2015-04-16 22:48:13 +08:00 via Android
    alias rm=true
    彻底根治
    h4x3rotab
        28
    h4x3rotab  
       2015-04-16 23:43:58 +08:00
    mac党。我的做法就是该删就删,开time machine增量备份,删坏了去找回来..
    z327774948
        29
    z327774948  
       2015-04-17 08:46:14 +08:00
    想起自己手贱的那次了
    wwek
        30
    wwek  
       2015-04-17 09:27:06 +08:00
    先pwd
    然后rm -rf 看清楚了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3003 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 14:19 · PVG 22:19 · LAX 06:19 · JFK 09:19
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.