Linux shell基础知识(一)

摘要:8.1 shell介绍

          8.2 命令历史

          8.3 命令补全和别名

          8.4 通配符

          8.5 输入输出重定向

一 shell介绍


查看系统shell包

二 命令历史

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

    1.历史命令存放位置

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

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

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

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

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

    3.定义环境变量HISTSIZE

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

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

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

    4. 记录命令使用时间

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

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

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

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

    5.让命令历史永久保存

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

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

        # !!        

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

        # !n

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

    #![命令]

三 命令补全和别名

1.tab键

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

2.参数补全

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

3.别名

    适用于命令比较长

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

4.别名配置文件

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

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

    5.取消别名

    # unalias [别名]

四 通配符

1.通配符*

    *可以适用各种场景

2.通配符?

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

3.通配范围[ - ]

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

    4.通配符{ , , }

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

五 输入输出重定向

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文件中

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

5.正确+错误重定向

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

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

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

7.输入重定向<

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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容