8.1 shell介绍
shell 是一个命令解释器,提供用户和机器之间的交互 支持特定语法,比如逻辑判断,循环 每个用户都可以有自己特定的shell CentOS7默认shell 为bash(Bourne Agin Shell) 还有zsh、ksh等 yum zsh和ksh
[[email protected] ~]# yum list |grep zsh
zsh.x86_64 5.0.2-25.el7_3.1 updates
zsh-html.x86_64 5.0.2-25.el7_3.1 updates
[[email protected] ~]# yum list |grep ksh
ksh.x86_64 20120801-26.el7 base
mksh.x86_64
8.2 命令历史
history 命令
bash_history
最大1000条
变量HISTSIZE
/etc/profile中修改
HISTTIMEFORMAT="%Y/%m/%d%H:%M:%S"
永久保存chattr+a~/.bash_history
!!
!n
!word
敲过的命令保存在用户的家目录下
[[email protected] httpd-2.2.34]# ls /root/.bash_history
/root/.bash_history
显示所有的敲过的命令
[[email protected] ~]# cat /root/.bash_history
如果需要统计多少数量,可以输入
[[email protected] ~]# history
可以保存1000条
[[email protected] ~]# echo $HISTSIZE
1000
清空历史命令
[[email protected] ~]# history -c
变量HISTSIZE可以通过以下命令修改参数
[[email protected] ~]# vi /etc/profile
修改HISTSIZE=5000
退出
[[email protected] ~]# echo $HISTSIZE
1000
[[email protected] ~]# source /etc/profile //需要输入此命令保 存生效//
-bash: ii: 未找到命令
-bash: /: 是一个目录
[[email protected] ~]# echo $HISTSIZE
5000
如何记录下历史命令是什么时候运行的
在编辑模式下
[[email protected] ~]# vim /etc/profile
HISTSIZE=5000 在此条命令下一行插入以下命令
HISTTIMEFORMAT="%Y/%m/%d%H:%M:%S"
退出
[[email protected] ~]# source !$
source /etc/profile
!!最后一条命令
!n表示想运行第几行的命令
!echo 从下往上找以echo为首的命令的一行
8.3 命令补全和别名
tab键,敲一下,敲两下参数补全,安装bash-completion alias别名给命令重新起个名字 各用户都有自己配置别名的文件 ~/.bashrc ls/etc/profike.d/ 自定义alias放到~/.bashrc
tab键,敲一下补全,敲两下列出可能的参数
安装bash-completion
[[email protected] ~]# yum install -y bash-completion
alias是查看命令的别名,或者可以给一串命令起个别名
8.4-8.5 通配符 输入输出重定向
ls *.txt //列出所有前缀的txt文件//
ls ?.txt //列出所有前缀只有一个位数的txt文件//
ls [0-9].txt //列出括号内任选其一的文件//
ls{1,2}.txt //跟上面一样,或者的意思//
cat 1.txt>2.txt //把前面命令的输出输入到后面的文件中//
cat 1.txt>>2.txt //追加//
ls aaa.txt 2>err //错误重定项//
ls aaa.txt 2>>err //错误追加重定项//
wc -l <1.txt //把右边的一个文件或者内容输入左边重定项,左边必须是一个命令//
command >1.txt 2>&1 //把正确和错误的都输入右边重定项//
原文地址:http://blog.51cto.com/13242922/2059513