Shell俗称壳(用来区别于kernel核),是指“提供使用者使用界面”的软件(命令解析器)。它类似于DOS下的和后来的cmd.exe。它接收用户命令,然后调用相应的应用程序。同时它又是一种程序设计语言。作为命令语言,它交互式解释和执行用户输入的命令或者自动地解释和执行预先设定好的一连串的命令;作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支。
Shell分为CLI(command line interface)和GUI(graphic user interface)。
操作系统的Shell分为:
GUI:GNOME(GNOME 是一种支持多种平台的开发、桌面环境,是一款功能强大的图形接口工具)
CLI:BASH(BASH = GNU Bourne-Again SHell)
命令行Shell:BASH介绍
提示符:#(提示以root用户登录)、$(提示以普通用户登录)
[common@linuxCentOS ~]$ 表示当前以common用户的身份登录到linuxCentOS主机上,~表示当前工作目录。
命令一般由三个部分组成:命令 、选项 、参数
hostname 返回主机名
uname 显示当前系统信息
uname -r 返回当前系统的内核版本号
uname -a (--all)返回当前系统的所有信息
firefox 打开firefox应用程序
firefox & 打开firefox应用程序并放在后台去运行
Ctrl + c 终止当前命令
clear 清除当前屏幕
history 列出所有曾经执行过的命令
!! 重复前一个命令
!+字符 重复前一个以字符开头的命令
!+数字 按照历史记录的序号来执行命令
!?+字符串 重复之前包含字符串的命令
!-n 重复n个命令之前的那个命令
通过上下键来浏览曾经执行过的命令。
可以通过Ctrl+r来在历史记录中搜索命令。
通过按完一下esc键后,按.键来重新调用前一个命令中的参数
使用Tab键来简化命令输入:自动补全命令:自动补全文件名;但无法自动补全参数。
例如:
$unam
$uname
$Downl
$Downloads
查看所有以un开头的命令:输入un,再连按两下Tab键。
查看所有命令:连按两下Tab键。
BASH命令行通配符:BASH Shell支持以下通配符:
* 匹配零个或多个字符
? 匹配任意一个字符
[0-9] 匹配一个数字范围
[abc] 匹配列表里的任何字符
[^abc] 匹配列表以外的字符
在CLI中,通过su命令切换用户:su - 用户名
su 切换到root用户
su - 切换到root用户并创建新的运行环境
sudo + 命令 使用管理员用户身份运行命令
显示当前用户信息:id
修改当前用户密码:passwd
BASH作业管理:
在后台运行进程:命令 + &
暂停某个程序: Ctrl + z或者发送信号17
sleep 5000 停5000秒
管理后台作业:
jobs 查看当前后台运行的所有作业
bg + 后台程序编号 在后台继续运行指定编号的程序
fg + 后台程序编号 在前台继续运行指定编号的程序