7.28精通Linux系列一:初探Linux
点击关注公众号,AI,编程干货及时送达
Linux主要有四个部分:
• 内核(kernel)内核是一个底层的操作系统,处理文件、硬盘、网络等我们经常认为理所当然的必需品。大多数用户很少注意到内核的存在。
• 预装程序(Supplied programs)数以千计的程序,用于文件操作、文本编辑、数学运算、网页浏览、音频、视频、计算机编程、排版、加密、刻录DVD…你可以想到的都有。
• shell一种用户界面,用于输入命令、执行命令和显示结果。Linux有各种不同的 shell:Bourne shell、Korn shell、C shell等。这本书的重点是bash,也就是Bourne-Again shell,通常是用户账户的默认 shell。然而,所有这些 shell的基本功能都是类似的。
• X一种提供窗口、菜单、图标、鼠标支持以及其他熟悉的GUI元素的图形系统。更复杂的图形环境是建立在X上的;最受欢迎的是KDE和GNOME。我们只会讨论一些用X窗口运行的程序。
运行一个 shell
如果你通过网络连接到一个Linux机器,你会立刻看到一个 shell,等待你输入命令。如果你直接坐在一个Linux机器前面进行登录,你更有可能被一个图形化桌面的图标和菜单所欢迎,看不到 shell。对于许多用户来说,这是他们使用Linux的主要方式,这些图标和菜单对于阅读电子邮件和浏览网页这样的简单任务来说就足够了。然而,要想真正发挥Linux的威力,你必须深入到这个图形界面下面,进入 shell。刚开始使用 shell可能比图标和菜单更困难,但一旦你习惯了, shell会变得很容易使用,并且非常强大。
那么,如何在这个图形界面中运行 shell呢?答案是“视情况而定”。Linux有几个图形界面,最常见的是GNOME和KDE,每个Linux系统可能会以不同的方式配置它们!你的任务是找到一个图标或菜单项,让你能打开一个 shell窗口:一个 shell正在其中运行的窗口。在你的系统的主菜单或开始菜单中找到一个叫做终端(Terminal)、Konsole、xterm、gnome-terminal、uxterm或类似的应用程序。运行这个程序来打开一个 shell窗口。
窗口程序(如Terminal、Konsole等)不是 shell。它只是一个图形程序——可能有自己的花哨功能——代表你运行一个 shell。shell是提示你输入命令并运行它们的东西。图2解释了这个差别。
这只是一个快速的介绍。我们将在["Shell Features"]部分讨论更多细节,并在“用 shell脚本编程”部分介绍更强大的构造方法。
输入和输出
大多数Linux命令都接受输入并产生输出。例如,wc
命令接受来自文件的输入,并在屏幕上生成输出(行数、单词数和字符数)。
Linux命令对输入和输出非常灵活。输入可以来自文件或标准输入,通常是你的键盘。同样,输出可以写入文件或标准输出,通常是你的 shell窗口或屏幕。错误消息被特别对待,显示在标准错误上,这通常也是你的屏幕,但被保持与标准输出分开。稍后,我们会看到如何将标准输入、输出和错误重定向到文件或管道。但首先,让我们把词汇搞清楚。当我们说一个命令“读取”时,我们的意思是从标准输入读取,除非我们另有说明。当一个命令“写”或“打印”时,我们的意思是在标准输出上,除非我们在谈论计算机打印机。
用户和超级用户
Linux是一个多用户操作系统:多个人可以同时使用一台Linux计算机。在一台计算机上,每个用户都有一个用户名,如“smith”或“funkyguy”,并拥有一部分(相当)私人的系统空间来工作。
还有一个特殊的用户叫做root——超级用户——他有权在系统上做任何事情。普通用户的权限是受限的:尽管他们可以运行大多数程序,但他们通常只能修改他们自己的文件。超级用户,另一方面,可以创建、修改或删除任何文件,并运行任何程序;我们将在“成为超级用户”部分进行更多讨论。
推荐阅读
你好,我是拾叁,7年开发老司机、互联网两年外企5年。怼得过阿三老美,也被PR comments搞崩溃过。这些年我打过工,创过业,接过私活,也混过upwork。赚过钱也亏过钱。一路过来,给我最深的感受就是不管学什么,一定要不断学习。只要你能坚持下来,就很容易实现弯道超车!所以,不要问我现在干什么是否来得及。如果你还没什么方向,可以先关注我,这里会经常分享一些前沿资讯和编程知识,帮你积累弯道超车的资本。