网站首页 > 技术教程 正文
除了编程语言之外,要想找一份计算机相关的工作,还需要很多其他方面的技能。最近,来自美国求职公司 Indeed 的一份报告显示:在全美工作技能需求中,Linux/Shell技能仅次于SQL、Java、Python,是排名第四的计算机关键技能,力压JavaScript。
相对于SQL、Java、Python而言,Linux/Shell可谓是即简单又复杂。记住一个命令就能上手操作,看起来Shell很简单;shell命令虽然简单但是数量很大,而且参数选项又很繁琐,致使我们学了忘、忘了再学,总感觉没有学好学会,没有底气。所以说,shell又是一门难学的技术。
曾经有人喊出“让天下没有难做的生意”,也有人喊出“让天下没有难学的技术”,实际上,生意依然很难做,搞技术的仍然是996,因为这些只是口号,听听而言,不要当真。
shell之所以难学是因为它有“命令很多、参数繁琐”两大特点,是一个高维的知识空间。唯有找到联系,才能“降维”,才能让天下没有难学的shell。
命令与生活的联系,命令与命令之间的联系,只要找到内在联系,两个命令、三个命令、五个命令往往结合成一块儿东西。不仅量变少了,shell命令还能学活,有左右逢源的灵气。
就拿空格来说,深入研究一下,就能挖出一串东西,空格不再是冰冷冷的符号,更有人文色彩,更让人感到亲切。
空格的ASCII码是32,32是个有故事的数字,人的牙齿是32个。象棋有32个棋子。在shell中数组是通过空格来分割,其他的语言往往喜欢用逗号来分割。为什么shell要用空格来分割呢?这里面也有学问:shell的命令参数的基本规则是:command arg1 arg2 arg3…,各个参数靠空格分隔,其传入命令内部将转换成数组。命令行参数(依靠空格分隔)和数组的语法定义(依靠空格分隔)是一脉相承的,所以在shell中数组用空格分隔才算是合情合理。
再拿别名来说,数据库中有表别名和列别名,在C/C++有类型别名,而在shell里面有命令别名。从数据库联系到shell,采用这样的思路,对“别名”的理解才会有深度,才能把别名深入人心,才能运用自如。
再说一下shell的排序命令。大凡排序的地方,总是会涉及到稳定性。排序算法的稳定性大家应该都知道,通俗地讲就是能保证两个相等的数其在序列的前后位置和排序后它们两个的前后位置顺序相同。出现稳定性的问题根源在于出现了相同数据,可以踢出重复数据:sort -n filename | uniq。sort是将原有文件进行排序,而uniq是将相邻的行进行去重。通过排序的稳定性这个枢纽,把数据结构和shell中的sort uniq命令联系了起来,这样大家对unique的理解是不是更深了一步呢?网上很多文章,一笔带过,止步于“数据重复”,没有触及“算法稳定性”这个层面,这样的学习方式是肤浅的。
shell里面的命令很多,参数很多,但是每个命令都如同一个小精灵,它是有外形,有内涵,有活力的。挖掘命令背后的东西,发现命令背后的联系,体会命令字符的魅力,这就是《趣谈shell》的特点。《趣谈shell》的口号是:让天下没有难学的shell。欢迎大家关注《趣谈shell》。
猜你喜欢
- 2025-06-23 完美取代传统U盘,四款高效传输USSD盘推荐,实用性能很高
- 2025-06-23 目标取代deb包格式,深度Linux操作系统公布“如意玲珑”项目
- 2025-06-23 MX Linux 21.3“Wildflower”正式发布
- 2025-06-23 万物之源的Debian_最适合人类使用的Linux
- 2025-06-23 Linux和Mac最喜欢的软件评选:Win10平台名列前茅
- 2025-06-23 谁是2020年最强Python库?年度Top10出炉
- 2025-06-23 全球操作系统排名榜(包括桌面系统/移动系统)
你 发表评论:
欢迎- 最近发表
-
- Linux新手必看:几种方法帮你查看CPU核心数量
- linux基础命令之lscpu命令(linux中ls命令的用法)
- Linux lscpu 命令使用详解(linux常用ls命令)
- 如何查询 Linux 中 CPU 的数量?这几个命令要知道!
- 在linux上怎么查看cpu信息(linux如何查看cpu信息)
- 查看 CPU 的命令和磁盘 IO 的命令
- 如何在CentOS7上改变网卡名(centos怎么改网卡名字)
- 网工必备Linux网络管理命令(网工必备linux网络管理命令是什么)
- Linux 网络命令知多少(linux 网络 命令)
- Linux通过命令行连接wifi的方式(linux命令行连接无线网)
- 标签列表
-
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)
本文暂时没有评论,来添加一个吧(●'◡'●)