linux 下 rm 为什么要这么写?

下面代码中的rm 为什么要写成/bin/rm?

大文件清理,高宿主含量样本可节约>90%空间

    /bin/rm -rf temp/qc/*contam* temp/qc/*unmatched*  temp/qc/*.fq
    ls -l temp/qc/

这是一个很好的问题,观察很仔细, 也带着了自己的思考。

rm是 Linux 下的一个危险命令,用于删除文件或文件夹,删除后很难恢复。程序员常做的删库跑路之一就是rm -rf /,在有权限的情况下递归删除服务器所有文件。

通常为了避免误删或使用方便,一般大家会在自己的~/.bashrc 或类似的文件中重定义一些命令,比如alias rm='rm -i'或复杂一些,  如下

function rm(){
 if [[ $# -lt 1 ]]; then
    echo "Usage: rm input"
    return 1
  fi
    /bin/mkdir -p ~/trash
    /bin/mv $@ ~/trash
}

所以,看上去同样写法的命令在不同的电脑上行为可能完全不一样。

我们自己在写脚本时要尽量保证代码适用于不同的电脑,所以这里我们用了复杂写法,直接指定用/bin 目录下的rm,看上去是麻烦了些,但好处是不受用户自定义行为的影响,更通用。类似的/bin/cp 和/bin/mv 也是常用的写法。

  • 8
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

生信宝典

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值