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

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

autojump-zsh.noarch                      22.3.0-3.el7                    epel   
cekit-zsh-completion.noarch              3.3.1-1.el7                     epel   
python36-colcon-zsh.noarch               0.3.2-2.el7                     epel   
zsh.x86_64                               5.0.2-31.el7                    base   
zsh-html.x86_64                          5.0.2-31.el7                    base   
zsh-lovers.noarch                        0.9.0-1.el7                     epel 

[root@localhost ~]# yum list |grep ksh

ksh.x86_64                               20120801-139.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.17-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的行数

<的左边必须是一条命令

 

转载于:https://my.oschina.net/u/3866192/blog/3098202

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值