一 什么叫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:::root:/root:/bin/bash
bin:x:::bin:/bin:/sbin/nologin
daemon:x:::daemon:/sbin:/sbin/nologin
adm:x:::adm:/var/adm:/sbin/nologin
lp:x:::lp:/var/spool/lpd:/sbin/nologin
sync:x:::sync:/sbin:/bin/sync
shutdown:x:::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'

  

最新文章

  1. MFC AfxMessageBox默认标题修改
  2. 关于从JSP页面插入数据到数据库中乱码问题的解决
  3. 如何获取google地图、baidu百度地图的坐标
  4. ArcGIS中国工具2.2正式发布
  5. 对最近的RTP和H264学习进行总结整理-04.20
  6. 黑马程序员:Java编程_String
  7. itextsharp、Aspose.Words、Aspose.Cells联合使用
  8. 安装sklearn时出现 "ImportError: DLL load failed" 的解决方法
  9. [转载]word尾注插入参考文献——前人经验+自己总结
  10. servlet案例
  11. HTML textarea输入框限制长度 (引)
  12. 工作流activiti-02事物控制、流程引擎创建
  13. juce中的BailOutChecker
  14. python战斗2:看到一个页面编码
  15. uva-442 Matrix Chain Multiplication
  16. Node.js之异步流控制
  17. iOS 环信集成项目应用
  18. Codeforces 817C Really Big Numbers - 二分法 - 数论
  19. [c][c++]按位操作
  20. 765. Couples Holding Hands

热门文章

  1. matlab中size函数总结
  2. Vue 恢复初始值的快速方法
  3. 【转】 bind1st bind2nd的使用
  4. Java - BigDecimal四舍五入注意事项
  5. mysql中如何不重复插入,mysql 重复的不插入,mysql唯一的插入
  6. Python学习——numpy.random
  7. java中的继承 (2013-10-11-163 写的日志迁移
  8. Pycharm中F4查看函数的相关小BUG
  9. HDU - 6514 Monitor(二维差分)
  10. eclipse快捷键(shift+ctrl+l能出来所有的快捷键)