作用:侦听用户指令、启动命令所指定的进程并将结果返回给用户。
类型:sh、csh、ksh、tcsh和bash等。
bash命令
大部分linux系统默认的shell类型是bash。linux的标准提示符包括可用户登录名、登录的主机名、当前所在的工作目录路径和提示符号。 例如:以普通用户li登录名为loclhost的主机,它的工作目录是/home/li,如下图所示
[li@localhost ~]$
以root用户登录系统的提示符如下所示
[root@localhost ~]#
根据bash的传统,普通用户的提示符以“$"结尾,超级用户以“#”结尾,提示符的每个部分都可以定制。 例如:显示当前登陆的Linux系统的用户名
[root@localhost ~]# whoami
root
一个shell命令可能含有一些选项和参数,其一般格式为: shell命令 选项 参数
例如:
[root@localhost ~]# ls -l /root
linux系统中,命令可分为两大类:
- 内置命令
- 应用程序
如果是bash内置命令,则由bash负责回应;如果是应用程序,那个shell会找出该应用程序,然后将控制权交给内核,由内核执行该应用程序,执行完以后,再将控制权交回shell
使用which命令可以查看那些命令是bash内置的命令,那些是应用程序,例如查看echo和ls命令:
[root@localhost ~]# which echo
/bin/echo
[root@localhost ~]# which ls
alias ls='ls --color=auto'
/bin/ls
常用控制组合键
控制组合键 | 功能 |
---|---|
Ctrl+l | 清屏 |
Ctrl+o | 执行当前命令,并选择上一条命令 |
Ctrl+s | 阻止屏幕输出 |
Ctrl+q | 允许屏幕输出 |
Ctrl+c | 终止命令 |
Ctrl+z | 挂起命令 |
Ctrl+m | 相当于按回车键 |
Ctrl+d | 插入结束,即EOF(计算机术语:End of File的缩写,通常在文档最后存在此字符表示文档结束) |
光标操作
组合键 | 功能 |
---|---|
Ctrl+a | 移动光标到命令行首 |
Ctrl+e | 移动光标到命令行尾 |
Ctrl+f | 按字符前移(向右) |
Ctrl+b | 按字符后移(向左) |
Ctrl+xx | 在命令行首和光标之间移动 |
Ctrl+u | 删除从光标到命令行首的部分 |
Ctrl+k | 删除从光标到命令行尾的部分 |
Ctrl+w | 删除从光标到当前单词开头的部分 |
Ctrl+d | 删除光标处字符 |
Ctrl+h | 删除光标前的一个字符 |
Ctrl+y | 插入最近删除的单词 |
Ctrl+t | 交换光标处字符和光标前面的字符 |
Alt+f | 按单词前移(向右) |
Alt+b | 按单词后移(向左) |
Alt+d | 从光标处删除至单词尾 |
Alt+c | 从光标处更改单词为首字母大写 |
Alt+u | 从光标处更改单词为全部大写 |
Alt+l | 从光标处更改单词为全部小写 |
Alt+t | 交换光标处单词和光标前面的单词 |
Alt+Backspace | 与Ctrl+w功能类似,分隔符有些差别 |
特殊字符
符号 | 功能 |
---|---|
~ | 用户主目录 |
` | 反引号,用来命令替代(在Tab键上面的那个键) |
# | 注释 |
$ | 变量取值 |
& | 后台进程工作 |
( | 子shell开始 |
) | 子shell结束 |
使命令持续到下一行 | |
| | 管道 |
< | 输入重定向 |
> | 输出重定向 |
>> | 追加重定向 |
' | 单引号(不具有变量置换的功能) |
" | 双引号(具有置换的功能) |
/ | 路径分隔符 |
; | 命令分隔符 |
通配符
符号 | 功能 |
---|---|
? | 代表任何单一字符 |
* | 代表任何字符 |
[字符组合] | 在中括号中的字符都符号,比如[a-z]代表所有的小写字母 |
[!字符组合] | 不在中括号中的字符都符号,比如[!0-9]代表非数字的都符号 |
摘自:《Linux实用教程》人民邮电出版社出版发行 於岳编著