念念不忘,必有回响~
对于很多新事物,开始的时候经常会觉得这里也不懂,那里也不明白。即便是一个很简单的概念,可能因为跟从前的知识架构有很大的差异,导致对于其他人来说很具体的概念,到自己这里却抽象的像毕加索的油画一样,里外搞不懂他想说啥。
面对Linux中的Bash时候我就有这样的感觉,一会Bash 一会Shell的,到底是什么鬼?尤其是看着别人一副了然于心的样子,心里就更焦虑了,难不成自己智商有问题?后来发现,不是因为傻,而是因为读书少 (人丑还这么不自觉,我很惭愧)。原来,Bash就是Shell (的一种),也是最常见的一种Shell。抬头不见低头见,还是好好认识一下好。
Shell是什么
这就必须得再回忆一下Linux系统。我们知道Linux系统最关键的就是他的内核,主要负责系统内存、软件程序、硬件设备和文件系统的管理。正因为非常关键,所以就不能随随便便给什么随随便便的人访问和修改,少不了因为一个不小心哪个地方修改错了,导致整个系统崩溃。可是不访问又不行,那就找个中介,就是Shell。
Shell (GNU/Linux shell) 是一种特殊的交互式工具,为用户提供了启动程序、管理文件系统中的文件以及运行在Linux系统上的进程的途径。Shell包含了一组内部命令,用这些命令可以方便的完成我们在Windows系统中常规的操作,比如创建/删除文件(夹)、复制/移动文件(夹)、重命名文件(夹)和进程管理等。
简单点说,Shell就是我们用以跟Linux系统对话的一个窗口(平台),而目前所有Linux发行版默认的shell都是bash shell。Bash shell 是原Unix系统中Bourne shell的替代版,也是个文字游戏:Bash Shell = Bourne Again Shell。
基本的 Bash Shell 命令
跟Shell对话,就得讲Shell能理解的语言,在计算机的世界里叫作命令行(command line),也就是通过一个一个的命令与系统进行交互。如果连基本的命令都不知道,就不要想着学Linux了吧,太不严肃了。关于基本命令的学习,强烈建议对照Windows常用的操作记忆,比如在Windows系统环境下,我们最常做的就是打开文件(夹),新建文件(夹),查看文件(夹)内容,以及对不想要的文件(夹)进行删除等等,Linux中对应的命令都是有的。
实在不想整个表总结下啥的,总觉得再怎么总结都不如直接去看书,系统又详细 (推荐看《Linux命令行与shell脚本编程大全》第三章,你一定不后悔)。
如果有什么要交代的,那就是一个终极之问:我是谁,我在哪,在干啥。操作文本或者目录时,一定要对自己所在的位置了然于心,要不然一顿猛如虎的操作之后,很可能都不记得自己在哪里生成过什么文件或者目录,降低效率,浪费时间。
刚开始可能对此没感觉,不多说,时间会教会我们一切。
Bash Shell命令进阶
这部分的命令怎么说呢,初期可能用的少,但是随着学习的深入,接触面的延展,熟用这些命令也是很有必要的。
主要分为以下几个方面:
- 进程管理
- 磁盘统计信息获取 (突然发现没办法生成新的文件了,这部分就会派上用场)
- 挂载新磁盘
- 数据排序 (简单却很实用)
- 数据归档 (使用频率很高,必学)
同样的不想细节展开,同样的建议读《Linux命令行与shell脚本编程大全》第四章。
后话
很多东西(道理)在开始的时候怎么都不明白,走着走着,看着看着就突然懂了。比如很多概念,一开始怎么都搞不懂,脑壳疼,可是对照着看了两本书,看了两遍,敲了几行命令,某一个瞬间突然觉得前后通透了,猛拍一下大腿:原来如此啊!
有道是:难念不忘,必有回响~~
网友评论