2021年12月15日

扩展新知

      Linux中许多操作需要经由命令行来实现,要完成一些任务熟悉一些常用的命令行非常重要。例如要杀死服务器上后台运行的python程序,根据自己的认知,虽然pkill 可以通过指定程序名字直接杀死,但是后台运行的python程序很多,总不能把全部都杀死。所以,常用的操作是ps -ef |grep "some keyword" 来搜索程序的进程信息,里面包括了PID,复制PID,然后用kill -9 PID 来杀死进程。一直以来都是这样的操作,虽然有些麻烦,但是还可以将就。今天突然想起有没有方便的方法,尝试搜索后得知是有的,是直接用pkill -9 -f "some keyword" 就可以解决了。同样的例子还有获取某个文件的fullpath,以前都是用pwd获取路径,然后和文件名合并得到,需要两次复制粘贴。这次同样一搜得知realpath 一条命令即可,只需一次复制粘贴。

     一旦了解并熟练使用某种工具/方法/理论等后,容易陷入自己的舒适区,不太容易想探索知道自己目前的工具/方法/理论是不是最优,有没有更好的替代,该行为模式可以用一个比较中性偏褒义的词「不折腾」来描述,也可以用「故步自封」贬之。

      像文首提到的更换命令行是一件很简单的事,几乎无切换成本。但是现实中有许多切换是非常痛苦和高成本的,需要考虑许多因素。但是得益于搜索引擎的强大功能,想了解是否有更好的替代工具/方法/理论并不复杂,只需要一些检索即可,只要检索,就很容易扩展自己的认知,知道有更多的替代,或许在一些情况下自己有更多的选择,而不是陷入困境。

      举个例子,如文字排版,最常用的是MS Word,用起来也可以,但是如多多探索了解,知道还有LaTeX等工具,等到需要复杂排版Word使用起来不方便时,知道有个LaTeX的存在,这时尝试了解,获取会发现新的天地。

      所以除了常提到的多问个「为什么」,日常中也常搜搜「有没有其他的替代」,扩展自己的新知。以上的论述只是在了解运用现有方法,如果对于创新,依靠搜索了解现有之后,要问问「除了已有的这些,能不能这样试试」。

      写到这里发现其实,这是科研写论文的套路,1)面对问题,2)现有方法文献综述,3)提出自己的方法,4)方法实现,5)设计并实施实验验证其有效性,6)结论。但是在日常操作中,很难会这样想,很多都容易例行化了。日常中第1、2操作比较容易,第3点多想想或许有结果,如果有好的想法,第4-6步也是值得花时间经历来实施的。

Posted in , , . Bookmark the permalink. RSS feed for this post.

Done is better than perfect!