你的位置:首页 > 操作系统

[操作系统]Linux 学习之路:认识shell和bash


一、shell 

  计算机硬件的直接控制者是操作系统的内核(kernel),因为内核的重要性,所以作为用户的我们是无法直接操作内核的,所以我们需要shell调用应用程序或者双击打开安装的应用软件与内核之间进行通信。 shell就相当于是一个接口,连接程序与内核;或者可以说shell是一个办公桌,给工作的人以必要办公环境。

  如今的shell大多数是命令行界面的形式。不同的操作系统的shell是不同的,Linux系统默认运用的是bash。

  因为shell是与内核的接口,故可以通过不给一些用户shell来控制用户操作的权限,如/etc/shells 中的/sbin/nologin ,在用户登录终端后,Linux会根据/etc/passwd文件的设置给用户一个shell,如果用户的shell被分配为/sbin/nologin(默认为/bin/bash)那么该用户就无法登录。

二、bash

 bash 功能优点:

1、history 

    命令记忆功能:记录下曾经执行过的命令,再注销系统后会将这一次的操作记录从内存写到~/.bash_history中,下次登录后即可查看到上次的操作记录。

2、Tab按键自动补全命令行

3、alias 

    设置别名:alias hsnn='ls -al' 输入执行hsnn 则会执行ls -al 命令

4、shell script 

    程序脚本,能够轻松便捷管理系统

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

6、通配符(Wildcard)

    *  _  

三、bash的内置命令

 bash内置了许多命令:cd umask ,可通过type 命令来查看是否为内置命令

type -t  name 

         file:外部命令

         alias:为命令所这只的别名

         builtin:bash 内置命令

type -p name  name为外部命令时会显示命令路径相当于which

type -a name  列出PATH中所有包含name的命令,包括alias