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

shell介绍

  • shell是一个命令解释器,提供用户和机器之间的交互
  • 支持特定语法,好比逻辑判断、循环
  • 每一个用户均可以有本身特定的shell
  • centos7默认shell为bash(Bourne Agin Shell)
  • 还有zsh、ksh等

命令历史

history 显示历史命令

[root@glinux-01 ~]# history
    1  ls
    2  ifconfig
    3  ping www.baidu.com
    4  ls -a
    5  ls  /etc/sysconfig/network-scripts/ifcfg-ens33
    6  vi  /etc/sysconfig/network-scripts/ifcfg-ens33

cat /root/.bash_history 这个文件存放了历史命令

最大能够存放1000条命令,(有时候会显示1004条或更多,是由于尚未写入到文件中,只在内存中),当前用户输入的命令不会直接写入文件中,当用户退出时,才会写入。linux

[root@glinux-01 ~]# echo $HISTSIZE
1000

$HISTSIZE数值能够修改,编辑配置文件vi /etc/profile 将HISTSIZI数值更改

HOSTNAME=`/usr/bin/hostname 2>/dev/null`
HISTSIZE=1000
if [ "$HISTCONTROL" = "ignorespace" ] ; then
    export HISTCONTROL=ignoreboth
else
    export HISTCONTROL=ignoredups
fi

更改后,须要退出从新登陆,或者source /etc/profile  ($HISTSIZE才会生效)shell

source /etc/profile 出错????centos

[root@glinux-01 ~]# source /etc/profile
-bash: Current: 未找到命令
-bash: nset: 未找到命令

history -c 清空历史命令(内容中),不能清空文件中的命令(.bash_history)

更改历史命令显示格式

HISTTIMEFORMAT=“%Y/%m%d %H:%M:%S”bash

如需永久更改,须要将这条命令加入配置文件中/etc/profilecentos7

[root@glinux-01 ~]# HISTTIMEFORMAT="%Y/%m/%d %H:%m:%S"
[root@glinux-01 ~]# history
    1  2018/03/03 10:03:31ls
    2  2018/03/03 10:03:31ifconfig
    3  2018/03/03 10:03:31ping www.baidu.com
    4  2018/03/03 10:03:31ls -a
    5  2018/03/03 10:03:31ls  /etc/sysconfig/network-scripts/ifcfg-ens33

永久保存chattr +a ~/.bash_history 

增长a权限,不能删除,只能追加。spa

若是不正常退出,如直接关闭窗口,历史命令保存不全。rest

!! 执行上一条命令code

!n(执行历史记录中第n条命令)ip

!echo (会在历史记录中倒着寻找以echo开头的命令执行)内存

 

命令补全和别名

  • tab键能够按一下能够补全命令开头字母后惟一的命令,按两下显示已这个字母开头的全部命令
  • 参数补全须要装bash-completion,安装后重启系统。
  • alias别名

用法:alias bieming='systemctl restart network.service'

别名配置文件通常在 .bashrc 或/etc/profile.d

unalias bieming 取消别名。

 

通配符

* 表明全部 例:ls *.txt

? 表明匹配任何一个字符

[0-9a-z] 括号范围内匹配

{1,2,3,a} 范围内匹配

 

输入输出重定向

输出重定向

cat 1.txt >2.txt 将1.txt重定向到2.txt中,会直接覆盖

cat 1.txt >>2.txt 将1.txt追加到2.txt中

ls aaa.txt 2>err 将错误结果输入到err中

ls aaa.txt 2>>err将错误结果追加到err中

&> 表明将错误和正确结果都输入到文件中

&>> 追加

ls [12].txt aaa.txt >1.txt 2>a.txt 正确输出放1.txt 错误输出放a.txt

输入重定向

wc -l <1.txt  将1.txt内容当作wc -l 的参数

相关文章
相关标签/搜索