8.1shell介绍
shell是一个命令解释器,提供人机交互。
支持特定语法。
每个用户都可以有自己特定的shell(bash)。
CentOS7默认bash(Bourne Agin Shell)。
其他还有zsh、ksh等。
8.2命令历史
命令历史存放于~/.bash_history文件下。
history 查看之前用过的命令,默认保存最近1000条,由变量HISTSIZE设定条数,HISTSIZE可以到配置文件/etc/profile中去配置,配置后需要source才会生效。
history -c 清空当前内存中的命令历史,不能清除~/.bash_history中的命令。
当前的命令,存放于内存中,在退出终端的时候,才会保存到.bash_history文件中。
HISTTIMEFORMAT=”%Y/%m/%d %H:%M:%S” 设定显示时间格式,可在/etc/profile中配置永久生效。配置后,history将显示命令执行的时间。
chattr +a ~/.bashhistory 加a权限,只能追加,不能删除,使命令历史永久保存。
若不正常退出终端,命令历史保存将存在差错。
!! 执行上一条命令。
!n n为数字,执行命令历史中的第n条命令。
!word 执行最近的以word开头的命令。
8.3命令补全和别名
Tab键,敲一下(唯一自动补全),敲两下(多个列出列表)。
CentOS7支持自动补全命令参数。需安装相关包:yum install -y bash-completion,然后reboot重启系统才生效。
命令别名alias command=’comand blablabla’
alias 可查看系统中的命令别名。
~/.bashrc和/etc/profile.d/目录下的文件中,可以配置命令别名。
unalias command 取消自定义的command命令别名。
8.4通配符
- 匹配任意多个任意字符。
? 匹配一个任意字符。
[0-3]或[0123] 匹配方括号中的任意一个字符。[0-9a-zA-Z]
{1,2,3,a} 匹配花括号中的任意一个。
8.5输入输出重定向
\> 输出重定向。
command >FILE 将command的正确输出,写到FILE中。
command >>FILE 将command的正确输出,追加到FILE中。
command 2>FILE 将command运行输出的错误信息,写到FILE中。
command 2>>FILE 将command运行输出的错误信息,追加到FILE中。
正确+错误:>+2>用&>表示。
command &>FILE 将command运行输出的正确和错误信息,写到FILE中,同样支持追加command &>>FILE。
command >FILE1 2>FILE2 可将正确和错误的信息分开保存,多用于写Shell脚本中。如:
ls 1.txt 2.txt >t.txt 2>e.txt
< 输入重定向(几乎用不到)。
command <FILE 将FILE文件内容,输入到command命令中。如:
wc -l <1.txt 查看1.txt中内容的行数。
wc -l >1.txt 是把wc -l得到的正确输出,写到1.txt中。
原文地址:http://blog.51cto.com/2821449/2106995
时间: 2024-10-29 13:38:45