【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>
8.1 shell介绍
8.2 命令历史
8.3 命令补全和别名
8.4 通配符
8.5 输入输出重定向
8.1 shell介绍:
shell是一个命令解释器,提供用户与机器之间的交交互
支持特定语法,不如逻辑变换、循环
每个用户都可以有自己特定的shell
centos7默认shell为bash(Bourne Agin Shell)
还有zsh、ksh等
可以看一下有没有zsh ksh
[root@localhost ~]# yum list |grep zsh
zsh.x86_64 5.0.2-28.el7 @base
autojump-zsh.noarch 22.3.0-3.el7 epel
zsh-html.x86_64 5.0.2-28.el7 base
zsh-lovers.noarch 0.9.0-1.el7 epel
[root@localhost ~]# yum list |grep ksh
ksh.x86_64 20120801-137.el7 base
mksh.x86_64 46-8.el7 base
python-XStatic-Rickshaw.noarch 1.5.0.0-4.el7 epel
python-moksha-common.noarch 1.2.3-2.el7 epel
python-moksha-wsgi.noarch 1.2.2-2.el7 epel
python2-moksha-hub.noarch 1.5.9-1.el7 epel
结果有的
--------------------------------------------------------------------------------------------------------------------------------------
8.2 命令历史:
~history命令
~.bash_history 用户的家目录下/.bash_history可以查看敲过的命令
~最多存1000条
~变量 HISTSIZE echo $HISTSIZE 为1000 是有他控制的
history -c清空内存中的敲过的命令,不会清空配置文件里的
退出终端的时候才保存到配置问文件里去
~/etc/profile中修改
vi /etc/profile 找到history将1000可改为5000,即保存5000条
重启生效或者,source /etc/profile也可生效
非正常关机不会记录命令(不全)
~HISTTIMEFORMAT="%Y/%m/%d %H:%M:%S "
年 月 日 小时 分钟 秒
执行history时刻显示该命令使用的时间
~永久保存chattr +a ~/.bash_history
~!! 执行最后一条命令
~!n n代表数字 执行第几条命令
~!word 跟命令 在历史里倒着找出现的这条命令
---------------------------------------------------------------------------------------------------------------------------------------
8.3 命令补全和别名:
~ tab键,敲一下,敲两下
只有这一个开头的一下补全。多个两下列出
~参数补全,安装bash-completion
yum install -y bash -completion
需重启
~alias别名给命令重新起名字
alias chongqiwangluo='systemctl restart network.service'
直接alias可以列出系统里所有的别名,包括自己设置的
unalias chongqiwangluo 取消该别名
~各用户都有自己配置别名的文件 ~/bashrc
别名各自用户家目录下的/bashrc下
~ls /etc/profile.d/
还有一部的别名在 /etc/profile.d/xia
~自定义的alias放到~/bashrc
---------------------------------------------------------------------------------------------------------------------------------------
8.4 通配符,8.5 输入输出重定向:
~ls *.txt
*表示通配
~ls ?.txt
?表示一个任意的字符,两个的列不出来
~ls [0-9].txt
[]表示或者的意思,一个或者多个范围。[0-9a-zB-W]也可以这样写,多个范围
~ls {1,2}.txt
{}也是或者的意思,但是要这样写{1,2,3,4}
~cat 1.txt > 2.txt
> 重定向,把1.txt的文件内容输出到2.txt里面去。2.txt内容会删除
~cat 1.txt >> 2.txt
>>追加,1.txt追加到2.txt。2.txt内容不会删除
~ls aaa.txt 2>err
2>错误重定向 表示该命令的错误信息输出到err这个文件里去,原err文件内容消失
~ls aaa.txt 2>>err
2>>错误追加重定向 表示该命令的错误信息追加到err这个文件离去,原err文件内容不会消失
~command >1.txt 2>&1
&> = >+2>(不是命令,只是这样表示)
ls 存在的.txt 不存在的.txt &> 1.txt 即正确的输出和错误的信息都到1.txt里面去
同样支持追加 &>>
也可以一起写
ls [12].txt 不存在的.txt >1.txt 2>2.txt 即正确的输出到1.txt 错误的输出到2.txt
~wc -l < 1.txt (几乎不用。做了解)
<输入到一条命令,即查看1.txt的行数
<的左边必须是一条命令
来源:oschina
链接:https://my.oschina.net/u/3866149/blog/1838461