什么是linux系统(Linux快速简易入门)
如果有更好的建议或者想看更多关于生活常识技术大全及相关资讯,可以多多关注茶馆百科网。

Linux是一个操作系统平台。我们常用的操作系统叫Windows。当然,我的许多朋友使用的是苹果电脑,它运行的是macOS系统。您可能还听说过一种名为Unix的系统,它比Linux要古老得多,用于服务器领域。Linux也用于服务器领域。BAT公司(百度、阿里、腾讯)、谷歌、Facebook等知名互联网一线公司99%的服务器使用Linux。你使用的安卓手机也是Linux。
说到Linux的历史,有很多故事,但总觉得大家不会记住太多,甚至放弃学习Linux的念头,所以这里就简单介绍一下Linux的起源。
在Linux出现之前,它是Unix。但是Unix不是免费的,你必须购买许可证才能使用它,这是非常昂贵的,很少有人能负担得起。
在这种情况下,许多计算机爱好者渴望有一个便宜或免费的操作系统供大家学习。1983年,计算机大师Richard Stallman发起了一个项目来构建一个完全自由的操作系统,这个项目后来被称为GNU项目。完全自由意味着所有添加到GNU项目中的软件都必须可以自由使用、自由修改和自由分发。换句话说,软件发布必须发布其源代码,这些源代码可以被其他人自由使用,并且可以随意更改,但是更改后的代码必须被发布。当然,你不能只是说说而已。你必须有一个许可协议来管理你如何自由地使用它,这个许可协议可能被称为GPL。
当GNU项目启动时,它有很多支持者,因此在此期间产生了很多很棒的软件,如vi、Emacs、GCC等。但不幸的是,从来没有比这更完美的操作系统。直到1991年,芬兰大学生Linus Benedict Torvalds出于兴趣开发了一个类似unix的操作系统,并立即被许多爱好者所接受:Linux。1994年,Linux加入了GNU项目,并在GPL下发布。从那时起,GNU/Linux真正实现了构建一个完全自由的操作系统的理念。
如果您以前从未接触过Linux,那么可能不明白为什么会有这么多不同的Linux发行版。在查看Linux软件包时,您肯定会被distribution、LiveCD和GNU等术语弄混。第一次进入Linux世界可能会让人望而生畏。在我们深入研究命令和脚本之前,我们将稍微揭开Linux系统的神秘面纱。
Linux分为以下四个部分:
Linux内核GNU Tools图形桌面环境应用软件在Linux系统中各部分都有作用。但单独来看,它的作用不大。图1是一个基本的体系结构框图,显示了各个部分如何协同工作以组成整个Linux系统。我们将详细介绍这四个部分,然后概述它们如何协同工作以组成一个完整的Linux系统。
图1 Linux系统
深入研究Linux内核
Linux系统的核心是内核。内核控制计算机系统上的所有硬件和软件,按需分配硬件,按需执行软件。
当Linus还是赫尔辛基大学的学生时,他就开发了Linux内核的第一个版本。起初,他试图复制Unix,当时Unix在许多大学里很流行。
在完成开发工作后,Linus向互联网社区发布了Linux内核,并征求改进建议。这个简单的举动引发了计算机操作系统的一场革命。很快,李纳斯收到了来自世界各地的学生和专业程序员的建议。
如果任何人都可以修改内核代码,那么将会出现彻底的混乱。为了简单起见,Linus充当了所有改进建议的守门人。将提议的代码合并到内核中完全取决于Linus。这个概念在今天的Linux内核代码开发过程中仍然使用,只不过现在它是由一个开发团队完成的,而不是由Linus单独完成的。
内核负责以下四个功能:
1. 系统内存管理
操作系统内核的主要功能之一是内存管理。内核不仅管理服务器上可用的物理内存,还可以创建和管理虚拟内存(即实际上不存在的内存)。
内核通过硬盘上的存储空间(称为交换空间)实现虚拟内存。内核不断地在交换空间和实际物理内存之间来回交换虚拟内存的内容。这使得系统认为它拥有比物理内存更多的可用内存(参见图2)。
图2 Linux系统的内存映射
内存存储单元被分成称为页的块。内核将每个内存页放在物理内存或交换空间中。然后内核维护一个内存页表,指示哪些页位于物理内存中,哪些页已被分页到磁盘。
内核跟踪正在使用的内存页,并自动将一段时间未被访问的任何内存页复制到交换空间区域(称为交换出或交换出),即使内存仍然可用。当程序访问一个换出的内存页时,内核必须从物理内存中换出另一个内存页来为它腾出空间,然后从交换空间中换入所请求的内存页。显然,这个过程需要时间,并且会减慢正在运行的进程。只要Linux系统在运行,为正在运行的程序交换内存页的过程就不会停止。
2. 软件程序管理
Linux操作系统将运行的程序称为进程。进程可以在前台运行,在屏幕上显示输出,也可以在后台运行,隐藏在后台。内核控制Linux系统如何管理系统上运行的所有进程。
内核创建第一个进程(称为init进程)来启动系统上的所有其他进程。当内核启动时,它将init进程加载到虚拟内存中。当内核启动任何其他进程时,它会为新进程分配一个专用的虚拟内存区域,以存储该进程使用的数据和代码。
一些Linux发行版使用一个表来管理系统启动时自动启动的进程。在Linux系统上,这个表通常位于一个特殊的文件/etc/inittab中。
其他系统,如流行的Ubuntu Linux发行版,使用/etc/init. confD目录,用于在启动时启动或停止应用程序的脚本将放置在该目录中。这些脚本通过/etc/rx中的*项启动。d目录,其中X代表运行级别。
*这些条目实际上是启动/etc/init. conf文件中脚本的符号链接d目录。
Linux的init系统使用的是run级别。运行级别决定init进程运行/etc/inittab文件或/etc/rx文件中定义的某些类型的进程。d目录。Linux操作系统有五个启动运行级别。
在运行级别1,只启动基本系统进程和一个控制台终端进程。我们称之为单用户模型。单用户模式通常用于在系统出现问题时进行紧急文件系统维护。显然,在这种模式下,只有一个人(通常是系统管理员)可以登录到系统并操作数据。
标准启动运行级别为3。在这个运行时,大多数应用程序(如网络支持程序)都会启动。Linux中另一个常见的运行级别是5。在这个运行级别上,系统启动图形X窗口系统,允许用户通过图形桌面窗口登录。
Linux系统可以通过调整启动运行级别来控制整个系统的功能。通过将运行级别从3更改为5,您可以从基于控制台的系统切换到更高级的图形化X Window系统。
3.硬件设备管理
内核的另一个职责是管理硬件设备。Linux系统需要与之通信的任何设备都需要在内核代码中包含其驱动程序代码。驱动程序代码充当应用程序和硬件设备之间的中间人,允许在内核和设备之间交换数据。有两种方法可以在Linux内核中插入设备驱动程序代码:
编译到内核中的设备驱动程序代码可以插入到内核的设备驱动程序模块中。以前,插入设备驱动程序代码的唯一方法是重新编译内核。每次向系统中添加新设备时,内核代码都会被重新编译。随着越来越多的硬件设备被Linux内核所支持,这个过程变得越来越低效。幸运的是,Linux开发人员已经设计了一种更好的方法来将驱动程序代码插入到正在运行的内核中。
开发人员提出了内核模块的概念。它允许将驱动程序代码插入到正在运行的内核中,而不必重新编译内核。当设备不再使用时,内核模块也可以从内核中移除。这种方法极大地简化和扩展了Linux上硬件设备的使用。
Linux系统将硬件设备视为称为设备文件的特殊文件。设备文件有三种类型:
字符设备文件块设备文件网络设备文件字符设备文件是指每次只处理一个字符的设备。大多数类型的调制解调器和终端都是作为字符设备文件创建的。块设备文件是一次处理大块数据的设备,如硬盘。
网络设备文件是使用数据包发送和接收数据的设备,包括各种网卡和特殊的环回设备。这个环回设备允许Linux系统使用通用网络编程协议与自己通信。
Linux为系统上的每个设备创建称为节点的特殊文件。与设备的所有通信都是通过设备节点完成的。每个节点都有一个唯一的数字对,由Linux内核标识。值对包括主设备号和从设备号。相似的设备分组在相同的主设备号下。从设备号用于标识主设备组中的特定设备。
4. 文件系统管理
与其他一些操作系统不同,Linux内核支持通过不同类型的文件系统从硬盘读取和写入数据。除了它自己的许多文件系统之外,Linux还支持从其他操作系统(如Microsoft Windows)使用的文件系统中读写数据。内核必须在编译时支持所有可能的文件系统。表1列出了Linux系统用于读写数据的标准文件系统。
表1Linux文件系统
Linux服务器访问的所有硬盘都必须格式化为表1中列出的文件系统类型之一。
Linux内核使用虚拟文件系统(VFS)作为与各个文件系统交互的接口。这为Linux内核与任何类型的文件系统通信提供了一个标准接口。在挂载和使用每个文件系统时,VFS将信息存储在内存中。
GNU工具
除了内核控制硬件设备外,操作系统还需要工具来执行标准功能,例如控制文件和程序。当Linus创建Linux内核时,没有可用的系统工具。然而,他很幸运,在开发Linux内核的同时,一群人正在互联网上共同开发一套模仿Unix操作系统的标准计算机系统工具。
GNU组织(GNU是GNU's Not Unix的缩写)开发了一套完整的Unix工具,但是没有能够运行它们的内核系统。这些工具是在称为开放源代码软件(OSS)的软件概念下开发的。
开源软件的概念允许程序员开发软件并免费发布。任何人都可以使用该软件,修改它,或将其集成到他们的系统中,而无需支付任何许可费用。将Linus的Linux内核与GNU操作系统工具相结合,可以生成一个完整的、功能丰富的、自由的操作系统。
虽然Linux内核和GNU工具的组合通常被称为Linux,但您也会看到Internet上的Linux纯粹主义者将其称为GNU/Linux系统,这是对GNU组织的贡献的认可。
1. 核心GNU工具
GNU工程的主旨是为Unix系统管理员设计一个类Unix环境。这个目标导致该项目移植了许多常见的Unix系统命令行工具。Linux系统使用的核心工具集称为coretils(核心实用程序)包。
GNU coretils包由三部分组成:
处理文件的工具处理文本的工具管理进程的工具这三大类工具中的每一类都包含了对Linux系统管理员和程序员至关重要的工具。
2. shell
GNU/Linux shell是一个特殊的交互工具。它为用户提供了一种启动程序、管理文件系统中的文件和在Linux系统上运行的进程的方法。shell的核心是命令行提示符。命令行提示符是shell中负责交互的部分。它允许您输入文本命令,然后解释这些命令,并在内核中执行它们。
shell包含一组内部命令,您可以使用这些命令执行诸如复制文件、移动文件、重命名文件、显示和终止系统中正在运行的程序等操作。shell还允许您在命令行提示符中键入程序的名称,它将程序名称传递给内核以启动它。
您还可以将多个shell命令放入文件中,并将它们作为程序执行。这些文件称为shell脚本。在命令行上执行的任何命令都可以放在shell脚本中,并作为一组命令执行。这使得创建需要几个命令一起工作的工具变得容易。
在Linux系统上,通常有几个可用的Linux shell。不同的shell有不同的特性,一些更适合创建脚本,另一些更适合管理进程。所有Linux发行版的默认shell都是bash shell。bash shell是由GNU项目开发的,作为标准Unix shell——Bourne shell(以其创建者的名字命名)的替代品。bash shell名称是对Bourne shell的拼写的一种发挥,又称为Bourne shell。
表2列出了Linux中常见的不同shell。
表2Linux shell
大多数Linux发行版包含多个shell,但它们通常采用一个作为默认shell。如果您的Linux发行版包含多个shell,请随意尝试不同的shell,看看哪一个适合您的需要。
Linux桌面环境
在Linux的早期(20世纪90年代早期),您所拥有的只是Linux操作系统的简单文本界面。这个文本界面允许系统管理员运行程序,控制它们的执行,并在系统中移动文件。
随着微软视窗的普及,电脑用户不再满足于使用老式的文本界面。这导致了OSS社区中更多的开发活动和Linux图形桌面环境的出现。
完成一项工作的方法不止一种,Linux一直以这一点而闻名。在图形化桌面上尤其如此。Linux有多种图形桌面可供选择。下面是一些比较流行的桌面。
1. X窗口系统
决定视频环境的两个基本要素:显卡和显示器。为了在计算机上显示一幅美丽的图片,Linux软件需要知道如何与两者进行通信。X窗口软件是图形显示的中心部分。
X窗口软件是一个低级程序,直接处理图形卡和显示在PC上。它控制Linux程序如何在计算机上显示漂亮的窗口和图形。
Linux并不是唯一使用X窗口的操作系统;它有适用于不同操作系统的版本。在Linux世界中,实现X Window的包不止一个。
最流行的软件包之一是X.org。它提供了X Window系统的开源实现,并支持当前市场上的许多新显卡。
另外两个X Window软件包也越来越受欢迎。Fedora Linux发行版使用实验性的Wayland软件;Ubuntu Linux发行版开发了用于桌面环境的Mir Display服务器。
在首次安装Linux发行版时,它会检测视频卡和监视器,然后创建一个包含必要信息的X Window配置文件。在安装过程中,您可能会注意到安装程序会检查一次监视器,以确定支持哪些视频模式。有时这会导致显示器变黑几秒钟。有这么多不同类型的显卡和显示器可用,这个过程可能需要一段时间才能完成。
核心的X Window软件可以生成图形显示环境,但仅此而已。虽然这对于运行独立的应用程序来说已经足够好了,但在日常PC使用中并不是那么有用。没有桌面环境供用户操作文件或打开程序。为此,您需要一个构建在X Window系统软件之上的桌面环境。
2. KDE桌面
KDE (K桌面环境)最初是在1996年作为一个开源项目发布的。它产生了一个类似于微软Windows的图形桌面环境。如果您是Windows用户,KDE集成了所有熟悉的特性。在openSuSE Linux发行版上运行的KDE 4桌面如图1-3所示。
图3 OpenSUSE Linux下的KDE 4桌面
桌面底部的水平条称为面板,由以下四个部分组成。
KDE菜单:与Windows开始菜单非常相似,KDE菜单包含启动已安装程序的链接。程序快捷方式:面板上有一个快速链接,可以直接从面板启动程序。任务栏:任务栏显示当前桌面上正在运行的程序的图标。小程序:面板上还有一些特殊小程序的图标,这些图标通常会根据小程序的状态而变化。所有的面板功能都与你在Windows上看到的类似。除了桌面功能之外,KDE项目还开发了许多可以在KDE环境中运行的应用程序。
3.GNOME桌面
GNOME (GNU网络对象模型环境)是另一个流行的Linux桌面环境。GNOME于1999年首次发布,并已成为许多Linux发行版的默认桌面环境(尽管Red Hat Linux是使用最广泛的)。
虽然GNOME已经决定摆脱微软Windows的标准外观和感觉,但它包含了Windows用户习惯的许多功能:
图4显示了CentOS Linux发行版使用的标准GNOME桌面。
图4 centos Linux下的GNOME桌面
为了不被KDE超越,GNOME开发人员还开发了许多集成到GNOME桌面中的图形化程序。
4. 统一桌面
如果您使用的是Ubuntu Linux发行版,您会注意到它与KDE和GNOME桌面环境有些不同。正是因为负责开发Ubuntu的公司决定采用自己的Linux桌面环境Unity。
Unity Desktop的名字来源于该项目的目标——,即为工作站、平板电脑和移动设备提供一致的桌面体验。无论你是在你的工作站还是手机上使用Ubuntu, Unity桌面的工作方式都是一样的。图5显示了Ubuntu 14.04 LTS中的Unity桌面。
图5 Ubuntu Linux上的Unity桌面
5. 其他桌面
图形化桌面环境的缺点是,它们会占用大量的系统资源来保持正常运行。在Linux的早期,它的一个商标和卖点是,它可以运行在处理能力不如较新的微软台式机的老式个人电脑上。然而,随着KDE和GNOME桌面环境的流行,情况发生了变化。运行KDE或GNOME桌面所需的内存与微软最新的桌面环境相当。
如果你的电脑是旧的,不要气馁。Linux开发人员已经联手将Linux带回到它的根源。他们开发了具有低内存开销的图形桌面应用程序,提供了在旧pc上完美运行的基本功能。尽管这些图形桌面环境没有为它们设计大量的应用程序,但它们仍然可以运行许多基本的图形程序和支持功能,如文字处理、电子表格、数据库、绘图和多媒体。
表3列出了一些在低端pc和笔记本电脑上运行的轻量级Linux图形桌面环境。
表3其他Linux图形桌面
这些图形桌面环境不像KDE或GNOME桌面那么华丽,但它们提供了适量的基本图形功能。图6显示了Puppy Linux antiX发行版的JWM桌面。
图6 Puppy Linux发行版的jwm桌面
如果您有一台较旧的PC,请尝试基于上述桌面环境之一的Linux发行版,看看会发生什么。你可能会感到惊喜。
现在您已经了解了组成完整Linux系统的四个关键组件,您可能想知道如何将它们组合在一起。幸运的是,有人已经为你做过了。
我们把一个完整的Linux系统包称为发行版。有许多不同的Linux发行版可以满足可能存在的各种计算需求。大多数发行版都是为特定用户组定制的,例如业务用户、多媒体爱好者、软件开发人员或普通家庭用户。每个自定义发行版都包含支持特定功能所需的各种软件包,例如针对多媒体爱好者的音频和视频编辑软件、针对软件开发人员的编译器和集成开发环境(ide)。
不同的Linux发行版通常归类为3种:
完整的核心Linux发行版特定用途的发行版LiveCD测试发行版下面我们探讨一下这些不同类型的Linux发行版,然后展示每种类型中一些Linux发行版示例。
1.核心Linux发行版
核心Linux发行版含有内核、一个或多个图形化桌面环境以及预编译好的几乎所有能见到的Linux应用。它提供了一站式的完整Linux安装。表4列出了一些较流行的核心Linux发行版。
表4 核心Linux发行版
在Linux的早期,发行版是作为一叠软盘发布的。你必须下载多组文件,然后将其复制到软盘上。通常要用20张或更多的软盘来创建一个完整的发行版!毋庸多言,这是个痛苦的过程。
现今,家用电脑基本都有内置的CD和DVD光驱,Linux发行版也就用一组CD光盘或单张DVD光盘来发布。这大大简化了Linux的安装过程。
然而当新手在安装核心Linux发行版时,仍然经常遇到各种各样的问题。为了照顾到Linux用户的所有使用情景,单个发行版必须包含很多应用软件。从高端的Internet数据库服务器到常见的游戏,可谓应用尽有。鉴于Linux上可用应用程序的数量,一个完整的发行版通常至少要4张CD。
尽管发行版中的大量可选配置对Linux极客来说是好事,但对新手来说就是一场噩梦。多数发行版会在安装过程中询问一系列问题,以决定哪些应用要默认加载、PC上连接了哪些硬件以及怎样配置硬件设备。新手经常会被这些问题困扰,因此,他们经常是要么加载了过多的程序,要么没有加载够,到后来才发现计算机并没有按照他们预想的方式工作。
对新手来说,幸运的是,安装Linux还有更简便的方法。
特定用途的Linux发行版
Linux发行版的一个新子群已经出现了。它们通常基于某个主流发行版,但仅包含主流发行版中一小部分用于某种特定用途的应用程序。
除了提供特定软件外(比如仅为商业用户提供的办公应用),定制化发行版还尝试通过自动检测和自动配置常见硬件来帮助新手安装Linux。这使得Linux的安装过程轻松愉悦了许多。
表5列出了一些特定用途的Linux发行版以及它们的专长。
这只是特定用途的Linux发行版中的一小部分而已。像这样的发行版足有上百款,而且在互联网上还不断有新的成员加入。不管你的专长是什么,你都能找到一款为你量身定做的Linux发行版。
表5 特定用途的Linux发行版
许多特定用途的Linux发行版都是基于Debian Linux。它们使用和Debian一样的安装文件,但仅打包了完整Debian系统中的一小部分。
2.Linux LiveCD
Linux世界中一个相对较新的现象是可引导的Linux CD发行版的出现。它无需安装就可以看到Linux系统是什么样的。多数现代PC都能从CD启动,而不是必须从标准硬盘启动。基于这点,一些Linux发行版创建了含有Linux样本系统(称为Linux LiveCD)的可引导CD。由于单张CD容量的限制,这个样本并非完整的Linux系统,不过令人惊喜的是,你可以自己加入各种软件。结果就是,你可以通过CD来启动PC,并且无需在硬盘安装任何东西就能运行Linux发行版。
这是一个不弄乱PC就体验各种Linux发行版的绝妙方法。只需插入CD就能引导了!所有的Linux软件都将直接从CD上运行。你可以从互联网上下载各种Linux LiveCD,刻录,然后体验。
表6列出了一些可用的流行Linux LiveCD。
表6 Linux LiveCD发行版
你能在这张表中看到熟悉的面孔。许多特定用途的Linux发行版都有对应的Linux LiveCD版本。一些Linux LiveCD发行版,比如Ubuntu,允许直接从LiveCD安装整个发行版。这使你可以从CD引导启动,先体验一下此Linux发行版,如果喜欢的话,再把它安装到硬盘上。这个功能极其方便易用。
就像所有美好的事物一样,Linux LiveCD也有一些不足之处。由于要从CD上访问所有东西,应用程序会运行得更慢,而如果再搭配上陈旧缓慢的PC和光驱,那更是慢上加慢。还有,由于无法向CD写入数据,对Linux系统作的任何修改都会在重启后失效。
不过,有一些Linux LiveCD的改进帮助解决了上述一些问题。这些改进包括:
能将CD上的Linux系统文件复制到内存中;能将系统文件复制到硬盘上;能在U盘上存储系统设置;能在U盘上存储用户设置。一些Linux LiveCD,如Puppy Linux,只包含最少数量的Linux系统文件。当CD引导启动时,LiveCD的启动脚本直接把它们复制到内存中。这允许在Linux启动后立即把CD从光驱中取走。这不仅提高了程序运行速度(因为程序从内存中运行时更快),而且还空出了CD光驱,供你用Puppy Linux自带的软件转录音频CD或播放视频DVD。
其他Linux LiveCD用另外的方法,同样允许你在启动后将CD从光驱中拿走。这种方法是将核心Linux文件作为一个文件复制到Windows硬盘上。待CD启动后,系统会寻找那个文件,并从中读取系统文件。dyne:bolic Linux LiveCD采用的就是这种技术,我们称之为对接。当然,你必须在从CD引导启动之前把系统文件复制到硬盘里。
一种非常流行的技术就是用常见的U盘(也称为闪存或闪盘)来存储Linux LiveCD会话数据。几乎每个Linux LiveCD都能识别插入的U盘(即使是在Windows下格式化的)并从U盘上读写文件。这允许你启动Linux LiveCD,使用Linux应用来创建文件,再将这些文件存储在U盘上,然后用Windows应用(或者在另外一台电脑上)访问这些文件。这该有多酷!
Linux 的由来
本文探讨了Linux系统及其基本工作原理。Linux内核是系统的核心,控制着内存、程序和硬件之间的交互。GNU工具也是Linux系统中的一个重要部分。我们还讨论了Linux系统中的最后一个组件:Linux桌面环境。随着时间推移,一切都发生了改变。现今的Linux可以支持多种图形化桌面环境。
本文还探讨了各种Linux发行版。Linux发行版就是把Linux系统的各个不同部分汇集起来组成一个易于安装的包。Linux发行版有囊括各种软件的成熟的Linux发行版,也有只包含针对某种特定功能软件包的特定用途发行版。Linux LiveCD则是一种无需将Linux安装到硬盘就能体验Linux的发行版。
后面我们就可以学习启动命令行和shell脚本编程了。可以跟着下面这两本书继续学习。
——本文内容节选自《跟阿铭学Linux》 《Linux命令行与shell脚本编程大全(第3版)》
本书是一本入门级的Linux学习教材,适合初学者阅读。即使是零基础的人,只要能够坚持把所有章都学完,也一定会受益匪浅。对于有工作经验的人,它也是一本详尽的工具书,助你解决工作当中的一些需求和难题。
书中内容由浅入深,内容精湛,案例丰富,通俗易懂!书中分两部分:前面为基础知识,内容涉及Linux的安装、使用远程登录工具登录Linux、文件和目录管理、磁盘管理、Vim、压缩和解压缩文件和目录、安装和卸载软件包等;后面为进阶知识,内容包括正则表达式、shell脚本、日常管理操作、LAMP环境、LNMP环境、MySQL常用的操作、NFS、FTP、Tomcat、Linux集群和Zabbix监控等。
圣经级参考书最新版,亚马逊书店五星推荐轻松全面掌握Linux命令行和shell脚本编程细节,实现Linux系统任务自动化这是一本关于Linux命令行与shell脚本编程的全方位教程,主要包括四大部分:Linux命令行,shell脚本编程基础,高级shell脚本编程,如何创建实用的shell脚本。本书针对Linux系统的最新特性进行了全面更新,不仅涵盖了详尽的动手教程和现实世界中的实用信息,还提供了与所学内容相关的参考信息和背景资料。通过本书的学习,你将轻松写出自己的shell脚本。
Linux系统
不管是在生活还是工作中,每个人都会逐渐养成一些小习惯。坏习惯一旦形成就很难改正,所以阿铭在这里先给出一些建议,请大家务必引起重视。
要习惯使用命令行操作系统必须要有图形界面,但早期的Linux并不完全支持图形界面,操作起来也没有Windows系统流畅,这也是Windows系统比Linux系统流行的原因之一。在图形界面下进行操作,既直观又简洁,但Linux的图形界面存在许多小问题,所以未被大多数PC机用户认可。
个人电脑的操作系统大多为Windows,其次为macOS,服务器要托管在IDC机房,通过远程去管理。开启图形界面不仅耗费资源,而且远程管理时还会有网络带宽的额外开销,因此Linux在服务器领域比较流行。
目前,也有不少朋友喜欢使用Linux的图形界面及支持图形界面的远程连接工具来管理Linux。鉴于以上使用图形界面的几个弊端,阿铭建议你不要轻易使用Linux的图形界面。
命令行是Linux系统正常运行的核心,也是专业Linux系统工程师必须掌握的技能,所以我们要习惯使用命令行。
2. 操作要严谨
在学习Linux之前,阿铭要问你一个问题:“你有没有误删某个重要文件的经历?”我想大多数读者朋友都会说“有”。任何人都会有疏忽的时候,作为一名Linux系统管理员,你每天都要和服务器打交道,养成严谨认真的习惯是必要的。
举例来说,服务器上的数据非常重要,你每天都必须备份,一旦数据损坏,你还可以使用备份的数据。阿铭曾经在多年前犯过这样的错误:没有为数据库上的数据制定备份计划。结果有一天,服务器磁盘损坏,数据不能恢复,以致丢失了大量的客户信息,造成了非常严重的后果。常言道:“吃一堑,长一智。”阿铭在这里提醒大家,请务必养成备份数据的好习惯。
数据备份固然重要,但也经不起一次次的操作失误。在学习Linux命令行的过程中,你输入命令的速度会越来越快,效率也会越来越高。但与此同时,你也有可能输入了错误的命令而不自知。比如,你要删除某个目录,却把要删除目录的名字写错了,结果可想而知。所以,阿铭建议你输入命令的速度不要太快,看准了再按回车。另外,对于重要的配置文件,在修改前一定要进行备份,这样一旦出现问题,我们便可以将文件快速还原。
3. 安全不可忽视
你有没有这样的习惯?
各个网站的账号和密码都一样;密码中包含自己的名字或者生日日期;密码设置得非常简单,采用纯数字形式或者包含一些常用词汇(如love、china等);将密码存在一个文档里,并保存到U盘里随身携带;密码使用了好多年,一直没有更改过。以上所有的习惯,不管你符合几条,都说明你的安全意识还不够,需要加强。
我们要登录服务器,必然要使用登录密码,那么这个密码如何设置、如何保存都是有讲究的。首先,密码设置得要复杂,至少要8个字符,包含数字和大小写字母,而且不能有规律性。首先,密码中不能包含你的名字或者生日日期。其次,你不能在所有的网站都使用同一个账号和密码。近几年有多起账号泄露事件,如果你在各大网站设置的密码都一样,一旦你在某一网站上的密码泄露了,那就相当于你所有的密码都泄露了。再次,密码最好不要长期沿用,建议你每隔1~3个月修改一次密码。最后,阿铭必须提醒你,密码不能保存在一个文档里,更不能把存有密码的文档存到可移动存储设备里。因为可移动存储设备有可能遗失,遗失之后,我们设置的密码也就遗失了。
说完了密码,阿铭接着来说一说在日常办公室中的安全习惯。你的办公电脑有设置密码吗?当你离开工位时,电脑有没有锁屏呢?阿铭觉得大公司应该都有规定:员工的电脑一定要设置好密码,并且员工在离开工位时要把电脑锁屏。这是为了防止一些重要信息被他人获取。你也许会说同事之间都相互信任,没有关系,但万一有人图谋不轨呢?任何意外都有可能发生。最后阿铭送你一句话:“小心驶得万年船。”
关于保存密码,阿铭在这里给大家分享一个小经验。阿铭的各大平台(淘宝、京东、阿里云、印象笔记、QQ、微信、支付宝等)的密码是不一样的,而且密码复杂度也是非常高的。但是这么多密码如何记住?这就需要借助一款工具“KeePass”来记忆了。KeePass是一款开源免费的软件,历史悠久,所以大家不用担心它的安全性。作为管理服务器的你来说,更应该注意公司服务器权限的安全性!
Linux发行版
好习惯养成了,剩下的就是如何学习了。好的学习方法和学习技巧可以大大提高学习效率。每个人都经历过中考和高考,阿铭相信你已经找到了一套最适合自己的学习方法。
稳中求进有的朋友读书喜欢一蹴而就,恨不得几天就读完,这样即使读完了整本书,也学不到什么。咱们这本书不能和故事书相比,故事书可以一口气看完,但是技术方面的书,光看一遍可不行,我们的目的是要学会和掌握这项技能。
阿铭建议你每章内容都花2~3天的时间来学习。虽然每一章的内容不多,但其中的小案例需要多练习才能够真正掌握。正所谓“熟能生巧”,这就好比学唱一首歌,听一遍你只知道它是否好听,听两三遍你也许能熟悉它的旋律、记住它的歌名,但如果要学会唱这首歌,恐怕至少需要听十几遍吧。
2. 善于总结文档
“好记性不如烂笔头”,这是我们上学时老师经常跟我们说的一句话。我们的大脑不是计算机,不能让信息永久保存,所以需要大家善于记笔记,把一些你觉得不太容易记住的内容记在小本子上,方便日后复习。
在学习中,我们要善于总结文档,即使工作之后也不要放弃,工作的过程也是学习的过程。遇到问题时,我们通过查资料或者请教他人顺利解决了问题,那么你有必要记下解决这类问题的方法,以便日后举一反三。阿铭在2009年就建立了一个论坛(阿铭Linux - 猿课),用于记录日常工作中遇到的问题、学习笔记等各类文档。日子久了,文档积累得越来越多,多年后再回头看看自己早期记录的文档,何尝不是一件奇妙的事情!我建议大家申请一个免费的博客,来记录你的学习历程。
3. 复习很关键
记完笔记并不等于掌握了知识,要想完全掌握必须经常复习。比如说,你的11位手机号能记住吗?你的QQ号也很长,能记住吗?银行账号呢?身份证号呢?阿铭不知道这些号码你是否能全部记住,但阿铭可以。身份证号码18位,够长吧,相信99%的朋友不能一下子就记住,那为什么我们能记住呢?因为我们在反复使用它。再比如,小时候老师教我们写汉字,对于复杂的汉字,咱们写一两遍是记不住的,只有多写几遍才能完全记住。同样的道理,Linux的命令虽然多,但如果每天都用的话,不出一周,你一定可以记住它们。
4. 举一反三
在后面,阿铭会针对性地给出几个小案例,你不必掌握这些小案例,因为就算你背熟书中的所有案例,也不代表你就多么厉害了,阿铭只要求你学会一种技能——举一反三。
记得高三时,数学老师给我们买了好几套模拟题,这些题和高考题很像,因为它们考查的知识点是一致的。我们做这些模拟题的目的不是为了把题和答案记住,而是要掌握这道题考查的知识点。只要掌握了这些知识点,再难的题我们也都可以迎刃而解。
同样,阿铭在书中给出这些小案例也是为了告诉大家某个命令或者某个选项的用法及作用,所以,你需要掌握的并不是小案例本身,而是小案例背后的知识。这要求你会自己创造案例,多做几个相似的小案例,做到举一反三,你便能轻松地掌握相关的知识点。
本文主要介绍了关于什么是linux系统(Linux快速简易入门)的相关养殖或种植技术,生活常识栏目还介绍了该行业生产经营方式及经营管理,关注生活常识发展动向,注重系统性、科学性、实用性和先进性,内容全面新颖、重点突出、通俗易懂,全面给您讲解生活常识技术怎么管理的要点,是您生活常识致富的点金石。
以上文章来自互联网,不代表本人立场,如需删除,请注明该网址:http://23.234.50.4:8411/article/1480117.html