这次说说关于Shell的东西。

「Shell」是看不见实体的,所以理解起来可能会有些困难。

最近的Linux发行版默认都是用X Window System来操作的(也就是图形化操作),所以很少见到有人会多余的去问「Shell是什么?」

UNIX系的OS的Shell是指「连结OS内核和用户的命令行接口」,命令行接口就是不使用鼠标,通过键盘输入字母文字等来和系统进行交互的接口。

即,Shell就是内核和用户之间通过文字交互的程序。

X Window System启动后,同时按下 Ctrl+Alt+F1 ,可以进入基于文字的登录界面。在这个界面输入用户名和密码后,就启动了Shell。

Shell启动后,显示命令行提示符,在命令行提示符后输入命令,就可以完成各种操作。此时,Shell做的就是把用户输入的命令传给内核执行,再把内核的执行结果返回给用户。

也就是说,Shell在X Window System的「Gnome终端」等启动之后仍然可以运行。(这句话是说X Window System的桌面环境启动之后,仍然是可以使用Shell的)

而且对于有些网络上的服务器,出于安全的考虑根本不让使用X Window System。这时如果不会使用Shell的话,几乎就不可能操作这个服务器了。

Shell其实没有想象中那么难。下定决心只用键盘来操作,剩下的就是练习了。请勇敢的去尝试吧。

作为补充,Shell还有另外一个意思。只要是将用户的指示传达给内核,并内核的计算结果返回给用户的程序,即使它不是基于命令行的,也可以称作「Shell」。

在这种条件下,X Window System的应用程序等也可以被认为是「Shell」。但是,在Linux环境说到Shell的时候,基本上可以认为是指「基于命令行的接口」。

Linux 小知识翻译 - 「Shell」(也就是命令行接口)的更多相关文章

  1. Linux 小知识翻译 - 「版本号」的命名方式

    包括OS,所有的软件都有版本号信息.一般来说,版本号的增大表示软件的功能增强了或者修正了一些Bug,也就是表示软件更新了. 版本号的命名方式没有统一的标准.每种软件都不一样. 大部分情况下,版本号以「 ...

  2. Linux 小知识翻译 - 「Shell 脚本」

    这次说说「Shell 脚本」. 根据上回的介绍,Shell就是「作为联系Linux和用户的接口而存在的软件」.在Linux环境中,通过Shell来操作系统很普遍. 这里,考虑到有时候可能想要「多次的进 ...

  3. Linux 小知识翻译 - 「cron」

    这次说说「cron」. 「cron」就是「定期自动执行任务的工具」(相当于windows中的计划任务).读做「库隆」.使用「cron」,可以预先指定任务在某个时间执行. 时间的指定并不只是「一小时一次 ...

  4. Linux 小知识翻译 - 「模块」

    说起module(模块),有的像「可热插拔的零部件」的意思. 在讨论Linux时提到的模块一般是指可以组装到内核中的模块. 模块这个概念是在硬件和程序设计领域中广泛使用的概念.我们这次说的模块特指Li ...

  5. Linux 小知识翻译 - 「syslog」

    这次聊聊「syslog」. 上次聊了「日志」(lgo).这次说起syslog,一看到log(日志)就明白是怎么回事了.syslog是获取系统日志的工具. 很多UINIX系的OS都采用了这个程序,它承担 ...

  6. Linux 小知识翻译 - 「NTP」

    这周聊聊「NTP」. 上次,聊了「时区」,也就是时间相关的话题. NTP是「Network Time Protocol」的简称,是为了将网络中计算机的时钟同步到正确时间的协议. PC内部的时钟是相当不 ...

  7. Linux 小知识翻译 - 「LDAP」

    这次聊聊「LDAP」. LDAP是「Lightweight Directory Access Protocol」的所有,从名字上可以看出是协议的一种. LDAP是访问数据库(层次型数据库)的组件.管理 ...

  8. Linux 小知识翻译 - 「BitTorrent」

    这次聊聊「BitTorrent」. (也就是下片子的 BT) BitTorrent是文件传输的一种.它可以在服务端负担很小的情况下高速的传输文件. BitTorrent最大的特点就是服务端可以将文件的 ...

  9. Linux 小知识翻译 - 「GCC」

    这次聊聊「GCC」. GCC是「GNU Compiler Collection」的简称,由C.C++.FORTRAN.Java等语言的编译器以及这些语言的库所组成. GCC不仅包含编译器本身,还包含了 ...

随机推荐

  1. Docker修改默认网段

    因阿里云服务器VPC默认占用了172.16.0.0/16 网段,与Docker里的网段相同,导致Docker里无法连接VPC服务器.后来找到的解决方案是修改Docker的默认网段. 由于Docker默 ...

  2. NetMQ 发布订阅模式 Publisher-Subscriber

    第一部分引用于:点击打开 1:简单介绍 PUB-SUB模式一般处理的都不是系统的关键数据.发布者不关注订阅者是否收到发布的消息,订阅者也不知道自己是否收到了发布者发出的所有消息.你也不知道订阅者何时开 ...

  3. hiveServer2 和 metastore的一点解读。

    刚看了hive官网的文档,对于一些概念结合自己的经验,似乎又多了一些理解,想一想还是记下来的好,一来我是个有些健忘的人,过一段时间即便忘了,循着这个帖子,也能快速把知识点抓起来:二来或许对别人也有些启 ...

  4. C# GDI+编程之Graphics类

    GDI+是GDI的后继者,它是.NET Framework为操作图形提供的应用程序编程接口,主要用在窗体上绘制各种图形图像,可以用于绘制各种数据图像.数学仿真等. Graphics类是GDI+的核心, ...

  5. SpringBoot入门之集成Druid

    Druid:为监控而生的数据库连接池.这篇先了解下它的简单使用,下篇尝试用它做多数据源配置.主要参考:https://github.com/alibaba/druid/wiki/常见问题 https: ...

  6. [转]【Angular4】基础(二):创建组件 Component

    本文转自:https://blog.csdn.net/u013451157/article/details/79445138 版权声明:本文为博主原创文章,未经博主允许不得转载. https://bl ...

  7. Docker 安装 mongoDB(五)

    Docker 安装 mongoDB 1.搜索docker镜像(可以看到搜索的结果,这个结果是按照一定的星级评价规则排序的) docker search mongo 2.拉取docker的mongo镜像 ...

  8. Java面试总结(集合、spring)

    Java 集合框架简介 Java Collections Framework,最开始也是一个开源框架,后来被收录到JDK中 所谓的集合,就是能存放多个数据元素的容器,在Java中原生的容器是数组 数组 ...

  9. Why in the code “456”+1, output is “56”

    Question: #include <iostream> int main() { std::cout << "25"+1; return 0; } I ...

  10. canvas-4createPattern.html

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...