大家好我是良许。
最近有个粉丝私信我,说看到Linux大神在终端行云流水敲命令、参数信手拈来,自己却连常用命令都记不住,每次都要百度,不禁疑惑大神是不是脑子里装了命令字典。
其实我刚入行时也有这种困惑,看着同事敲一堆命令解决问题,自己连tar参数都要查半天,满是挫败感,但后来发现,这压根不是记忆力的问题。
不是死记硬背,是肌肉记忆与高频复用
没人会刻意去“记”命令,就像打字快的人不会记键盘布局,敲得多了手指自然有记忆。
我前同事查日志时,grep -rn "error" /var/log/ | tail -100敲得飞快,但若让他默写参数含义,却要想半天,这就是典型的肌肉记忆。
更关键的是,Linux命令虽多如牛毛,日常高频使用的也就二三十个——cd、ls、grep、awk、sed、find、ps、top这些,翻来覆去就是它们。
我统计过自己的命令历史,前20个命令的使用频率占了总量80%以上,剩下的命令一年用不了几次,用的时候现查完全来得及。
大神看似掌握海量命令,本质只是把这20个高频命令用到极致,参数组合玩得溜而已。
高手都有自己的“命令管理术”
别以为大神全靠脑子记,真正的老手都有自己的命令收藏方式:有人用OneNote、Notion或txt文件存命令模板,有人甚至建私人GitHub仓库,按场景分类脚本和命令片段,用的时候复制粘贴改改参数就行。
还有人把长命令写成alias或函数放在.bashrc里,比如把复杂的docker ps命令缩写成dps,根本不用记原始命令,用起来却贼快。
而且Linux设计本身就没指望用户记住所有内容,man命令、--help参数、tldr这些工具,就是让你随时查的。
我用rsync五六年了,每次同步文件还是会看--help确认参数顺序,但这不妨碍我用得好——真正的能力不是记命令,而是知道什么场景用什么工具、解决问题的思路是什么,参数只是细节,查就完了。
重复造就熟练,焦虑源于错误对比
说到底,practice makes perfect(熟能生巧)。
每天都用的东西想忘都忘不掉,大神看似什么都会,只是因为泡在这个领域够久、遇到的问题够多。
我初学awk时每次都翻文档,连续处理一个月日志后,常用模式自然刻在脑子里,不是记性好,是重复次数到了。
你现在记不住,只是用得还不够多。
等在生产环境被问题折磨几十次,该记的自然就记住了,没必要记的也不用费心思。
另外别拿自己的第一年去比别人的第五年,你看到的大神可能已摸爬滚打十年,而你才入门几个月。
那些会议上快速定位问题的大佬,往往只是踩过一样的坑,并非天赋异禀。
别给自己太大压力,慢慢来,与其焦虑记不住命令,不如多动手实践、多解决实际问题。
等某天你不用查文档也能写出一串命令时,你就已经是别人眼中的“大神”了。