Linux系统管理
Linux bash 特性
补全:
命令补全:
在给定的一个打头的字符串,如果这个字符串能够唯一的标识程序文件,直接补全,
如果不能唯一标识需要再次敲击tab键,会给出列表。
路径补全:
在给定的起始路径下,以对应路径下的打头的字符串逐一匹配给定的起始路径下的每一个文件。
tab
如果能够唯一标识,直接补全
否则再敲一次tab键,给出列表
快捷键:
Ctrl+l 清屏
Ctrl+c 终止 终止前台运行的程序
Ctrl+a 光标移动到命令行的最前端
Ctrl+e 光标移动到命令行的最后端
Ctrl+D 退出
Ctrl+r 搜索历史命令,利用关键词
Ctrl+u 删除光标前的字符
Ctrl+k 删除光标后的字符
命令历史
history
变量
HISTSIZE 当前shell进程可以保存命令历史的条数
HISTFILE 保存命令历史的文件
HISTFILESIZE 命令历史文件的大小
查看变量方法 echo $变量名
history
命令历史列表 shell进程中保留的命令历史
命令历史文件 .bash_history 非实时
-c 清空命令历史列表
-d offset:指定删除命令历史
-r 从命令历史文件中读取命令历史到命令历史列表
-w 从列表到文件
!! 再一次执行上一条命令
!# 执行命令历史列表中的第#命令
!string:再一次执行命令历史列表中最近一个以string打头的命令
!$ :调用上一个命令的最后一个参数
ESC + . esc键加点号
HISTCONTROL
ignoredups 忽略重复命令
ignorespace 忽略以空白开头的命令
ignoreboth 以上两者都生效
修改变量方法:只在当前shell环境有效
NAM='VALUE'
HISTCONTROL='ignorespace'
命令别名:
alias 查看命令别名
alias NAME='commond' NAME不能是系统中的命令
alias net='vi /etc/sysconfig/network-scripts/ifcfg-eth0'
撤销别名 unalias NAME
永久生效别名
vi /etc/bashrc 添加一行
alias NAME='commond'
重载 source /etc/bashrc
跳过别名 执行原有命令
\command
特殊符号
|:管道符
把上一个命令的执行结果当作下一个命令的输入
tee :可以把执行中的信息保留下来
. 在linux中代表当前目录
.. 在linux系统中代表上一级目录
; 在linux中执行多条命令时可以用分号隔开,每个命令之间无不干扰,所有命令都会执行
``:发反引号 命令替换,反单引号引起的内容当作命令执行
'':单引号 强引用,所见即多的
"":双引号 若引用,可以实现命令替换
{}:做扩展使用
*:通配作用
重定向:
Linux提供的三种IO设备
STDIN 标准输入 0 默认来自于键盘
STDOUT 标准输出 1 默认到终端窗口
STDERR 标准错误 2 默认到终端窗口
正确输出重定向
1>覆盖
1>> 追加
错误输出重定向
2>覆盖
2>> 追加
混合输出
&>
2>&1
/dev/null 数据黑洞 不想要的数据都可以重定向给他
/dev/zero 吐零机 可以提供无穷无尽的0
命令行的通配符
* 匹配任意长度的任意字符
? 匹配任意单个字符
[] 匹配指定范围内的任意单个字符
[^] 匹配指定范围外的任意单个字符
[0-9] 所有数字
[a-z] aAbB......z
[A-Z] AbB......zZ
[[:lower:]] 小写字母
[[:upper:]] 大写字母
` [[:digit:]] 数字
[[:alpha:]] 所有字母
[[:punct:]] 标点符号
[[:alnum:]] 数字+字母
[[:space:]] 空白字符
[^[:lower:]] 除小写字母