Bash基础特性
-
用户空间:命令全部在用户空间交由给shell翻译后让内核进行执行并返回执行结果。
-
命令相关:
shell程序找到输入命令所对应的执行程序或代码,并由其分析后提交给内核分配资源运行起来之后,将表现为一个或多个进程。
-
进程:正在运行的程序
-
shell中可执行的2类命令
-
内建命令:shell自带
[root@localhost ~]# type cd cd 是 shell 内嵌
-
外部命令:某个文件系统路径下有相对应的可执行程序文件
[root@localhost ~]# type yum yum 是 /usr/bin/yum
-
查看命令类型的相关命令:type/whereis(查看相关文档)/which等
[root@localhost ~]# whereis ls ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz [root@localhost ~]# which ls alias ls='ls --color=auto' /usr/bin/ls [root@localhost ~]# which cd /usr/bin/cd
-
二者执行的过程
内部命令被用户执行时,系统会从内存中去调用,调用速度快。
外部命令被执行的时候,系统将会读取环境变量.bash_profile、/etc/profile去找PATH路径。
有些外部命令被使用过后,会存在在hash表中,当再次输入该命令它的调用为:
hash——>内置命令——>PATH
-
-
命令格式:
<Command> [Options…] <obj/arguments…>Options:长短选项
arguments:命令作用的对象/命令提供的数据
-
命令执行结果:1
失败(非0)或成功(0)
echo $?:判断上一条命令执行的结果
-
命令历史:
查看命令历史:history命令
历史命令文件:~/.bash history 上一次shell所保留的命令
登录shell时会读取历史命令文件,并将后续的操作命令添加到历史命令文件中
-
history命令相关参数:
-a:追加本地会话执行的命令历史列表到历史文件当中
-d:删除历史中指定的命令
-c:清空历史命令
-
快捷操作:
- !# 调用历史列表中的第#条命令
- !string 调用历史列表中最近一条以string开头的命令
- !! 调用上一条命令
-
路径补全
Tab键进行路径补全操作,所输入的路径必须唯一
double Tab键 输出所有符合补全条件的选项
-
别名:
- 对当前会话有效:
- 查看别名:alias
- 定义别名:alias [name]=[‘value’]
- 取消别名:unalias [name]
- 对当前用户有效:将别名定义写入 ~/.bash配置文件中,并让其生效
- 立即生效: source .bashrc
- 对当前会话有效:
多个选项及参数之间使用空格字符分割,短选项可以合写;取消命令的执行:Ctrl+c ↩︎