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