bash
- kernel
- 为什么要学习命令行shell
- 合法的shell
-
- shells文件
- 使用者shell
- bash shell
-
- bash shell简介
- bash功能
- type命令
kernel
管理整个计算机硬件的操作系统使kernel,但是kernel又是需要被保护的,就是用户无法直接通过对kernel的命令来操作核心,所以通过shell命令来间接的对计算机执行某种命令。
例如:在听音乐的时候,计算机都做了什么。
首先要有一部分的硬件的条件:声卡,音响等
核心管理:就是支持声卡的芯片组,提供芯片的驱动程序。
在应用程序中输入命令来进行播放音乐。

用户可以通过shell命令,图形化操作界面,app等对kernel来进行简介的操作。
操作系统实际上就是一组软件,管理整个的硬件功能的作用。用户通过应用程序控制核心,让核心实现所需的硬件任务。应用程序在最外面,就像是一个外壳。而shell的功能就是提供用户操作系统的接口,可以调用其他的软件。
为什么要学习命令行shell
1.不同的distribution使用的bash命令都是相同的。但是他们的图形化操作界面可能会有变动,需要一定的学习成本去适应。
2.命令行模式对于远程管理的速度快。用图形化操作界面进行远程连接操作的时候,会出现卡顿等。
3.可以更好的管理主机。很多服务器连接同一个主机的时候,用命令行模式可以更好的管理主机。
合法的shell
Bourne shell(sh)
SUN: C shell
K shell 取代C shell
TCSH
Bourne Again shell(bash)sh的增强版 在当前的Linux中使用最多的shell
shells文件
vim /etc/shells
使用者shell
使用者默认使用的shell是哪一个呢?
vim /etc/passwd
最后的一个字段待变用户正在使用的shell命令,可以在/etc/passwd文件中修改该文件的内容进行对用户使用shell的变换。
bash shell
bash shell简介
文件位于/bin/bash,使Linux默认使用的shell,使GNU计划中的shell,也是当前Linux distribution的标准的shell,它还兼容sh,是sh的加强版。
bash功能
1.命令编辑功能,可以记忆使用过的命令,默认可以记忆1000左右的命令。存放在用户家目录中。
vim ~/.bash_history
不一定是history记录的命令越多越好,有可能会使用户的某些信息泄露。
2.命令与文件补全功能:tab键,保证输入是正确的。
3.命令别名的配置(alias)可以用一些简单的命令去替代一些复杂的命令。
在/etc/profile文件中添加
alias lm='ls -al'
。
但是显示命令没有被找到,原因是因为还没有加载变量,输入:
source/etc/profile
之后再执行。
4.前后台控制。
5.shell scripts
6.通配符
type命令
可以查看命令是内建文件与否
type [-tpa] name
不加任何选项或参数时,type会显⽰出name是外部命令还是bash內建命令;
只有bash内建命令在不同的distribution中是相同的。
-t: 显⽰命令的意义;
file: 表⽰为外部命令;
alias: 表⽰该命令为命令别名所配置的名称;
builtin: 表⽰该命令为bash內建命令。
-p: 如果name为外部命令,则显⽰完整⽂件名;
-a: 根据PATH变量,将所有含有name的命令都进⾏罗列,包括别名