day02-Linux学习 Bash基础

作者: 云运维之道 | 来源:发表于2019-07-25 15:07 被阅读7次

    一、Bash Shell初步认识

    1.什么是Bash Shell(壳)?

    命令解释器, 将用户输入的命令,翻译给内核程序.
    将用户输入的指令翻译给内核程序,内核处理完成之后将结果返回给bash

    ​ Bash Shell是一个命令解释器,它在操作系统的最外层,负责用户程序与内核进行交互操作的一种接口,将用户输入的命令翻译给操作系统,并将处理后的结果输出至屏幕。当我们使用远程连接工具连接linux服务,系统则会给打开一个默认的shell,我们可在这个界面执行命令、比如:获取系统当前时间,创建一个用户等等...

    如何打开一个bash窗口:
                通过Xshell连接,就算打开一个Bash程序的窗口.
    

    2.Bash Shell能做什么?

    ​ 几乎能完成所有的操作:
    ​ 文件管理 (创建 移动 复制 删除 编辑 等等)
    ​ 用户管理 (创建 删除 ....)
    ​ 权限管理
    ​ 磁盘管理
    ​ 网络管理
    ​ 进程管理
    ​ ......

    3.平时我们是如何使用Bash Shell?

    ​ 单条命令 --> 效率低 ---> 适合少量工作

    [root@oldboy ~]# ls
    anaconda-ks.cfg
    

    ​ Shell Script --> 效率高 ---> 适合复杂 并且重复性的工作

    [root@oldboy ~]# cat a.sh
    #!bin/bash
    for i in {1..10}
    do
        useradd test$i
        echo "Create test$i is OK!"
    done
    [root@oldboy ~]# sh a.sh 
    Create test1 is OK!
    Create test2 is OK!
    Create test3 is OK!
    Create test4 is OK!
    Create test5 is OK!
    Create test6 is OK!
    Create test7 is OK!
    Create test8 is OK!
    Create test9 is OK!
    Create test10 is OK!
    

    4.Bash Shell提示符

    图.PNG

    5.Bash Shell基础语法

    ​ 命令 [选项] [参数]
    ​ ls -a /tmp/
    ​ 打针 重点|轻点 往哪打

    ​ 命令: 主体
    ​ 选项: 用来调节命令的输出效果
    ​ -a 以 “-”引导短格式选项(单个字符)
    ​ --all 以“--”引导长格式选项(多个字符)
    ​ 选择使用短格式- , 在选项特别多的时候可以组合使用 -a -l -al
    ​ 参数:命令操作的对象,如文件或者路径等
    ​ PS: 命令必须开头,选项和参数可以出现位置调换的情况

    ​ ls #列出当前目录下的内容

    [root@oldboy ~]# ls bash_logout
    ls: cannot access bash_logout: No such file or directory  #没有找到这个文件或目录
    PS:相信电脑: 不要相信自己     这个文件不存在,或者这个文件名称写错了
    
    [root@oldboy ~]# useraddttt
    -bash: useraddttt: command not found  #命令未找到
    

    二、Bash Shell基本特性

    1.命令补全 tab

    ​ 命令补全 路径补全 选项补全

    ​ 输入命令: 按下tab键 会自动补全;但是如果无法补全,按两下tab键列出所有if开头的命令。
    ​ 路径补全: 保证唯一就能实现补全功能,但如果输入错误则不会补全成功。
    ​ 选项补全: yum install bash-completion

    ​ PS:输入错误,tab键不好使/

    2.命令快捷键

            ctrl+c  终止当前正在运行的程序
            ctrl+l  清屏  ===  clear命令
            ctrl+w  按单词或者空格进行向前删除
            ctrl+ ->  快速右移
            ctrl+ <-  快速左移
    
            ctrl+a  光标跳转至行首
            ctrl+e  光标跳转至行尾
            ctrl+z  暂时放入后台   几乎不用
            ctrl+u  删除光标以前的所有内容
            ctrl+k  删除光标以后的所有内容
            ctrl+r  搜索的此前执行过的命令
    

    3.历史命令History,

    ​ 追溯之前发生情况 (查找执行的命令历史记录)

    ​ -w 保存命令历史到历史文件
    ​ -c 清空命令历史记录, 不会清空已保存的文件
    ​ -d 删除命令历史的第 N 条行

    ​ history 获取当前执行的历史记录
    ​ 使用双 !! 可执行上一条执行过的命令
    ​ !60 #调取history记录中编号为60的命令
    ​ ESC + . #调用上一条命令的最后参数或选项

    ​ 1.保存历史记录 [root@oldboy ~]# cat .bash_history #当前用户的家目录下
    ​ [root@oldboy ~]# history -w

    ​ 2.尝试使用history -c 清除记录

    ​ 3.操作完成后,清楚记录

          [root@oldboy ~]# history -c
          [root@oldboy ~]# > .bash_history
          [root@oldboy ~]# cat .bash_history
    

    4.命令别名 alias unalias

    ​ 系统有很多内置的别名

    1.设置别名(临时生效)

        [root@oldboy ~]# alias wk='cat /etc/sysconfig/network-scripts/ifcfg-eth0'
    
        [root@oldboy ~]# wk
        TYPE=Ethernet
        PROXY_METHOD=none
        BROWSER_ONLY=no
        BOOTPROTO=none
        DEFROUTE=yes
        IPV4_FAILURE_FATAL=no
        IPV6INIT=yes
        IPV6_AUTOCONF=yes
        IPV6_DEFROUTE=yes
        IPV6_FAILURE_FATAL=no
        IPV6_ADDR_GEN_MODE=stable-privacy
        NAME=eth0
        UUID=e3ab73b9-4001-4639-bce2-9ff418143b13
        DEVICE=eth0
        ONBOOT=yes
        IPADDR=10.0.0.200
        PREFIX=24
        GATEWAY=10.0.0.254
        DNS1=223.5.5.5
        IPV6_PRIVACY=no
    

    2.取消别名(临时生效)

        [root@oldboy ~]# unalias wk
        [root@oldboy ~]# wk
        -bash: wk: command not found
    

    3.永久添加别名

    ​ /etc/bashrc

       [root@oldboy ~]# echo "alias ifconfig='ifconfig eth0'" >> /etc/bashrc
    

    三、Bash Shell获取帮助

    1.命令 --help帮助

    # ls --help
    

    2.命令 man手册

    # man ls    #查看ls命令的手册
    

    相关文章

      网友评论

        本文标题:day02-Linux学习 Bash基础

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