一、概念
1、shell是什么
Shell 是 一 个 命 令 行 解 释 器 它 为 用 户 提 供 了 一 个 向 Linux 内 核 发 送 请 求 以 便 运 行 程 序 的 界 面 系 统 级 程 序 , 用 户 可 以 用 Shell 来 启 动 、 挂 起 、 停 止 甚 至 是 编 写 一 些 程 序 。
Shell 还 是 一 个 功 能 相 当 强 大 的 编 程 语 言 , 易 编 写 , 易 调 试 , 灵 活 性 较 强 。 Shell 是 解 释 执 行 的 脚 本 语 言 , 在 Shell 中 可 以 直 接 调 用 Linux 系 统 命 令 。
机器能识别的是机器语言,也就是二进制。但是对于人来讲,二进制就是如同金星文了,几乎看不懂,那么如何进行这中间的翻译呢?shell的作用就是这个“翻译官”。
windows的图形操作界面就是类似于linux的shell的功能。
2、shell 分类
Shell的两种主要语法类型有Bourne和C,这两种语法彼此不兼容.Bourne家族主要包括sh、ksh、Bash、psh、zsh;C家族主要包括:csh、tcsh
查看linux支持的shell;
(1) vi /etc/shells
(2)echo $SHELL
切换/调用shell: shell [shell类型]
回到上次shell: exit
3、脚本执行方式
编写脚本文件,例如 vi hello.sh
(1)给hello.sh文件赋予执行权限,直接运行:
chmod 755 hello.sh
./hello.sh
(2)通过bash调用执行脚本
bash hello.sh
(3)直接. 脚本文件
. hello.sh
4、脚本语言中基本输出echo简介
语法: echo [选项] 输出内容
选项:
二、bash基本功能
1、命令别名、快捷键
命令别名:顾名思义,给命令赋予其他的名称,那么给什么样子的命令赋予其他名称呢?理论上可以给任意命令赋予别名,而我们的习惯操作是给一串命令赋予一个别名,也就是说一个新的命令对应了一串命令,举例,常用的ll 实际上就是系统默认指定的别名:ls -l --color=auto。
(1)查看系统中已经存在的别名: alias
(2)设置别名:alias 别名 原命令
(3)让别名永久生效:将别名写入环境变量配置文件~/.bashrc(前文已经讲过,~代表当前用户的家目录,/root 或者/home/username),对每个用户单独生效。 让环境变量立即生效:source ~/.bashrc
(4)删除别名:如果已经写入配置文件~/.bashrc,则需要删除该配置文件中的配置项。
删除别名指令:unalias 别名
(5)命令生效的顺序
快捷键:
含义与windows中快捷键含义相通,简单的按键完成特殊的功能。
例如常用的几个快捷键:
ctrl c:强制终止当前执行命令
ctrl l:清屏
ctrl a:光标移动到行首
ctrl e:光标移动到行尾
ctrl u:删除整行
ctrl z:命令后台执行
ctrl r:历史命令
2、历史命令
语法:history [选项] [历史命令保存文件]
选项:-c 清空历史命令 -w 把缓存中的历史命令写入到历史命令保存文件中 ~/.bash_history
默认历史命令保存1000条,修改/etc/profile 配置文件中的 HISSIZ,可以修改此数据。
历史命令调用:
3、输入重定向、输出重定向
对于计算机而言,输入,就是接收数据,输出就是将数据发送出去,那么接收数据的来源一般来自键盘、鼠标、扫描仪等,而发送的终端,往往就是显示器、打印机等。
输出重定向指的就是将默认的发送终端修改为其他设备或文件等。例如,当我执行ls命令时,默认情况下,输出的结果是在显示器中,而如果我想要将结果保存到一个文件test.log中的时候,那么这个过程就是输出重定向了。输入重定向含义类似。
输入重定向用的不多,一般用于wc命令
命令格式为 wc [选项] [文件名]
选项:
-c 统计字节数
-w 统计单词数
-l 统计行数
例如, wc < test.log ,意为统计文件test.log的数据,此命令等同于 wc test.log
wc << abc *** abc ,意为统计直到第二个abc出现时的数据量。(此处的abc为任意字符串)
下面几个截图说明输出重定向的语法。
4、多命令顺序执行
多命令顺序执行的符号有四个,分别是:; && || |;分号、逻辑与、逻辑或、管道符。
其中| 两边的命令是有关系的,即命令1 的正确输出作为命令2 的操作对象,
而 ; && || 符号两边的命令都没有关系,具体说明如下:
管道符 | 举例:netstat -an | grep *** | wc -l ,查看当前状态为 ***的端口的连接总数。
5、shell中的特殊符号,包括通配符和bash其他特殊符号
本文为慕课网linux学习笔记,参考网址:http://www.imooc.com/learn/175
文章描写简单,如有错误欢迎批评指正。