shell介绍,history,别名,通配符及重定向

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell介绍,history,别名,通配符及重定向相关的知识,希望对你有一定的参考价值。

shell介绍

  • shell是一个命令解释器,提供用户和机器之间的交互
  • 支持特定的语法,比如逻辑判断,循环
  • 每个用户都可以有自己特定的shell
  • CentOS7默认shell为bash,(Bourne Agin Shell纪念Bourne命名的)
  • 还有zsh,ksh等

历史命令

  • history命令---查看历史命令
  • .bash_history---命令历史保存文件,在用户的家目录下,退出终端时保存进去
    [[email protected] ~]# ls /root/.bash_history 
    /root/.bash_history
  • 最大能存1000条
  • history -c清空命令历史,只是清空内存中的,不会删除文件中的,
    [[email protected] ~]# history -c
    [[email protected] ~]# history
    2  history
  • 由变量HISTSIZE定义的
    [[email protected] ~]# echo $HISTSIZE
    1000
  • /etc/profile中可以修改变量可以增大减小数量
    [[email protected] ~]# vim /etc/profile
    HOSTNAME=`/usr/bin/hostname 2>/dev/null`
    HISTSIZE=5000
    [[email protected] ~]# source /etc/profile
    [[email protected] ~]# echo $HISTSIZE
    5000
    改完需要source才能生效
  • HISTTIMEFORMAT="%Y/%m/%d %H:%M:%S" ---加入这个变量可以显示历史命令的使用时间
  • 命令历史永久保存:chattr +a ~/.bash_history
    ---赋予a权限后,只能追加不能删除,如果没有正确退出终端,记录的命令不全
  • !! ---执行历史中最后一条命令
  • !755 ---执行历史里755条命令
  • !mkdir ---执行倒数第一个mkdir开头的命令

命令补全和别名

  • tab键,敲一下(补全唯一的)敲两下(显示以它开头的所有)
  • Centos7支持命令的参数补全,需要安装yum install -y bash-completion,并重启系统
  • alias可以给命令设置别名
    [[email protected] ~]# alias restartnet=‘systemctl restart network.service‘
    [[email protected] ~]# alias
    alias cp=‘cp -i‘
    alias egrep=‘egrep --color=auto‘
    alias fgrep=‘fgrep --color=auto‘
    alias grep=‘grep --color=auto‘
    alias l.=‘ls -d .* --color=auto‘
    alias ll=‘ls -l --color=auto‘
    alias ls=‘ls --color=auto‘
    alias mv=‘mv -i‘
    alias restartnet=‘systemctl restart network.service‘
    alias rm=‘rm -i‘
    alias which=‘alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde‘
  • unalias 加上别名---取消命令的别名
  • 各用户都有自己配置别名的文件~/.bashrc,在用户的家目录下
  • ls /etc/profile.d/ ----还有一些在这个目录下
    [[email protected] ~]# ls /etc/profile.d/
    256term.csh         colorgrep.csh  colorls.sh  less.csh  vim.sh
    256term.sh          colorgrep.sh   lang.csh    less.sh   which2.csh
    bash_completion.sh  colorls.csh    lang.sh     vim.csh   which2.sh

通配符

输入输出重定向

  • cat 1.txt > 2.txt 把2.txt清空把1.txt内容输入
  • cat 1.txt >> 2.txt 把1.txt内容追加到2.txt
  • 2> 错误重定向
  • 2>> 错误追加重定向
  • \>+2> 等于 &> 正确和错误的信息重定向到
    [[email protected] ~]# echo 1212241 > a.txt
    [[email protected] ~]# ls [12].txt aaa.txt &> a.txt
    [[email protected] ~]# cat a.txt 
    ls: 无法访问aaa.txt: 没有那个文件或目录
    1.txt
    2.txt
  • &>> ---正确和错误的信息追加重定向
    [[email protected] ~]# ls [12].txt aaa.txt &>> a.txt
    [[email protected] ~]# cat a.txt 
    ls: 无法访问aaa.txt: 没有那个文件或目录
    1.txt
    2.txt
    ls: 无法访问aaa.txt: 没有那个文件或目录
    1.txt
    2.txt
  • 同时使用,正确的错误的分别重定向,也可以追加
    [[email protected] ~]# ls [12].txt aaa.txt >1.txt 2> a.txt
    [[email protected] ~]# cat 1.txt
    1.txt
    2.txt
    [[email protected] ~]# cat a.txt 
    ls: 无法访问aaa.txt: 没有那个文件或目录
  • < 输入重定向
    [[email protected] ~]# wc -l <1.txt    ---打印1.txt的行数,左边必须是命令
    2
    [[email protected] ~]# 2.txt < 1.txt
    -bash: 2.txt: 未找到命令
  • command >1.txt 2>&1,
    command命令调用指定的指令并执行,命令执行时不查询shell函数,无视同名函数。command命令只能够执行shell内部的命令,这里的相当于将正确与错误的信息都写入1.txt上,&1相当于1.txt

以上是关于shell介绍,history,别名,通配符及重定向的主要内容,如果未能解决你的问题,请参考以下文章

Linux学习笔记(二十三)shell介绍history命令历史命令补全和别名通配符

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

8.1 shell介绍 8.2 命令历史 8.3 命令补全和别名 8.4 通配符 8.5 输入输出重

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

20.Shell介绍,history,Tab键,通配符,重定向

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