Shell知识总结:
一、shell简单介绍
壳牌公司简介
壳牌公司简介
Shell只是一个程序,用来解释用户输入的命令。有四五种常用的贝壳和其他几种变体。
相信只要接触过电脑,对操作系统(无论是Linux、Unix还是Windows)有所了解的朋友,大部分都听过这个名词,因为只要有操作系统,就没有Shell这种东西。
在讨论Shell之前,让我们先了解一下计算机是如何工作的!当大眼睛的英雄想要电脑里的音乐时,你的电脑需要什么?
首先,你需要一张声卡。操作系统的核心可以支持这种芯片组。当然,你还需要提供芯片的驱动。需要用户输入命令才能发出声音!
这是输出声音的基本步骤!也就是说,你必须输入一个命令,硬件才能通过你的命令工作!那么硬件怎么知道你的指令呢?
那是内核的控制工作!
也就是说,我们必须通过Shell与内核交流我们输入的指令,这样
内核可以控制硬件正常工作!
解释用户的命令看似简单,但在用户按下RETURN键,计算机真正做用户想做的事情的这段时间里,会发生很多事情。
解释的过程非常复杂,所以shell必须将命令分为单词、扩展别名、历史运算符、shell变量和环境变量。它还创建了一个标准的iostream,并执行许多其他任务。事实上,如果一个命令看起来是正确的,但是不能正常工作。
原因大概有以下两种:
1.文件权限设置不正确。
2.用户不理解shell如何处理命令行。
外壳环境
正如在Shell的介绍中所介绍的,Shell是一个系统程序,但它不同于通常在后台运行的系统程序。前台提供了Linux系统与用户交互操作的界面。它接受用户键入的程序执行请求,分析命令和参数,并将命令提交给内核或适当的进程进行处理。
命令处理完毕后,shell接受后台进程返回的结果,然后通过shell接口返回给执行命令的用户。目前流行的炮弹有伯恩炮弹;壳牌;科恩壳牌等。
壳牌的出现和发展
第一个重要的贝壳——伯恩贝壳是在1979年提出的,以它的创造者斯蒂芬伯恩的名字命名。
C Shell是20世纪70年代末在加州大学伯克利分校开发的,主要分布在BSD Unix系统上。C shell的默认提示是%。
ATT大卫科恩在20世纪80年代中期发明了科恩贝壳。于1986年和1988年发行
它在1999年成为了SVR4 Unix的正式组成部分。Korn shell的默认提示是$
壳牌的显著特点
1.命令行解释
2.使用保留字
3.使用外壳元字符(通配符)
4.可处理的程序命令
5.使用输入/输出重定向和管道
6.维护一些变量
7.操作环境控制
8.支持Shell编程
二、BASH介绍
BASH简介
Bash攻略
《谍影重重——又是一个空壳》来自GNU。有了60多个shell变量,用户可以获得关于shell设置文件所需的信息,同时,配置shell来完成用户分配的任务也是有益的。有像vi和Emacs这样的命令行编辑器,也有原始的C shell历史替换。脚本和Shell函数还有很多优秀的特性——比如强大的字符串操作符、文件测试和内置的整数算术运算。
红帽Linux中可用的外壳
Bash是红帽的默认外壳。它有40个内置命令和12个命令行参数。Shell是一个命令语言解释器。
shell 是用户和 linux 内核之间的接口程序。你在提示符下输入的每个命令都由 shell 先解释然后传给 Linux 内核。shell 如何启动shell 在你成功地登录进入系统后启动,并始终作为你与系统内核的交互手段直至你退出系统。你系统上的每位用户都有一个缺省的 shell。每个用户的缺省 shell 在系统里的 passwd 文件里被指定, 该文件的路径是/etc/passwd。
例如:
# cat /etc/shells
/疯狂的背包/sh
/疯狂的背包/bash
/s疯狂的背包/nologin
/疯狂的背包/bash2
/疯狂的背包/ash
/疯狂的背包/bsh
/疯狂的背包/tcsh
/疯狂的背包/csh
# ls /疯狂的背包/*sh 显示安装的 shell
/疯狂的背包/sh
/疯狂的背包/bash
/s疯狂的背包/nologin
/疯狂的背包/bash2
/疯狂的背包/ash
/疯狂的背包/bsh
/疯狂的背包/tcsh
/疯狂的背包/csh
三、BASH命令概要
bash 内部命令概要,所谓内部命令就是 bash 自带的命令
这是几个最常用的 bash 内部命令:
alias: 设置 bash 别名。
bg: 使一个被挂起的进程在后台继续执行。
cd: 改变当前工作目录。
exit: 终止 shell。
export: 使变量的值对当前 shell 的所有子进程都可见 。
fc: 用来编辑历史命令列表里的命令。
fg: 使一个被挂起的进程在前台继续执行。
help: 显示 bash 内部命令的帮助信息。
kill: 终止某个进程。
pwd: 显示当前工作目录。
unalias: 删除已定义的别名。
bash 还有许多命令,但这些是最常用的,想了解更详细的情况,请参考 bash 的手册--在提示符下。