【杂谈】一行命令引发的一系列讨论

一行命令引发的一系列讨论

一、事由

前段时间 在 go语言中文网 上看到一个蚂蚁金服的招聘帖子,给出了几个简单的关键字 和 一个 base64 加密的简历投递邮箱的还原命令,非常简单直接,能考察一些基础命令的使用,还显得很有档次。

# 加密邮箱还原命令
echo Y2hlbnhpYW5nLmxqYyNhbGliYWJhLWluYy5jb20K | base64 -D | sed 's/#/@/'

然后就出现了一些质疑命令错误的回复和解释分析…

讨论现场见文末附图

二、分析

1. 原命令行分析

原命令为三条指令的管道拼接;

  • 第一条: echo Y2hlbnhpYW5nLmxqYyNhbGliYWJhLWluYy5jb20K
    echo 命令,直接输出 一个 base64 加密的字符串 Y2hlbnhpYW5nLmxqYyNhbGliYWJhLWluYy5jb20K
  • 第二条:base64 -D
    base64 命令,接收第一条命令的结果字符串,根据 -D 参数选择并执行 base64 解码,得到第二步的结果:chenxiang.ljc#alibaba-inc.com
  • 第三条:sed 's/#/@/'
    sed 命令,接收第二步的结果,替换字符串中的 #@,输出最终结果:chenxiang.ljc@alibaba-inc.com

2. 问题分析

由于各个平台对 base64 的具体实现都不太一样,导致参数有一定的差别是不可避免的,就像各种智能设备对 LinuxAndroid 系统定制裁剪一样,取吾所需,量身定制,裁掉不需要的部分,保持精简,虽然会因为有时太任性而导致一些问题,但这才是 Linux 开源软件的魅力;

针对帖子正文中的命令 -D,如果从未使用过此命令的话,直接在自己系统上实验的非 mac 用户就要开始报错了;如果此时对 base64 认识停留在全世界 base64 命令只有一种 的话,就会开始质疑作者了;

再者如果作者使用 -d 参数就会保持各个平台下都能保持命令兼容了。。。

3. 收获

命令行就是我们日常开发、操作的百宝箱,帮助我们完成各种任务,方便、快捷、通用工具一定要掌握好;
对待计算机程序世界保持好奇心,发散思维,终有所获…


(12月是一个让人焦虑、忙碌的月份,开始焦虑一整年稀里糊涂就要结束了,开始焦虑明年该如何如何 ,开始焦虑光阴易逝、世事无常;开始忙碌着做年终总结,开始忙碌着立明年的 Flag,开始忙碌着继续焦虑…)


—2019-12-01—

附图:
帖子截图

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值