shell的特性
2016-01-23 16:35
525 查看
shell的特性
~/.bash_history命令历史存放文件,登出后保存。
$HISTSIZE命令历史条数,允许~/.bash_history文件存储的命令条数,默认1000.
!!:上一条命令
!$:上一条命令的最后一个参数
!命令标号:执行history输出中的对应的命令
*:通配符,任意个任意字符;?:通配符,一个任意字符
在当前shell定义的alias只在当前shell生效
>输出重定向 >>追加重定向 <输入重定向 2>错误重定向 2>>错误追加重定向
输入重定向是使用符号后文件的内容作为输入
错误重定向只记录错误信息
shell变量
变量分为系统预设变量和用户自定义变量
变量规则:
变量名=变量内容
=号两边不得有空格
变量名只能由字母、数字、下划线组成,并且不能以数字开头
当变量内容中含有特殊字符时,应使用单引号''
当变量内容中需要引用命令的运行结果,应使用反单引号``
当变量内容中需要引用其它变量值时,应使用双引号""
当变量内容中含有单引号时,可使用双引号""
总结:单引号会将特殊字符作为普通字符,双引号不会消除特殊字符的意义。(上列最后一条除外)
env:显示系统预设的环境变量
set:显示所有的变量,系统预设和用户自定义
export:在子shell中声明变量
unset 变量名:取消声明变量
交互式模式就是shell等待你的输入,并且执行你提交的命令。非交互式模式,在这种模式下,shell不与你进行交互,而是读取存放在文件中的命令,并且执行它们。
当第一个用户登录时(login交互式shell),执行/etc/profile和~/.bash_profile;当运行bash shell时(nologin交互式shell),执行~/.bashrc。/etc/profile调用/etc/profile.d目录下的配置文件;~/.bash_profile会调用~/.bashrc;~/.bashrc会调用/etc/bashrc。
~/.bash_logout登出时执行一些清理任务
在当前shell定义的alias只在当前shell生效
所以如果要全局声明别名或者变量的话:变量写在/etc/profile.d/目录下,别名写在/etc/bashrc下
ssh user@hostname command:只向系统发送一条指令并不登陆系统
shell中的特殊符号
#:注释符,忽略后面的内容 \:脱意字符,消除特殊字符的作用,使其成为普通字符
~:用户的家目录 &:将命令放到后台运行 [ ]:字符组合,匹配中括号内任意一个字符
~/.bash_history命令历史存放文件,登出后保存。
$HISTSIZE命令历史条数,允许~/.bash_history文件存储的命令条数,默认1000.
!!:上一条命令
!$:上一条命令的最后一个参数
!命令标号:执行history输出中的对应的命令
*:通配符,任意个任意字符;?:通配符,一个任意字符
在当前shell定义的alias只在当前shell生效
>输出重定向 >>追加重定向 <输入重定向 2>错误重定向 2>>错误追加重定向
输入重定向是使用符号后文件的内容作为输入
错误重定向只记录错误信息
shell变量
变量分为系统预设变量和用户自定义变量
变量规则:
变量名=变量内容
=号两边不得有空格
变量名只能由字母、数字、下划线组成,并且不能以数字开头
当变量内容中含有特殊字符时,应使用单引号''
当变量内容中需要引用命令的运行结果,应使用反单引号``
当变量内容中需要引用其它变量值时,应使用双引号""
当变量内容中含有单引号时,可使用双引号""
总结:单引号会将特殊字符作为普通字符,双引号不会消除特殊字符的意义。(上列最后一条除外)
env:显示系统预设的环境变量
set:显示所有的变量,系统预设和用户自定义
export:在子shell中声明变量
unset 变量名:取消声明变量
交互式模式就是shell等待你的输入,并且执行你提交的命令。非交互式模式,在这种模式下,shell不与你进行交互,而是读取存放在文件中的命令,并且执行它们。
当第一个用户登录时(login交互式shell),执行/etc/profile和~/.bash_profile;当运行bash shell时(nologin交互式shell),执行~/.bashrc。/etc/profile调用/etc/profile.d目录下的配置文件;~/.bash_profile会调用~/.bashrc;~/.bashrc会调用/etc/bashrc。
~/.bash_logout登出时执行一些清理任务
在当前shell定义的alias只在当前shell生效
所以如果要全局声明别名或者变量的话:变量写在/etc/profile.d/目录下,别名写在/etc/bashrc下
ssh user@hostname command:只向系统发送一条指令并不登陆系统
shell中的特殊符号
#:注释符,忽略后面的内容 \:脱意字符,消除特殊字符的作用,使其成为普通字符
~:用户的家目录 &:将命令放到后台运行 [ ]:字符组合,匹配中括号内任意一个字符
相关文章推荐
- PowerShell中字符串使用单引号和双引号的区别
- 关于Mysql查询带单引号及插入带单引号字符串问题
- sql语句中单引号嵌套问题(一定要避免直接嵌套)
- php 防止单引号,双引号在接受页面转义
- PHP 单引号与双引号的区别
- 使用ajax和history.pushState无刷新改变页面URL示例
- SQL注入中绕过 单引号 限制继续注入
- 基于jQuery的history历史记录插件
- jquery 单引号和双引号的区别及使用注意
- shell编程基础 单引号和双引号的区别
- 基于h5的history改善ajax列表请求体验
- php下防止单引号,双引号在接受页面转义的设置方法
- JavaScript中的History历史对象
- linux shell中单引号、双引号、反引号、反斜杠的区别
- shell介绍,命令历史,命令补全和别名,通配符,输入输出重定向
- Linux系统命令审计
- history、重定向、alias
- 字符串CSV双引号解析以及双引号和括号转义
- Java String 里面输入跳脱 字符 \
- 老男孩教育每日一题-2017-04-14-说一下单引号、双引号和不加引号区别