Linux shell基础知识(一)

摘要:8.1 shell介绍

          8.2 命令历史

          8.3 命令补全和别名

          8.4 通配符

          8.5 输入输出重定向

一 shell介绍


Linux shell基础知识(一)_第1张图片

查看系统shell包

Linux shell基础知识(一)_第2张图片

二 命令历史

    所有使用过的命令会由一个文件保存,文件路径为/root/.bash_history  可以使用向上的方向键查看

Linux shell基础知识(一)_第3张图片

    1.历史命令存放位置

        # /root/.bash_history  //存放在用户家目录下的.bash_history文件内

Linux shell基础知识(一)_第4张图片

        这个文件内默认最大可以存1000条命令,可以使用命令# echo $HISTSIZE查看

    2.清空内存中的历史命令

        # history -c  //只能清空内存中历史命令,但不能清空/root/.bash_history文件内的命令历史

Linux shell基础知识(一)_第5张图片

    同时需要注意的是,登录后所有使用过的命令是保存在内存中的,只有登出终端后才会将这些命令写入到.bash_history文件内

    3.定义环境变量HISTSIZE

        修改环境变量HISTSIZE需要在/etc/profile文件中修改

Linux shell基础知识(一)_第6张图片

        修改为5000后,不会立即生效

        要想生效,需要先执行命令# source /etc/profile或者重新登入终端

Linux shell基础知识(一)_第7张图片

    4. 记录命令使用时间

    设置环境变量 # HISTTIMEFORMAT="%Y/%m%d %H:%M:%S"   //临时生效,

Linux shell基础知识(一)_第8张图片

    打开新的终端后,环境变量HISTTIMEFORMAT为空

若要永久生效,需要编辑/etc/profile文件配置环境变量,加入以下一行

Linux shell基础知识(一)_第9张图片

    保存文件后,再# source /etc/profile使配置永久生效

    5.让命令历史永久保存

        # chattr +a ~/.bash_history  //给记录文件加上只能追加内容不能删除内容的a权限

    6.执行上一条最近使用过的命令

        # !!        

Linux shell基础知识(一)_第10张图片

     7.重复执行指定条数的命令

        # !n

Linux shell基础知识(一)_第11张图片

8.执行倒数第一个使用过的命令

    #![命令]

Linux shell基础知识(一)_第12张图片

三 命令补全和别名

Linux shell基础知识(一)_第13张图片

1.tab键

        可以补全命令和路径,若开头一样的命令或路径只有一个,则按一下tab键就自动补全,若有多个,则需按两下tab键提示所有开头一样的命令

2.参数补全

CentOS7支持命令的参数补全,但需要安装一个包 bash-completion并重启

3.别名

    适用于命令比较长

Linux shell基础知识(一)_第14张图片

    从上图中可以看到系统默认的别名

4.别名配置文件

    # ~/.bashrc  //自定义的别名放在这个文件内

Linux shell基础知识(一)_第15张图片

    其他别名放在/etc/profile.d/文件夹下面的文件内

Linux shell基础知识(一)_第16张图片

    5.取消别名

    # unalias [别名]

四 通配符

Linux shell基础知识(一)_第17张图片

1.通配符*

    *可以适用各种场景

Linux shell基础知识(一)_第18张图片

2.通配符?

适用于通配一个任意的字符,不论数字或字母        

Linux shell基础知识(一)_第19张图片

3.通配范围[ - ]

    从上图可以看出,只要满足方括号[1-9]中1到9的任意一个数字,就算满足条件,且只取一位数

Linux shell基础知识(一)_第20张图片
Linux shell基础知识(一)_第21张图片

    4.通配符{ , , }

        括号内字符间的关系为或,只要满足其中一个条件就行

Linux shell基础知识(一)_第22张图片

五 输入输出重定向

Linux shell基础知识(一)_第23张图片

1.重定向>

    将前面文件的输出内容输入到后面命令中

   例如 # cat 1.txt >2.txt 会将2.txt清空后再将1.txt的内容写入到2.txt中

2.追加重定向>>

    例如# cat 1.txt>>2.txt 会将1.txt的内容追加到2.txt中,2.txt原来的内容不变

3.错误信息输出  2>

    例如 # ls aaa.txt 2> err 会将前面的命令ls aaa.txt产生的错误信息写入到err文件中

Linux shell基础知识(一)_第24张图片

4.错误追加重定向2>>

5.正确+错误重定向

    1)将正确和错误信息写到同一个文件

Linux shell基础知识(一)_第25张图片

    2)将正确和错误信息分开写到两个文件中

Linux shell基础知识(一)_第26张图片

6.正确+错误追加重定向

Linux shell基础知识(一)_第27张图片

7.输入重定向<

        输入重定向只能输入到一个命令中,不能输入到文件中

你可能感兴趣的:(Linux shell基础知识(一))