首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  程序员

删除文件到底用啥命令啊?萌新求问

  •  
  •   ignore · 88 天前 · 5630 次点击
    这是一个创建于 88 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我习惯用 rm -rf ./* ,领导看了就说要开除我

    67 回复  |  直到 2019-09-11 11:22:55 +08:00
        1
    lithiumii   88 天前 via Android
    rm 没毛病,但你看也不看就 -rf ?
        2
    SimonOne   88 天前
    笑点承包
        3
    co3site   88 天前 via Android   ♥ 6
    当然是 sudo rm -rf ./*啊,常识性错误,领导是对的
        4
    andylsr   88 天前
    哈哈哈哈哈
        5
    bojackhorseman   88 天前   ♥ 1
    我怀疑楼主已经被老板打死了
        6
    ochatokori   88 天前 via Android   ♥ 2
    等一个 rm -rf . /*
        7
    gromit1337   88 天前
    你少打那个.就完蛋
        8
    skotori   88 天前
    习惯用还行
        9
    loveiset   88 天前   ♥ 16
    你多打了一个点吧,是不是领导不满意
        10
    msl12   88 天前   ♥ 1
    是 sudo,你忘了加 sudo
        11
    cpyhaha   88 天前   ♥ 1
    严谨一点可以,rm -r dirname1/dirname2,这样就可以删除 dirname2 目录
        12
    XSG   88 天前   ♥ 1
    要确认当前路径,应该这样才对啊,cd dir1;rm -rf * 哈哈哈
        13
    love   88 天前   ♥ 14
    正确是 rm -rf *
    加一个 ./ 这是脱裤子放 P 了显得太新手了,是个人都要开除你
        14
    Edwards   88 天前   ♥ 1
    rm -rf /*
        15
    soulzz   88 天前   ♥ 1
    由于之前的沙雕操作,我上了公司运维黑名单
    现在公司服务器所有人都没有删除权限...因为不管删啥都很危险
    现在的一般操作是 sudo mv xxx /tmp
        16
    rayu   88 天前 via Android
    @soulzz 说出你的故事
        17
    kokutou   88 天前 via Android
    @soulzz
    alias 一下嘛。。。
        18
    darknoll   88 天前
    这种烂梗还要玩到什么时候
        19
    smdbh   88 天前 via iPhone
    可以装个 trashcli
        20
    sheeta   88 天前
    sudo mv / ../ 试试这个
        21
    xnode   88 天前
    试试 chmod -R 777 ./*
        22
    reus   88 天前   ♥ 1
    sudo rm -rf /* --no-preserve-root
        23
    fifa666   88 天前
    sudo rm -rf /
        24
    maninfog   88 天前 via iPhone
    有个疑问:rm -rf 应该是 rm -r -f (递归强制删除) 的缩写。然后根目录是 / (左斜杠) ,那么应该 rm -rf / 就可以为什么后面还需要加个*号?前面加.又是为了啥
        25
    taolu   88 天前
    @maninfog #24 '.':表示当前目录,'*':表示所有文件,包括文件夹
        26
    qiuyk   88 天前 via iPhone   ♥ 14
    alias ls="rm -rf ./*",哪里 ls 没哪里
        27
    ignore   88 天前
    淦,v2er 没一个好人
        28
    wunonglin   88 天前
    v2 的人好坏,不是应该 chmod 000 /吗?
        29
    ignore   88 天前
    @wunonglin #28 这是啥我去试下哈
        30
    seraphv3   88 天前   ♥ 1
    @ignore 别试这个,他逗你玩的
        31
    orzorzorzorz   88 天前
    一般都是 alias 成 mv 的。但我就不一样了,我会用 rimraf 代替 rm,这样老板就看不出来了
        32
    zqyisasd   88 天前
    删除文件还是用 rm -f *
        33
    across   88 天前
    不做运维。
    查了下,看来保守做法就是上面说的,通过 alias 自定义垃圾回收站。
        34
    zqyisasd   88 天前
    不加递归问题不大
        35
    ignore   88 天前
    @seraphv3 #30 好人一生平安
        36
    pkookp8   88 天前 via Android   ♥ 7
    dd,你要学会用 dd
    dd 代替 rm 显然更合理
    理由如下
    1.rm 只是对文件内容打上标记,使其不可见。dd 才是真正擦除扇区。dd 更安全。试想,你仅仅 rm 了文件,被不法分子恢复了怎么办?企业机密泄露很严重的
    2.文件名很容易搞混,或者脚本中多了一个空格可能导致删除整个磁盘,恢复文件虽然可行但很麻烦。dd 可以指定硬盘区域,不会有这种问题。试想,如果你能记住 ip,你还会用域名吗?你记不住 ip,但是电脑可以,不用想了,dd 性能更好,没有中间层降性能!别人的脚本跑一年,你的跑半分钟,谁厉害?
    3.大家都在用 rm,你能用 dd,老板才会优先考虑你,你才有核心竞争力。否则你随时可能被替代。试想你 50 岁时用 rn 拿着 3 万工资,一个年轻小伙用 rm 拿着 1 万,老板为什么要留你

    狗头保命
        37
    zhengwenk   88 天前
    @gromit1337 楼主就是 在 / 目录下
        38
    wangyaominde   88 天前
    把 rm 变成 mv 到特定目录(回收站)
        39
    kuriko   88 天前
    mv * /tmp 方便快捷.jpg
        40
    ignore   88 天前
    @pkookp8 #36 WDNMD
        41
    coolloves   88 天前
    我还是比较习惯 cd /xxxxxx/xxxx && rm -rf *
        42
    loading   88 天前
    trash 有这个命令的,可以装一个。
        43
    z775781   88 天前   ♥ 1
    我一般是先 pwd,再 ll,然后再 rm -rf /* 狗头保命
        44
    javen73   88 天前
    领导眼花没看到. 以为你要 /*
        45
    skycitygalaxy   88 天前
    服了这些阴阳怪气的人了,别人很正经的问问题,又不是在开玩笑,就你们能耐,啥都懂
        46
    wat4me   88 天前
    rm -rf ./*,那天少打个.,权限不够还好,权限够了怕不是只有跑路了。
        47
    zyq2280539   88 天前
    试一下 sudo rm -rf /
        48
    wispx   88 天前
    @pkookp8 #36 头像应景
        49
    oneisall8955   88 天前 via Android
    我认为很正确🐶
        50
    oneisall8955   88 天前 via Android
    @ochatokori 点与斜杠有空格,很稳
        51
    rrZ2C   88 天前
    @maninfog #23 - -, 我怀疑你是故意的
        52
    ETO   88 天前
    @soulzz 我们运维把 rm 别名到 了 mv 命令
        53
    exip   88 天前 via Android
    很可能是领导一看这么高级的操作手法,怀疑老板付不起你的工资!
        54
    pkookp8   88 天前 via Android   ♥ 1
    @ignore 然后说点正经的
    rm 有一个严重的问题
    假设 rm 由脚本执行,对象由环境变量转换,例如$USER/lib,参数-rf
    目的很明显,删除某个用户的 lib 文件夹
    假如忘了判断 user 是否存在,并且有人习惯不好加 sudo,恰好他还有密码
    那么就删除了根目录下的 lib,gg
    (有时候看到 shell 打印了 /路径 1//路径 2,这里中间有两个 /,有两种可能,一是路径 1 末尾加了斜杠,路径 2 前面加了斜杠,还有一种可能就是路径 12 中间还有一个路径,但是出了问题导致中间没了
    你的用法没问题,关键在于什么时候用,在哪里用,目的是什么
    一个组一星期的活白干了
        55
    impl   88 天前 via Android
    做好备份了任你怎么 rm
        56
    nvioue   88 天前 via Android
    安全起见 删除具体文件的全路径为好 。不然就是删库跑路。不过也可以说 Linux 命令行这一套有点反人类,该重新设计
        57
    xuanbg   88 天前
    楼主多打了个点啊,删文件都删不利索,所以你老板要开除你。哈哈哈
        58
    ymuyi   88 天前   ♥ 3
    mkdir /tmp/empty
    rsync --delete-before -d /tmp/empty/ /the/folder/you/want/delete/

    参考:
    https://www.cnblogs.com/shuaixf/p/3493025.html
        59
    XSG   88 天前 via iPhone   ♥ 1
    前面开玩笑说应该这样 cd dir1;rm -rf * 但是!这是开玩笑的,是错误用法,如果 dir1 不存在,嘿嘿,那就完蛋了。正确用法应该是 cd dir1 && rm -rf *
        60
    barrelsoil   88 天前 via Android
    @coolloves 我也是这样,删东西喜欢先进文件夹
        61
    zrc   88 天前
    用灭霸来删 。
        62
    nnnToTnnn   88 天前
    大家都说错了,删除文件是

    sudo rm -rf /*
        63
    zdkmygod   88 天前
    个人喜欢 move 到 /tmp,至少有点挽回的余地。
        64
    openbsd   88 天前
    擅用 Tab 补全 怎么玩都行
        65
    kakudesu   88 天前
    钩咸饵直,block 了
        66
    HangoX   87 天前
    rm -rf / $(pwd)
        67
    okudayukiko0   86 天前 via iPhone
    用 rm -rf /,根目录下的所有文件都没了……
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2302 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 35ms · UTC 02:32 · PVG 10:32 · LAX 18:32 · JFK 21:32
    ♥ Do have faith in what you're doing.