美文网首页
1.认识Bash

1.认识Bash

作者: 互联网中的一个咸鱼 | 来源:发表于2019-08-05 07:49 被阅读0次

    1.什么是shell

    Shell是内核和用户操作沟通的桥梁,用于用户和内核沟通

    image

    2.Bash

    Bash 【Bouren Again SHell】的简称,也是基于GNU的架构下发展出来的
    是众多shell中的一个.
    Linux中的Bash都保存在/etc/shells文件中

    echo $SHELL            查看使用的shell
    /usr/bin/bash            shell文件是可执行文件,直接输入即可使用
    

    3.Bash的功能

    命令别名 alias name=‘command’
    取消别名  unalias
    stty -echo  隐藏命令的输入
    stty  echo   回复命令的输入
    type  command   查看命令的类型
        -t :   只输出关键字类型
        不显示任何数据,代表command不是任何命令
    history  历史命令
          10    显示最近10条执行过的命令
          -c    清空所有历史命令
          -w     即刻写入.bash_history
      使用执行
         !number  执行历史记录第number条命令
         !!   执行上一条命令
        
    

    注意:同一帐号同时多次在线执行命令时,这样会产生多个bash,那么会以最后一个登出的命令历史记录为准
    建议使用一个用户登入bash,再用[Ctrl]+z fg bg 来控制前后台来切换不同的工作

    /etc/issue

    设置登录到系统时,显示的信息

    /etc/issue //修改这个文件的内容即可

    image

    /etc/motd

    设置登录到系统后,界面会出现的东西

    文件系统及程序限制关系

    为了放置有人恶意打开多个大容量的档案,是内存耗尽导致系统宕机,bash可以限制用户的某些系统资源。

    image

    最常用的就是 -f 了
    例如:限制用户仅等建立10MBytes以下容量的文件

    ulimit -f 10240 
    
    

    永久生效,编辑 /etc/security/limits.conf

    格式:

    用户 限制的级别 类型 限制的值
    比如
    shark soft nofile 100
    shark hard nofile 100

    nofile 限制文件打开数量
    nproc 网络连接数

    通配符与特殊符号

    通配符

    * 代表[0到无穷多个]任意字符
    ? 代表一定有一个任意字符
    [] 同样代表[一定有一个在括号内]
    [-] 代表在范围内的字符,一定会有一个
    [^] 表示反向反转

    特殊符号
    \   转移符号,可以将具有特殊意义的符号变为一般字符
    |   管道符,把前一个命令的结果传递给后一个命令,可以多个,以此类推
    ;   连续下达命令的分隔符
    $   取用变量值的前缀符号
    &   将一个工作置于后台
    !   逻辑运算意义上的非
    /   路径分隔符
    >,>>  输出重定向,>覆盖,  >>追加
    <,<<  输入重定向
    ''  单引号,单引号内的字符均视为一般字符
    ""   双引号,其内的字符具有特殊意义,具有变量置换功能
    ``   其内的命令可以先执行,建议用$( )取代
    ()  在中间为子shell的起始与结束
    {}  在中间为命令区块的组合
    

    数据流重导向

    image

    例子: cat < input.txt > ouput.txt 将input.txt作为键盘录入输出到ouput.txt文件中
    ls >/dev/null 2>&1 将正确的输出到黑洞中,将错误的输出重定向给正确的
    cat < input > input 先对文件进行,此时文件内容为空,再将空的文件作为键盘录入,所以文件最后就是空的

    cut 补充

    把export输出的信息,取出第12个字符以后的所用字符串。

    export | cut -c 12- 取出第十二个字符以后的

    ctrl + u 删除光标之前的
    ctrl + k 删除光标之后的
    ctrl + a 将光标移动到最前面
    ctrl + e 将光标移动到最后

    相关文章

      网友评论

          本文标题:1.认识Bash

          本文链接:https://www.haomeiwen.com/subject/hflrdctx.html