• 认识bash这个shell


    我们通过shell将我们输入的命令与内核通信,好让内核可以控制硬件来正确无误地工作
    bash是我们Linux默认的shell

    用户界面(Shell,application)--------核心(Kernel)-------硬件(Hardware)

    操作系统其实是一组软件,由于这组软件在控制整个硬件与管理系统的活动监测,如果这组软件被用户随便操作,若用户应用不当,将会使得整个系统崩溃。

    因为操作系统管理的是整个硬件功能,所以当然不能够被随便被一些没有管理能力的终端用户随意使用。
    但是我们总是需要让用户操作系统的,所以就有了在操作系统上发展的应用程序。

    软件=程序+文档=数据结构+算法+文档

    shell的功能只是提供用户操作系统的一个接口。
    像cmake,man,chown这些命令都是独立安装的应用程序,但是我们可以通过shell(就是命令行模式)来操作这些应用程序,让这些应用程序调用内核来运行所需的工作

    只要能够操作应用程序的接口都可以称为shell
    狭义的shell时命令方面的软件如bash,广义的shell包括图形界面的软件

    为什么要学习shell?
    1.X Window与Web界面工具一样,界面虽然亲善,功能虽然强大,但毕竟它是将所有利用到的软件集成在一起的一组应用程序而已,并非一个完整的套件,所以某些时候当你升级或者使用其它套件管理模块时,就会造成设置的困扰。而且不同的distribution设计的X Window界面也不同,造成学习的困扰。而几乎所有distributions使用的bash都是一样的
    2.远程管理,命令行界面比较快:Linux管理经常需要远程联机,联机时命令行传输速度一定比较快。而且,较不容易出现断线或者时信息外流的问题。
    3.是Linux的任督二脉,书到用时方恨少:如果真的有心想要将你的主机管理好,那么良好的shell程序编写时一定需要的 。

    shell有很多种,如Bournce SHell(sh),Sun默认的C SHell、商业常用的K SHell, 还有TCSH等
    一般是“Bournce Again Shell”(bash),时sh的增强班,也是基于GUN的架构下发展出来的

    要查看Linux主机上有多上shell,可以查看/etc/shells文件

    /bin/sh已经被/bin/bash替代

    为什么我们系统上合法的shell要写入/etc/shells这个文件?
    因为系统的某些服务在运行过程中,会去检查用户能够使用的shells,而这些shell的查询就是借助/etc/shells这个文件

    用户什么时候可以取得shell来工作呢?还有用户默认会使用哪种shell?
    查看/etc/passwd就知道了,在用户登录时取得默认的shell
    一些奇怪的shell,以后再看


    bash时GUN计划中重要的工具软件之一
    bash的主要优点
    1.命令记忆能力(history)
        默认记忆功能一般有1000个,记录在/home/用户名/.bash_history(没有home目录的用户怎么办)
        .bash_history记录的是前一次登录以前所执行的命令,这次登录所执行的命令被暂时存在临时内存中,当成功注销系统后,该命令记忆才会记录再.bash_history中
    2.命令与文件补全功能:tab功能
    3.命令别名设置功能(alias)
    4.作业控制、前台后台控制(job control,foreground,background)
        可以随时将工作丢到后台执行,不怕不小心ctrl+c终端进程。ctrl+z
        也使得可以在单一登录的环境中达到多任务的目的
    5.程序脚本(shell script)
        shell scripts可以将平时管理系统常需要执行的连续命令写成一个文件,该文件并且可以通过交互的方式进行主机的检车工作
    6.通配符
        帮助用户查询和命令执行,加快用户操作 如ls -l /usr/bin/X*

    如果shell命令比较长,可以"[Enter]"换行执行



  • 相关阅读:
    sed 简明教程
    简明 Vim 练级攻略
    AWK 简明教程
    TCP 的那些事儿(下)
    TCP 的那些事儿(上)
    CentOS 7系统安装配置图解教程
    Google Chrome谷歌/火狐/Safari浏览器开发者工具基本使用教程
    《Ext JS模板与组件基本框架图----组件》
    ExtJS关于组件Component生命周期
    《Ext JS模板与组件基本知识框架图----模板》
  • 原文地址:https://www.cnblogs.com/lzb1096101803/p/4377429.html
Copyright © 2020-2023  润新知