shell介绍,命令历史,命令补全和别名,通配符,输入输出重定向

不许人间见白头 40 0

shell介绍

shell是一个命令解释器,提供用户和机器之间的交互

支持特定语法,比如逻辑判断、循环

每个用户都可以有自己特定的shell

CentOS7默认shell为bash(Bourne Agin Shell)

还有zsh、ksh等

命令历史

# history   查看命令历史

用户的history命令历史存放地址 cat /root/.bash_history

最大可以存放1000条

他是有# echo $HISTSIZE这个定义的

# history -c  当面命令历史清空,不能清空配置文件

只有退出终端的时候,他才会写入.bash_history  否则他在系统内存中

更改大一点的命令历史存放条数

/etc/profile 修改这个配置文件

HISTSIZE=1000  吧这个参数改大一点

最后刷新下变量# source /etc/profile(立即刷新)

让他在当前终端显示命令历史详细操作时间

HISTTIMEFORMAT="%Y/%m/%d %H:%M:%S "

shell介绍,命令历史,命令补全和别名,通配符,输入输出重定向-第1张图片-阿豪运维笔记

可以加入系统变量里面

永久保存命令历史

chattr +a ~/.bash_history   加上只能追加不能删除

如果不正常退出那么他保存的命令记录就不全

!! 执行上一条命令(执行history中的最后一条命令)

!n  执行history里面第n条命令

!echo 在history里面倒数网上找,离有带echo命令最近的命令

命令补全和别名

tab键,敲一下,敲两下

centos7支持参数补全  6不支持,默认系统不支持需要安装一个包

yum install -y bash-completion

安装完成后需要重启下系统他才会生效

# alias ah='systemctl restart network.service'   设置命令历史

alias存在家目录下的.bashrc

其他还有一些的定义命令在

ls /etc/profile.d/这个目录下

unalias ah  取消别名

通配符

# ls *.txt   * 不分什么字符和几个

#  ls ?.txt  包含一个字符

#  ls [0-9].txt   可以是一个范围或者【12】表示1和2

#  ls {1,2}.txt   包含1或者2

输入输出重定向

# cat 1.txt >2.txt   吧前面的内容重定向到2.txt里面去,会吧原先的内容删除掉重写

# cat 1.txt >> 2.txt   追加重定向

# ls aaa.txt 2>文件名   吧错误信息定义到一个文件下去

# ls aaa.txt 2>>文件名   吧错误信息追加定义到一个文件下去

&>  吧正确的输出信息定义到一个文件里面去,也支持追加

# wc -l < 1.txt

左边必须要是一个命令

# command >1.txt 2>a.txt   定义一个正确的和不正确的分别输出到不同的文件

标签: Linux Shell

抱歉,评论功能暂时关闭!