服务器教程之shell的使用
概念:shell是操作系统与用户进行交互操作的界面
1.shell环境
shell的产生与发展
Bash的主要功能
.命令行编辑功能
.命令和文件名补全功能
.命令历史功能
.命令别名功能
.提供作业控制功能
.具有将命令序列定义为功能键的功能
.灵活的shell脚本编程
Shell变量的分类
.用户自定义变量(本地变量)
自定义变量的设置 $ DAY=sunday
自定义变量的查看与引用 $echo $DAY
自定义变量的输出 $ export DAY
自定义变量的清除 $ unset DAY
.环境变量
常用环境变量
USER UID SHELL HOME PWD PATH PS1 PS2
环境变量配置文件
/etc/bashrc
/etc/profile
~/.bash_profile
~/.bashrc
.预定义变量
$# :保存程序命令行参数的数目
$?:保存前一个命令的返回码
$0 :保存程序名
$* :以("$1 $2...")的形式保存所有输入的命令行参数
$@ :以("$1""$2"...)的形式保存所有输入的命令行参数
.位置变量
2.bash常用功能
bash的命令行编辑功能
光标的移动:使用左右方向键
退格键:删除光标左边的字符
删除键:Delete 删除当前光标处的字符
定位命令行首:Home键 或 Ctrl+A
定位命令行尾:End键 或 Ctrl+E
行内快速删除:Ctrl+U 删除当前光标到行首的内容
行内快速删除:Ctrl+K 删除当前光标到行尾的内容
命令行补全功能
TAB键是补全键
按一次:是补全
按两次:是显示出所有匹配的结果
可以补全命令和文件名
命令历史与命令重复
命令历史功能的使用:用上下键浏览已输入的命令(历史命令)
历史命令的查看:history (history N N是数字,显示最近N次的命令列表)
用户命令历史保存文件:~/.bash_hisroty (~当前用户的宿主目录)
echo $HISTSIZE 查看:~/.bash_hisroty 可以记录多少个历史命令
技巧:①!行数: 执行制定行数的命令
②!!:执行上一个命令
③!字符串 向上执行一个以这个字符串开头的命令(字符串一般只字母)
历史命令的清除: history –c
history –r histfiles 将histfiles的内容读取到当前Shell的history中
history –w histfiles将当前shell中的history的内容写入histfiles中
history –a histfiles 将当前shell中新增的命令写入histfiles中
histfiles 没有指定时:写入~/.bash_history中
命令别名
作用:把频繁使用的复杂命令定义为别名命令,简化输入
命令别名的显示:alias
命令别名的定义:alias 别名= '原命令'
如 history的别名为h alias h="history"
命令别名的取消: alias 别名
取消全部别名: alias –a 下次启动时恢复初始别名设置
记住:3 4 5 都只在当前用户的shell环境中有效
初始定义的别名放在:/ect/profile.d/ 目录的配置文件中
要想保存自己定义的命令别名:要把 命令写入 ~/.bashrc 文件中(用vi打开)
3.管道与重定向
标准输入输出
重定向
管道
4.shell脚本
shell脚本概念
shell脚本程序是shell命令语句集合,用于实现特定的功能;
shell脚本程序保存在文本文件中,可以使用文本处理程序进行阅读和编辑;
shell脚本程序是由shell环境解释执行的,不需要在执行前进行编译;
执行shell程序时,shell脚本文件需要具有可执行(x)的属性。
基本shell脚本编程
是由文本编译器建立shell脚本文件
脚本中应包括的内容
脚本运行环境设置 #!/bin/bash
注释行以#开始 #clean command history,清除用户命令历史
脚本语句 history -c
设置脚本文件为可执行
脚本运行