Bash shell
来源:互联网 发布:知乎 新人 西部世界 编辑:程序博客网 时间:2024/06/05 20:54
1.什么是Bash、什么是shell?
在计算机科学中,Shell俗称壳(用来区别于核),是指“提供使用者使用界面”的软件(命令解析器)。它类似于
DOS下的command和后来的cmd.exe。它接收用户命令,然后调用相应的应用程序。
shell 是一个命令语言解释器(command-language interpreter)。拥有自己内建的 shell 命令集。此外,shell
也能被系统中其他有效的Linux 实用程序和应用程序(utilities and application programs)所调用。 不论何时你键入
一个命令,它都被Linux shell所解释。一些命令,比如打印当前工作目录命令(pwd),是包含在Linux bash内部的
(就象DOS的内部命令)。其他命令,比如拷贝命令(cp)和移动命令(rm),是存在于文件系统中某个目录下的单
独的程序。而对用户来说,你不知道(或者可能不关心)一个命令是建立在shell内部还是一个单独的程序。
Bourne Again shell (bash), 正如它的名字所暗示的,是 Bourne shell 的扩展。bash 与 Bourne shell 完全向后
兼容,并且在 Bourne shell 的基础上增加和增强了很多特性。bash 也包含了很多 C 和 Korn shell 里的优点。bash
有很灵活和强大的编程接口,同时又有很友好的用户界面。Bash (GNU Bourne-Again Shell) 是许多Linux发行版的
默认Shell。事实上,还有许多传统UNIX上用的Shell,例如tcsh、csh、ash、bsh、ksh等等。
2.命令行BASH的基本操作
1、Bash
bash命令行由命令、选项和参数组成。其中提示符分为#和$
2、基本命令
(1)#:管理员登陆显示
(2)$:非管理员登陆显示
(3)hostname:显示主机名
(4)ls 、ll 列出文件列表
(5)uname:列出主机名称
uname -a:系统的完整名称《=》uname --all
(6)clear:清屏
(7)history:查看全部历史记录,或者通过上下键查看
(8)查看历史记录的其他命令
!! :重复前一个命令
!字符:重复前一个由字符开头的命令
!num:根据历史记录的序号执行命令
!?abc:重复之前包含abc的命令
!-n:重复倒数第n个命令
(9)ctrl + r : 搜索历史记录
(10)esc + . :重新调用前一个命令中的参数
(11)命令行通配符
* :匹配零个或者多个字符
?:匹配任意一个字符
[0-9]:匹配一个数字范围
[abc]:匹配列表里任何字符
[^abc]:匹配列表以外字符
(12)切换用户
su -username
logout:退出当前shell
exit:退出当前账号身份
su-:切换到root用户并使用一个新的运行环境
sudo:使用管理员身份运行命令
(13)id:查询当前用户信息
(14)passwd:修改当前用户密码
(15)后台运行命令 &
如 firefox &
(16)暂停某个命令
ctrl + z
(17)管理后台作业
jobs:查看后台作业列表
bg taskSeq :继续执行taskSeq序号对应的后台任务
fg taskSeq:将taskSeq序号对应的后台任务调到前台执行
例题:
在Bash中,以下哪些说法是正确的()
$# 参数的个数,不包括命令本身.
$0 是脚本本身的名字
$1 是传递给该shell脚本的第一个参数
$2 是传递给该shell脚本的第二个参数$@ 是传给脚本的所有参数的列表
$* 是以一个单字符串显示所有向脚本传递的参数,与位置变量不同,参数可超过9个
$$ 是脚本运行的当前进程ID号$? 是显示最后命令的退出状态,0表示没有错误,其他表示有错误
参考文献:
Linux第一课 命令行BASH的基本操作
[linux]BASH 的基本语法- bash shell(bash) 快捷键
- bash shell(bash) 快捷键
- bash shell
- bash shell
- Shell(Bash)
- bash shell
- BASH SHELL
- shell bash
- bash shell
- bash shell
- Bash Shell
- Bash Shell
- bash shell
- BASH SHELL
- bash shell
- bash shell
- Bash-shell
- bash shell
- [bzoj2111][ZJOI2010]Perm 排列计数(组合数学)
- 微信小程序商城源码
- 统一的编程接口之外观模式
- XMPP协议及其扩展详解
- iOS开发基础:如何使用类别(Category)
- Bash shell
- typecho修改站点logo图标
- 《深入理解ES6》阅读笔记 --- Promise与异步编程
- 如何监控ActiveMQ
- 计算机网络第三次作业
- C语言深入理解系列--数组
- 最近简单研究了一下ARKit
- 插入元素操作
- qnx驱动开发之编程基础