删除文件到底用啥命令啊?萌新求问 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
ignore
V2EX    程序员

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

  •  
  •   ignore 2019-09-09 11:30:43 +08:00 8212 次点击
    这是一个创建于 2226 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    67 条回复    2019-09-11 11:22:55 +08:00
    lithiumii
        1
    lithiumii  
       2019-09-09 11:35:42 +08:00 via Android
    rm 没毛病,但你看也不看就 -rf ?
    SimonOne
        2
    SimonOne  
       2019-09-09 11:39:48 +08:00
    笑点承包
    co3site
        3
    co3site  
       2019-09-09 11:40:01 +08:00 via Android   6
    当然是 sudo rm -rf ./*啊,常识性错误,领导是对的
    andylsr
        4
    andylsr  
       2019-09-09 11:40:24 +08:00
    哈哈哈哈哈
    dumbass
        5
    dumbass  
       2019-09-09 11:40:30 +08:00   1
    我怀疑楼主已经被老板打死了
    ochatokori
        6
    ochatokori  
       2019-09-09 11:42:07 +08:00 via Android   2
    等一个 rm -rf . /*
    gromit1337
        7
    gromit1337  
       2019-09-09 11:49:36 +08:00
    你少打那个.就完蛋
    skotori
        8
    skotori  
       2019-09-09 11:50:17 +08:00
    习惯用还行
    loveiset
        9
    loveiset  
       2019-09-09 11:50:50 +08:00   16
    你多打了一个点吧,是不是领导不满意
    msl12
        10
    msl12  
       2019-09-09 11:54:19 +08:00   1
    是 sudo,你忘了加 sudo
    cpyhaha
        11
    cpyhaha  
       2019-09-09 11:54:59 +08:00   1
    严谨一点可以,rm -r dirname1/dirname2,这样就可以删除 dirname2 目录
    XSG
        12
    XSG  
       2019-09-09 11:57:11 +08:00   1
    要确认当前路径,应该这样才对啊,cd dir1;rm -rf * 哈哈哈
    love
        13
    love  
       2019-09-09 11:57:40 +08:00   14
    正确是 rm -rf *
    加一个 ./ 这是脱裤子放 P 了显得太新手了,是个人都要开除你
    Edwards
        14
    Edwards  
       2019-09-09 11:58:24 +08:00   1
    rm -rf /*
    soulzz
        15
    soulzz  
       2019-09-09 12:03:19 +08:00   1
    由于之前的沙雕操作,我上了公司运维黑名单
    现在公司服务器所有人都没有删除权限...因为不管删啥都很危险
    现在的一般操作是 sudo mv xxx /tmp
    rayu
        16
    rayu  
       2019-09-09 12:09:45 +08:00 via Android
    @soulzz 说出你的故事
    kokutou
        17
    kokutou  
       2019-09-09 12:45:40 +08:00 via Android
    @soulzz
    alias 一下嘛。。。
    darknoll
        18
    darknoll  
       2019-09-09 12:47:51 +08:00
    这种烂梗还要玩到什么时候
    smdbh
        19
    smdbh  
       2019-09-09 13:00:55 +08:00 via iPhone
    可以装个 trashcli
    sheeta
        20
    sheeta  
       2019-09-09 13:17:28 +08:00
    sudo mv / ../ 试试这个
    xnode
        21
    xnode  
       2019-09-09 13:19:20 +08:00
    试试 chmod -R 777 ./*
    reus
        22
    reus  
       2019-09-09 13:21:52 +08:00   1
    sudo rm -rf /* --no-preserve-root
    fifa666
        23
    fifa666  
       2019-09-09 13:27:11 +08:00
    sudo rm -rf /
    maninfog
        24
    maninfog  
       2019-09-09 13:30:37 +08:00 via iPhone
    有个疑问:rm -rf 应该是 rm -r -f (递归强制删除) 的缩写。然后根目录是 / (左斜杠) ,那么应该 rm -rf / 就可以为什么后面还需要加个*号?前面加.又是为了啥
    taolu
        25
    taolu  
       2019-09-09 13:35:39 +08:00
    @maninfog #24 '.':表示当前目录,'*':表示所有文件,包括文件夹
    qiuyk
        26
    qiuyk  
       2019-09-09 13:37:22 +08:00 via iPhone   14
    alias ls="rm -rf ./*",哪里 ls 没哪里
    ignore
        27
    ignore  
    OP
       2019-09-09 14:04:49 +08:00
    淦,v2er 没一个好人
    shakaraka
        28
    shakaraka  
    PRO
       2019-09-09 14:10:53 +08:00
    v2 的人好坏,不是应该 chmod 000 /吗?
    ignore
        29
    ignore  
    OP
       2019-09-9 14:12:33 +08:00
    @wunonglin #28 这是啥我去试下哈
    seraphv3
        30
    seraphv3  
       2019-09-09 14:15:35 +08:00   1
    @ignore 别试这个,他逗你玩的
    orzorzorzorz
        31
    orzorzorzorz  
       2019-09-09 14:20:53 +08:00
    一般都是 alias 成 mv 的。但我就不一样了,我会用 rimraf 代替 rm,这样老板就看不出来了
    zqyisasd
        32
    zqyisasd  
       2019-09-09 14:26:28 +08:00
    删除文件还是用 rm -f *
    across
        33
    across  
       2019-09-09 14:26:37 +08:00
    不做运维。
    查了下,看来保守做法就是上面说的,通过 alias 自定义垃圾回收站。
    zqyisasd
        34
    zqyisasd  
       2019-09-09 14:26:51 +08:00
    不加递归问题不大
    ignore
        35
    ignore  
    OP
       2019-09-09 14:42:12 +08:00
    @seraphv3 #30 好人一生平安
    pkookp8
        36
    pkookp8  
       2019-09-09 14:47:25 +08:00 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 万,老板为什么要留你

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

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

    sudo rm -rf /*
    zdkmygod
        63
    zdkmygod  
       2019-09-10 09:11:32 +08:00
    个人喜欢 move 到 /tmp,至少有点挽回的余地。
    openbsd
        64
    openbsd  
       2019-09-10 09:15:01 +08:00
    擅用 Tab 补全 怎么玩都行
    kakudesu
        65
    kakudesu  
       2019-09-10 09:52:51 +08:00
    钩咸饵直,block 了
    HangoX
        66
    HangoX  
       2019-09-10 12:03:28 +08:00
    rm -rf / $(pwd)
    okudayukiko0
        67
    okudayukiko0  
       2019-09-11 11:22:55 +08:00 via iPhone
    用 rm -rf /,根目录下的所有文件都没了……
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     925 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 21:37 PVG 05:37 LAX 14:37 JFK 17:37
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86