shell是啥
shell是一个命令行解释器,将用户命令解析为操作系统听得懂的指令
shell基本命令
小例子
- whoami 当前用户
- pwd 当前路径
- hostname 主机名
命令格式:
- 一条命令的三要素之间用空格隔开
- 多个命令在一行用根号隔开
- 一条命令跨行用反斜杠(捺)连接
查询命令历史history+行数 HISTSIZE= 修改历史纪录容量
家目录bashrc 只对当前用户生效
shell 的通配符
通配符 | 含义 | 例子 |
---|---|---|
* | 匹配任意长度的字符串 | file_*.txt,匹配file_ang.txt |
? | 匹配一个长度的字符 | file_?.txt,匹配file_1.txt |
[…] | 匹配其中指定的一个字符 | file_[otr].txt,匹配file_o.txt,file_r.txt |
[-] | 匹配指定的一个字符范围 | file_[a-z].txt,匹配file_b.txt |
[^…] | 匹配除了其中指定的的字符 | file_[^otr].txt,不匹配file_o.txt,file_r.txt,file_t.txt |
管道
- 管道可以把一系列的命令连接起来,意味着第一个命令的输出将作为第二个命令的输入
cat /etc/passwd/ |grep “root”
ps -ef|grep bash
输入输出重定向
- 输入输出重定向是改变shell命令或程序默认的标准输入/输出目标, 标准输入为键盘,标准输出为窗口
重定向符 | 含义 | 例子 |
---|---|---|
>file | 将file文件重定向为输出源,新建模式 | ls /usr>Lsoutput.txt |
>>file | 追加模式 | |
< file | 将文件file丁香为输入源 | |
2>或&> | 将由命令产生的错误信息输入到文件中 | command 2>file |
> 正确信息 ,2> 错误信息,&>所有信息
命令置换
将一个命令的输出作为另一个命令的参数,
command1 ‘command2’
command1 $(command2)
命令置换与管道比较