• shell的简单介绍


    一 什么叫shell,shell 是什么  

      如果考虑到操作系统其实是一组软件,我们可以发现应用程序其实是在最外层,就如同鸡蛋的外壳一样,因此这个也就被称为shell。

      其实shell的功能只是提供用户操作系统的一个接口,一次这个shell需要可以调用其他软件才好,比如 man,chmod,chown,vi等命令,这些命令都是独立的应用程序,但是我们可以通过shell(命令行模式)来操作这些应用程序,让这些应用程度调用内核来运行所需的工作。

      也就是说,只要能够操作应用程序的接口都能够称为shell。狭义的shell指的是命令行方面的软件,包括bash等。广义的shell则包括图形界面的软件,因为图形界面其实也能够操作各种应用程序来调用内核工作。

    二 shell 新增

      /etc/shells

    [root@iz2ze5xd9ppdog0cch5vs0z etc]# cat /etc/shells 
    /bin/sh
    /bin/bash
    /sbin/nologin
    /usr/bin/sh
    /usr/bin/bash
    /usr/sbin/nologin
    /bin/tcsh
    /bin/csh

      如果有一些新的shell,就需要把那些新的写在/etc/shells里。

    三 我这个用户什么时候取得shell工作呢?我这个用户默认会取得哪一个shell?

      

    [root@iz2ze5xd9ppdog0cch5vs0z etc]# cat /etc/passwd
    root:x:0:0:root:/root:/bin/bash
    bin:x:1:1:bin:/bin:/sbin/nologin
    daemon:x:2:2:daemon:/sbin:/sbin/nologin
    adm:x:3:4:adm:/var/adm:/sbin/nologin
    lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
    sync:x:5:0:sync:/sbin:/bin/sync
    shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
    ... ...

      如上所示,在每一行的最后一个数据,就是你登录后可以取得的默认的shell。你会看到,root是/bin/bash,不过系统账户bin与daemon等就是用sbin/nologin/

    四 判断命令是来自于外部命令(其他非bash提供的命令)或是内置在bash当中的呢?

      利用 type 这个命令来查看。

    [root@iz2ze5xd9ppdog0cch5vs0z etc]# type cd
    cd is a shell builtin
    [root@iz2ze5xd9ppdog0cch5vs0z etc]# type pwd
    pwd is a shell builtin
    [root@iz2ze5xd9ppdog0cch5vs0z etc]# type mkdir
    mkdir is /usr/bin/mkdir
    [root@iz2ze5xd9ppdog0cch5vs0z etc]# type ls
    ls is aliased to `ls --color=auto'

      

  • 相关阅读:
    GeneXus for SAP的最新动态
    GeneXus DevOps 自动化构建和部署流程
    GeneXus 16 如何实现自动化测试和发布
    在GeneXus开发过程中如何进行自动化测试?
    【GeneXus】在WorkWithPlus中如何定义未被包含的页面属性?
    【GeneXus】开发移动APP时,如何使用Canvas进行布局?
    如何对富文本编辑器(FCK Html Editor)的工具栏进行扩展?
    GenXus进行APP开发-全局颜色设计
    通过GeneXus如何快速构建微服务架构
    Android签名打包详解
  • 原文地址:https://www.cnblogs.com/654321cc/p/9280107.html
Copyright © 2020-2023  润新知