Linux系统管理特性
1.补全
命令补全:以给定的字符串开头,敲击Tab键,如果是能够惟一标识一个命令文件,则直接补全,如果不能惟一标识,则需要再次敲击Tab键,给出以字符串开头的命令列表。
路径补全:在给定的起始路径下,以对应路径下的打头字符串来逐一匹配起始路径下的每一个文件。
敲击Tab键
如果可以惟一识别:则直接补全
如果不能惟一识别:则再次敲击Tab键给出文件列表
2.快捷键
Ctrl+c:终止前台运行中的程序
Ctrl+d:退出
Ctrl+l:清屏
Ctrl+a:光标移动至光标所在的命令行行首
Ctrl+e:光标移动至光标所在的命令行行尾
Ctrl+u:删除光标所在命令行的光标所在位置之前的所有字符
Ctrl+k:删除光标所在命令行的光标所在位置之后的所有字符
Ctrl+r:搜索历史命令
3.命令历史
shell进程会在回话中保存此前执行过的命令
history命令可以调出此前执行过的所有命令
HISTSIZE:shell进程中可以保留的命令历史条数
echo $HISTSIZE
HISTFILE:持久保存的命令历史文件
echo $HISTFILE
history:
-c:清空历史命令
-d offset:删除指定位置的历史命令(offset为命令位置)
-r:从文件中读取命令历史至命令历史列表中
-w:将命令历史列表写入到命令历史文件中
#:列出最近的#条命令(#表示所有历史)
快捷键:
!#:再次执行命令历史列表中的第#条命令
!!:执行上一次命令
!string:再一次执行命令历史中最近一个以string开头的命令(string为字符串)
!$:调用上一条命令的最后一个参数
ESC. ESC+点号:调用上一条命令的最后一个参数
HISTCONTROL:控制命令历史记录的变量
ignoredups:忽略重复命令
ignorespace:忽略以空白字符开头的命令
ignoreboth:以上两者同时生效
变量赋值:
NAME=‘VALUE’
HISTCONTROL=ignorespace
4.命令别名
alias:查看当前系统中的命令别名
定义命令别名
alias NAME=‘command’
别名优先
执行原有命令本身:\command
5.特殊符号
|:管道
将前一个命令的结果做为下一个命令的输入
. :代表当前目录
.. :代表上一级目录
;:命令分隔符,命令独立执行,互不干扰
`` :(tab键上面那个键)返单引号
'' :强引用,所见即所得
“” :弱引用,实现变量替换或者命令 替换
* :通配符, cen* 以cen打头的内容全部选中
{}:扩展使用
6.输入输出重定向
Linux提供的三种IO设备
标准输入STDIN:0,默认
标准输出STDOUT:1,默认输出到终端窗口
标准错误STDERR:2,默认输出到终端窗口
输入重定向:<
输出重定向:覆盖,追加
正确输出:1> 1>> > >>
错误输出:2> 2>>
正确输出和错误输出混合输出 &>
正确和错误都输入到一个位置 2>&1
/dev/zero:输入设备
/dev/null:输出设备
7.命令行通配符
*:任意长度的任意字符
?:任意长度的单个字符
[]:匹配范围内
[^]:匹配范围外
[[:punct:]]:所有的[a-z][0-9],[0-9a-z]
[[:upper:]]:匹配所有的大写字母
[^[:upper:]]:所有的大写字母之外
[[:lower:]]:小写字母
[[:digit:]]:数字标点符号
[[:alnum:]]:所有的字母数字组合
[[:space:]]:空白字符
[[:alpha:]]:所有字母
例如:
1.显示/etc目录下,以一个小写字母s开头,以任意的字母结尾中间有任意单个字符的目录
ls /etc/s?[[:alpha:]]
2.显示/dev/下,以任意字母开头,以任意数字结尾的文件
ls /dev/[[:alpha:]]*[[:digit:]]
3.显示/etc/下以非字母开头,后面跟一个字母及其他任意长度字符的文件
ls /etc/[^[:alpha:]][[:alpha:]]*
4.显示/etc/下,所有以.conf结尾,且以nmpl中任意一个字母开头的文件
ls /etc/[nmpl]*.conf