1. shell是什么?
1)shell是一个命令解释器,用于用户和计算机linux系统之间的交互
2)shell是一种编程语言,由若干bash命令组成,并支持特定语法,比如逻辑判断、循环等结构,函数等
3)每个用户都可以有自己的shell,如zsh,ksh等,centos7默认shell是bash
2. 命令历史
命令历史命令:history
命令历史文件:~/.bash_history,历史命令保存在该文件中
永久保存历史命令:chattr +a ~/.bash_history
1)显示执行过的历史命令
# history 或
# cat ~/.bash_history
2)命令历史的环境变量
HISTSIZE 默认值1000,内存中命令缓存的数量;一般在/etc/profile环境变量配置文件中配置才能永久生效
HISTFILE 指定记录历史命令的文件
HISTTIMEFORMAT 定义历史命令的格式
3)执行命令历史中的命令
# !n(中间没空格) 执行命令历史中的第n条命令
# !-n 执行倒数第n条命令
# !! 执行上一条命令
# !str 执行以str开头的命令
3. 命令补全和命令别名
1)命令补全:tab键敲一下 ,敲两下显示所有相关的命令
参数补全:必须安装bash-completion包
2)命令别名:alias命令,给命令重新起一个简洁容易记的名字
unalias命令,取消命令别名
3)命令别名存放的配置文件
alias命令是临时生效的,要是alias命令永久生效,必须存放到对应的环境变量配置文件中
所有用户的命令别名配置文件:/etc/profile.d目录下的文件
4. 通配符
* 任意长度的任意字符
? 任意单个字符
[ ] 指定范围内的任意单个字符
如:[abc] 表示abc中的任意一个字符
[0-9] 表示0到9中的任意一个字符
{ } 指定范围内的任意单个字符
如:{1,2,3} 表示1 2 3中的任意一个字符
注意:[a-z] 表示所有英文字符,不区分大小写
< 标准输入重定向
正确输出到1.txt 错误输出到a.txt 即 >1.txt 2>a.txt
6. 管道符和作业控制
管道符| : 把前面命令的输出结果作为后面命令的标准输入
作业控制:
ctrl+z 把当前作业放在后台,并暂停
jobs 列出当前后台的作业及作业状态
& 把当前作业放在后台,并运行
7. shell变量和环境变量
环境变量:系统的,如PATH,HOME,PWD,LOGNAME等
1)env 查看环境变量
set 查看环境变量和shell变量
2)变量名规则:
字母、数字和下划线,首位不能为数字
3)变量值
当变量值有特殊符号时,必须用单引号括起来
4)定义shell局部变量,只在当前shell中生效
a=1
5)定义shell全局变量,在当前shell和子shell中都生效
export a=1
6)取消定义的shell变量
unset a
8. 环境变量配置文件
/etc/bashrc 所有用户, 用户不用登陆,执行shell时就生效
~/.bashrc 当前用户的环境变量配置文件,~/.bash_profile会调用该配置文件
~/.bash_history 命令历史的配置文件
环境变量PS1
\u 表示当前用户
\h 表示主机名
\W 表示当前目录的最后一层目录
\w 表示当前目录的全路径
$ 命令提示符
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。