Distributions
› Ubuntu
› Fedora
› CentOS
中文资源站
› 网易开源镜像站
k8ser
V2EX  ›  Linux

如何安全的删除软连接?

  •  
  •   k8ser · Jun 22, 2020 · 8842 views
    This topic created in 2334 days ago, the information mentioned may be changed or developed.

    如何安全的删除软连接? 一不小心就加了个 /

    30 replies  •  2020-06-24 22:38:05 +08:00
    Latin
    Latin
    Jun 22, 2020❤️1
    1
    rm -rf /
    MCVector
    MCVector
    Jun 22, 2020 via Android❤️8
    2
    强烈建议不要发 rm -rf / 这样的东西。很容易误导通过搜索引擎过来的新手。我刚刚开始用 Linux 的时候有一次垃圾箱删不掉,看到一个论坛里有这样的命名,结果用了以后把作业都删掉了。
    vk42
    vk42
    Jun 22, 2020
    3
    删软链接别加-r 就没事,最多报错
    visonnn
    visonnn
    Jun 22, 2020❤️1
    4
    1 楼这种回复不好笑,也很不负责任。
    loading
    loading
    Jun 22, 2020 via Android❤️1
    5
    root 权限了,不小心并不是理由。
    Netfix
    Netfix
    Jun 22, 2020❤️2
    6
    看上面几楼好像是没看懂题目把,删除软连接后面+/ 会删除源文件 如果 tab 补全 默认会加 /
    libook
    libook
    Jun 22, 2020❤️1
    7
    一方面是操作的时候仔细一些,确保输入的指令无误再执行;另一方面可以借助一些工具来确保可以恢复误操作,比如 trash-cli 这种工具可以使用 trash 指令来将文件放入回收站。
    McZoden
    McZoden
    Jun 22, 2020
    8
    unlink
    eallion
    eallion
    Jun 22, 2020
    9
    ln --help
    nightwitch
    nightwitch
    Jun 22, 2020❤️1
    10
    apt instal trash-cli
    alias rm=trash
    liangch
    liangch
    Jun 22, 2020
    11
    @Livid 1#恶意回复
    asilin
    asilin
    Jun 22, 2020
    12
    unlink
    flyingghost
    flyingghost
    Jun 22, 2020
    13
    @MCVector 那么问题来了,把一个低级错误像段子一样广为传播,到底是有利于新手避开错误,还是造成更多的人亦步亦趋掉进同样的坑里?
    Latin
    Latin
    Jun 22, 2020
    14
    @liangch 你这是诋毁我哈,冷笑话不好笑就算了。好歹有点常识的也不会听风就是雨吧?
    wzxlovesy
    wzxlovesy
    Jun 22, 2020 via Android
    15
    @Latin 在别人看来你这就是恶意回复,哪里是冷笑话
    syahd
    syahd
    Jun 22, 2020 via iPhone
    16
    @Latin 呵呵,这种回复在 linux 吧是要封禁几天的
    Oysmart
    Oysmart
    Jun 22, 2020❤️1
    17
    原来开过这种玩笑,但现在不会了,不要用自己的眼光去定义新手;
    新手往往会不假思索的去执行,对数据还是保持敬畏之心。
    CEBBCAT
    CEBBCAT
    Jun 22, 2020
    18
    @Latin #14 好歹加个 doge
    crella
    crella
    Jun 22, 2020 via Android
    19
    我用 debian9 的时候 rm -rf /这个危险命令会提示确认删除的了啊?
    aloxaf
    aloxaf
    Jun 22, 2020
    21
    1. 不要没事乱加 rf,你要删的又不是目录
    2. 标准做法是使用 unlink
    3. 为了防止误删建议 alias rm=rm -i
    4. 为了误删之后还能恢复请使用 trash-cli (这个太长我一般 alias 到 del )
    5. 如果你是像前面说的因为 tab 补全会加上 / 而误操作的花,建议使用 zsh 。zsh 很多细节真的处理得非常好:补全目录时自动添加的 / ,在侦测到你接下来输入的也是 / 或者分号、空格、回车时,就会被自动删掉。
    qnnnnez
    qnnnnez
    Jun 22, 2020
    22
    3 楼说得没错呀。
    unlink 和 rm 没啥区别吧(我还不知道有个程序叫 unlink ),因为 unlink 不能加 -r ?
    HarryQu
    HarryQu
    Jun 22, 2020
    23
    既然想安全,就尽量少用 rm 。你可以建一个临时目录,将想要删除的文件,使用 mv 移动到临时目录,定时清理临时目录即可。
    Illusionary
    Illusionary
    Jun 22, 2020
    24
    rm -f,从未失手
    msg7086
    msg7086
    Jun 23, 2020
    25
    软连接相当于文件,不需要加斜线啊。

    @Netfix 换个好点的 shell,不会乱加斜线的那种。

    @flyingghost 写上解释比光发一个命令更利于新手避开错误。
    Coolwinds
    Coolwinds
    Jun 23, 2020
    26
    一楼真没意思,谁没有还是个菜鸟的时候
    vB4h3r2AS7wOYkY0
    vB4h3r2AS7wOYkY0
    Jun 23, 2020
    27
    `fd <location> -type l`
    检查一下当前存在的软链再操作就好....
    qbqbqbqb
    qbqbqbqb
    Jun 24, 2020❤️1
    28
    @qnnnnez Linux 里 rm 和 unlink 确实没多大区别
    有区别的是 macOS,因为 macOS 的文件系统支持目录硬链接(注意不是软链接,且系统中有相关机制确保目录“树”无环),众所周知 rm 和 rmdir 是无法直接删除有文件的目录的,如果要消除一个目录硬链接而不影响其中文件的话必须用 unlink 。
    至于软连接,无论在什么平台上都是直接 rm (不加-r )就行
    MCVector
    MCVector
    Jun 24, 2020 via Android
    29
    @flyingghost 那就看有多少人是先接触段子了🤔
    TK4E
    TK4E
    Jun 24, 2020
    30
    以防万一

    alias rm='mv -t /root/.Rubbish'
    alias rmrf='\rm -rf /root/.Rubbish/*'

    现在 rm -rf / 也不能直接删除吧 反倒是要小心 rm -rf *
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   4494 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 75ms · UTC 03:42 · PVG 11:42 · LAX 19:42 · JFK 22:42
    ♥ Do have faith in what you're doing.