天天看点

认识shell与bash

我们知道,管理整个计算机硬件的其实是操作系统的内核,这个内核是需要保护的,所以我们一般用户就只能通过shell来跟内核通信,以让内核达到我们想要达到的工作。

那么系统有多少shell可以用呢?为什么要用bash?

一、什么是shell

shell的功能是提供用户操作系统的一个接口,因此shell可以调用其他软件。我们已经学过很多命令,比如man,chmod等,这些命令都是独立的应用程序,我们可以通过shell(命令行模式)来操作,让其调用内核来运行。

二、了解系统的合法shell

从早年的UNIX以来,shell有很多的版本。那么目前我们使用的Linux有多少我们可以使用的shell呢?可以从文件/etc/shells查看:

认识shell与bash

且Linux默认的就是bash。

三、bash shell的功能

我们已经知道,/bin/bash是Linux默认的shell,就一起来了解一下吧。

bash是GUN计划中重要的工具软件之一,目前也是Linux distributions的标准shell。主要兼容于sh,那么这个shell有什么优点呢?

1、命令记忆功能

我们肯定用过,在命令行按上下键来寻找前/后一个输入的命令,以此节省时间,这就是因为bash的这个功能。

执行过的命令会被记录在主文件内的.bash_history中,不过值得注意的是,这个文件记录的是前一次登录以前所执行过的命令。而这一次执行过的命令都会暂存在临时内存中,

我们就可以在此文件中查询我们曾经的操作。

2、命令与文件补全功能

[tab]是很神奇的一个按键,也很方便。

接在一串命令的第一个字后面是命令补全

接在一串命令的第二个字后面是文件补全

比如:

我想知道以cat开头的命令有什么,cat后再按两个[tab][tab],命令补全。

认识shell与bash

以guandao开头的文件有什么,后接两个[tab][tab],文件补全:

认识shell与bash

3、命令别名设置功能(alias)

我们都知道ll可以代替ls -l,这就是因为alias的功能,我们先来看一下系统有什么命令别名:

认识shell与bash

也可以自己设置,比如:alias lm='ls -al'

4、作业控制、前台、后台控制

使用前台,后台的控制可以让作业进行的更为顺利,作业控制可以让我们随时将工作丢到后台中执行。

5、通配符

除了完整的字符串之外,bash还支持许多的通配符来帮助用户查询与命令执行。

eg:想知道/usr/bin下面有多少以X为开头的文件?

认识shell与bash

四、bash shell的内置命令:type

在bash中,已经内置了很多命令,例如cd,umask等。那么我们怎么查看bash的内置命令或者是外部命令呢?利用type查看就行。

继续阅读