【Linux入门指南:掌握开源操作系统的基础知识】(一)

本文涉及的产品
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: 【Linux入门指南:掌握开源操作系统的基础知识】

本章概要


  • 1. 认识 Linux, 了解 Linux 的相关背景
  • 2. 掌握使用远程终端工具 xshell 登陆 Linux 服务器
  • 3. Linux下基本指令
  • 4. shell命令以及运行原理


1. Linux 背景介绍


本门课程是学习Linux系统编程,你可能要问Linux从哪里来?它是怎么发展的?在这里简要介绍Linux的编辑文章发展史。要说 Linux,还得从UNIX说起。


1.1UNIX发展的历史


  • 1968年,一些来自通用电器公司、贝尔实验室和麻省理工学院的研究人员开发了一个名叫Multics的特殊操作系统。Multics在多任务文件管理和用户连接中综合了许多新概念。
  • 1969-1970年,AT&T的贝尔实验室研究人员Ken Tompson和Dennis Ritchie,在采用很多Multics特点的基础上开发了UINX系统。它运行在小型机上,满足了系统对科研环境的要求。从产生开始,UNIX就是一个有价值的、高效的、多用户和多任务的操作系统。
  • UNIX从满足个人的设计需求开始,逐步成长为由许多不同开发商所支持的标准软件产品。
  • 第一个UNIX版本是免费给许多知名大学的计算机系使用的。
  • 1972年,贝尔实验室开始发放商业版本,并且给不同的用户授权使用这个系统,使用者之一是加州大学伯克莱分校的计算机系。伯克莱给系统增加了许多新的特点,后来成为了标准。
  • 1975年伯克莱由下属部门BSD发行了自己的UNIX版本。UNIX的BSD版本成为AT&T贝尔实验室版本的主要竞争者,而其它的独立开发出的UNIX版本也开始萌生。
  • 1980年微软公司开发了叫做Xenix的UNIX PC版本。AT&T发行了第一个商业版本。名叫System Ⅲ,后来被成为对商用软件产品良好支持的System Ⅴ所替代。
  • 同时UNIX的BSD版本不断发展,在70年代末期,BSD UNIX成为了国防部的高科技研究机构科研项目的基础。 其结果,伯克莱发行了一个叫做BSD Release 4.2的有效版本。
  • 它包括了高级的文件管理器和基于TCP/IP网络协议的网络特点。现在TCP/IP被Internet所使用。BSD Release 4.2被许多厂商所采用,例如SUN Microsystem。
  • UNIX不同版本的出现导致了UNIX标准的需要,软件开发商不知道他们的程序运行在哪些版本上比较合适。
  • 到80年代中期,两个竞争的标准出现了,一个是基于AT&T的UNIX版本,另一个是BSD版本。在今天的书店里你能发现分别适用于这两个版本的不同的UNIX的书,一些是System V,另一些集中在BSD UNIX。
  • AT&T建立了一个叫UNIX系统实验室的新组织,它的作用就是综合UNIX的不同版本,集中开发一个标准系统。
  • 1991年,UNIX综合实验室综合了System V Release3,SUN OS和Xenix的所有特点,发行了System V Release 4。为了与System V Release 4 竞争,一些其它公司,如IBM和惠普Open Software Foundation(OSF)去产 生自己的UNIX标准版本,继而出现了两个标准商业版本OSF版本和System Release 4。
  • 1993年,AT&T把它的UNIX转卖给Novell公司。UNIX系统实验室成为了Novell的UNIX系统小组的一部分。 Novell发行了基于System V Release 4的自己的UNIX版本UNIXWare,它可以和Novell公司的Netware系统相 联。SUN公司已经把System V Release 4 融进了它的SUN OS,发行了Solaris。两个相互竞争的UNIX使用的图形用户界面(一个叫Motif,另一个叫Openlook),已经合并为一个新的工作平台标准,叫做通用平台环 境(CDE)。


1.2Linux发展历史


  • 1991年10月5日,赫尔辛基大学的一名研究生Linus Benedict Torvalds在一个Usenet新闻组 (comp.os.minix)中宣布他编制出了一种类似UNIX的小操作系统,叫Linux。新的操作系统是受到另 一个UNIX的小操作系统——Minix的启发,该系统是由一名叫Andrew S Tanenbaum的教师开发的。读 者也许猜想所发布的这个系统应该是Linux的0.01版本,实际上不是这样。真正的Linux 0.01版本并没有 被发布,原因是0.01版本不实用。Linus仅仅在第一个Linux的FTP站点(ftp://nic.funet.fi)上提供过这 个版本的的源代码。
  • Torvalds于10月5日发布的这个Linux版本被称为0.02版,它能够运行GNU Bourne Again Shell(bash)和GNU 的C编译程序(gcc)以及为数不多的其它语言。Torvalds绝对没有想到他设想的一种能够针对高级业余爱好 者和黑客们的操作系统已经产生,这就是人们所称的Linux。
  • Linux发布时的版本是0.02,后来又有0.03版,然后又跳到0.10版。因为世界各地越来越多的程序员都开始开 发Linux,它已经达到0.95版。这就意味着正是公布1.0版本的时间已经为期不远了。正式的1.0版本是在1994 年公布的


1.3开源


  • Linux是一种自由和开放源代码的类UNIX操作系统,该操作系统的内核由林纳斯托瓦兹在1991年首次发布,之后,在加上用户空间的应用程序之后,就成为了Linux操作系统。严格来讲,Linux只是操作系统 内核本身,但通常采用“Linux内核”来表达该意思。而Linux则常用来指基于Linux内核的完整操作系统, 它包括GUI组件和许多其他实用工具。
  • GNU通用公共许可协议(GNU General Public License,简称GNU GPL或GPL),是一个广泛被使用的自由 软件许可协议条款,最初由理查德斯托曼为GNU计划而撰写,GPL给予了计算机程序自由软件的定义, 任何 基于GPL软件开发衍生的产品在发布时必须采用GPL许可证方式,且必须公开源代码。
  • Linux是自由软件和开放源代码软件发展中最著名的例子。只要遵循GNU通用公共许可证,任何个人和机构都 可以自由地使用Linux的所有底层源代码,也可以自由地修改和再发布。随着Linux操作系统飞速发展,各种 集成在Linux上的开源软件和实用工具也得到了应用和普及,因此,Linux也成为了开源软件的代名词。


1.4官网


kernel官网


1.5企业应用现状


  • Linux在服务器领域的发展

       随着开源软件在世界范围内影响力日益增强,Linux服务器操作系统在整个服务器操作系统市场格局中 占据了越来越多的市场份额,已经形成了大规模市场应用的局面。并且保持着快速的增长率。尤其在政 府、金融、农业、交通、电信等国家关键领域。此外,考虑到Linux的快速成长性以及国家相关政策的 扶持力度,Linux服务器产品一定能够冲击更大的服务器市场。

       据权威部门统计,目前Linux在服务器领域已经占据75%的市场份额,同时,Linux在服务器市场的迅速 崛起,已经引起全球IT产业的高度关注,并以强劲的势头成为服务器操作系统领域中的中坚力量。


  • Linux在桌面领域的发展

       近年来,特别在国内市场,Linux桌面操作系统的发展趋势非常迅猛。国内如中标麒麟Linux、红旗 Linux、深度Linux等系统软件厂商都推出的Linux桌面操作系统,目前已经在政府、企业、OEM等领域 得到了广泛应用。另外SUSE、Ubuntu也相继推出了基于Linux的桌面系统,特别是Ubuntu Linux,已 经积累了大量社区用户。但是,从系统的整体功能、性能来看,Linux桌面系统与Windows系列相比还 有一定的差距,主要表现在系统易用性、系统管理、软硬件兼容性、软件的丰富程度等方面。


  • Linux在移动嵌入式领域的发展

       Linux的低成本、强大的定制功能以及良好的移植性能,使得Linux在嵌入式系统方面也得到广泛应用, 目前Linux以广泛应用于手机、平板电脑、路由器、电视和电子游戏机等领域。在移动设备上广泛使用 的Android操作系统就是创建在Linux内核之上的。目前,Android已经成为全球最流行的智能手机操作 系统,据2015年权威部门最新统计,Android操作系统的全球市场份额已达84.6%。

       此外,思科在网络防火墙和路由器也使用了定制的Linux,阿里云也开发了一套基于Linux的操作系 统“YunOS”,可用于智能手机、平板电脑和网络电视;常见的数字视频录像机、舞台灯光控制系统等都 在逐渐采用定制版本的Linux来实现,而这一切均归功与Linux与开源的力量。


  • Linux在云计算/大数据领域的发展

       互联网产业的迅猛发展,促使云计算、大数据产业的形成并快速发展,云计算、大数据作为一个基于开 源软件的平台,Linux占据了核心优势;据Linux基金会的研究,86%的企业已经使用Linux操作系统进 行云计算、大数据平台的构建,目前,Linux已开始取代Unix成为最受青睐的云计算、大数据平台操作 系统。


1.6发行版本


  • Debian:Debian运行起来极其稳定,这使得它非常适合用于服务器。 debian这款操作系统无疑并不适合新手用 户,而是适合系统管理员和高级用户。
  • Ubuntu:Ubuntu是Debian的一款衍生版,也是当今最受欢迎的免费操作系统。Ubuntu侧重于它在这个市场的 应用,在服务器、云计算、甚至一些运行Ubuntu Linux的移动设备上很常见。Ubuntu是新手用户肯定 爱不释手的一款操作系统。
  • 红帽企业级Linux:这是第一款面向商业市场的Linux发行版。它有服务器版本,支持众多处理器架构,包括x86和 x86_64。红帽公司通过课程红帽认证系统管理员/红帽认证工程师(RHCSA/RHCE),对系统管理员进 行培训和认证。
  • CentOS:CentOS是一款企业级Linux发行版,它使用红帽企业级Linux中的免费源代码重新构建而成。这款重构 版完全去掉了注册商标以及Binary程序包方面一个非常细微的变化。有些人不想支付一大笔钱,又能领 略红帽企业级Linux;对他们来说,CentOS值得一试。此外,CentOS的外观和行为似乎与母发行版红 帽企业级Linux如出一辙。 CentOS使用YUM来管理软件包。
  • Fedora:小巧的Fedora适合那些人:想尝试最先进的技术,等不及程序的稳定版出来。其实,Fedora就是红帽 公司的一个测试平台;产品在成为企业级发行版之前,在该平台上进行开发和测试。Fedora是一款非常 好的发行版,有庞大的用户论坛,软件库中还有为数不少的软件包。
  • Kali Linux:Kali Linux是Debian的一款衍生版。Kali旨在用于渗透测试。Kali的前身是Backtrack。用于Debian的所 有Binary软件包都可以安装到Kali Linux上,而Kali的魅力或威力就来自于此。此外,支持Debian的用 户论坛为Kali加分不少。Kali随带许多的渗透测试工具,无论是Wifi、数据库还是其他任何工具,都设计 成立马可以使用。Kali使用APT来管理软件包。毫无疑问,Kali Linux是一款渗透测试工具,或者是文明黑客青睐的操作系统。


1.7os概念,定位



2. 掌握使用远程终端工具 xshell 登陆 Linux 服务器


查看 Linux 主机 ip


在终端下敲 ifconfig 指令, 查看到 ip 地址.


使用 XShell 登陆主机


ssh root@[ip]


ip 为刚才看到的 ifconfig 结果.

如果网络畅通, 将会提示输入用户名密码. 输入即可正确登陆


XShell 下的复制粘贴


复制: ctrl + insert (有些电脑 insert 需要配合 fn 来按)

粘贴:shift + insert

全屏:alt+enter

注意:ctrl + c / ctrl + v 是不行的.


3.Linux下基本指令


前言:我们先快速来学几个指令


1.知道当前系统登陆的用户


2.查看当前有多少用户在登录当前系统


3.查看当前所处的目录


4.查看当前/root目录下有哪些文件


5.清屏


01. ls 指令


语法: ls [选项][目录或文件]


功能:对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。

首先提出一个问题:如果在Windows上新建一个空文件夹,会占用磁盘/固态硬盘的存储空间嘛?


上面的文件大小显示0KB,是不是说明新建的文件不占磁盘大小?


当您在Windows上新建一个空文件夹时,该文件夹是会占用一小部分磁盘空间,这个空间主要用于存储以下内容:

  1. 目录结构信息:操作系统需要记录文件夹的名称、位置、权限等信息,这些信息会占用一些磁盘空间。
  2. 文件系统元数据:文件夹的元数据包括创建时间、修改时间、访问时间等属性,这些属性需要一些存储空间来存储。
  3. 文件索引信息:操作系统会维护一个文件索引,以便快速查找文件。这个索引也会占用一些空间,尽管对于一个空文件夹来说,这个索引非常小。

总结:文件 = 文件内容 + 文件属性,文件全部都是二级制,都要被存储,文件操作的本质是对文件内容/文件属性进行相关操作。


  • -a 列出目录下的所有文件,包括以 . 开头的隐含文件。
  • -d 将目录象文件一样显示,而不是显示其下的文件。 如:ls –d 指定目录
  • -i 输出文件的 i 节点的索引信息。 如 ls –ai 指定文件
  • -k 以 k 字节的形式表示文件的大小。ls –alk 指定文件
  • -l 列出文件的详细属性信息。
  • -n 用数字的 UID,GID 代替名称。 (介绍 UID, GID)
  • -F 在每个文件名后附上一个字符以说明该文件的类型,“*”表示可执行的普通文件;“/”表示目录;“@”表 示符号链接;“|”表示FIFOs;“=”表示套接字(sockets)。(目录类型识别)
  • -r 对目录反向排序。
  • -t 以时间排序。
  • -s 在l文件名后输出该文件的大小。(大小排序,如何找到目录下最大的文件)
  • -R 列出所有子目录下的文件。(递归)
  • -1 一行只输出一个文件。


这里介绍一下ls -a


隐藏文件:在Linux中隐藏文件以. 开头的文件。


ls -l -a(ls -la) 显示文件和隐藏文件的详细属性信息。


那Windows下面有隐藏文件嘛?


很明显,上面的.vs就是隐藏文件。还有一点,这里的ls -l 等价于ll


02. pwd命令


语法: pwd


功能:显示用户当前所在的目录


常用选项:


Windows怎么显示用户当前所在的目录的呢?下面就是Windows下的pwd。


03. cd 指令


Linux系统中,磁盘上的文件和目录被组成一棵目录树,每个节点都是目录或文件。叶子节点,一定是普通文件或者是空目录,非叶子节点一定是目录。访问一个文件的本质需要先找到它,找到文件的本质:就是在一颗多叉树中进行节点的查找。几乎所有的操作系统,文件夹或者目录都是树状的。


查看树状目录指令 : tree . 但是该指令需要安装:yum install -y tree



在Windows下,由于具有图像化界面,我们访问某个文件直接可以找到目录,然后双击去寻找自己想要找的文件。而在Linux下,我们就要使用cd指令。


语法:cd 目录名


功能:改变工作目录。将当前工作目录改变到指定的目录下。


【Linux入门指南:掌握开源操作系统的基础知识】(二):https://developer.aliyun.com/article/1425275

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
22天前
|
算法 Linux 调度
深入理解Linux操作系统的进程管理
本文旨在探讨Linux操作系统中的进程管理机制,包括进程的创建、执行、调度和终止等环节。通过对Linux内核中相关模块的分析,揭示其高效的进程管理策略,为开发者提供优化程序性能和资源利用率的参考。
49 1
|
14天前
|
安全 Anolis
龙蜥社区落地开源生态发展合作倡议,构建开放兼容的操作系统生态
通过共同努力,三个社区基于服务器操作系统场景,在操作系统内核等关键共性技术链统一方面达成了一致。
|
23天前
|
安全 Linux 数据安全/隐私保护
深入Linux操作系统:文件系统和权限管理
在数字世界的海洋中,操作系统是连接用户与硬件的桥梁,而Linux作为其中的佼佼者,其文件系统和权限管理则是这座桥梁上不可或缺的结构。本文将带你探索Linux的文件系统结构,理解文件权限的重要性,并通过实际案例揭示如何有效地管理和控制这些权限。我们将一起航行在Linux的命令行海洋中,解锁文件系统的奥秘,并学习如何保护你的数据免受不必要的访问。
|
24天前
|
搜索推荐 Linux
深入理解Linux操作系统的启动过程
本文旨在揭示Linux操作系统从开机到完全启动的神秘面纱,通过逐步解析BIOS、引导加载程序、内核初始化等关键步骤,帮助读者建立对Linux启动流程的清晰认识。我们将探讨如何自定义和优化这一过程,以实现更高效、更稳定的系统运行。
|
22天前
|
存储 缓存 网络协议
Linux操作系统的内核优化与性能调优####
本文深入探讨了Linux操作系统内核的优化策略与性能调优方法,旨在为系统管理员和高级用户提供一套实用的指南。通过分析内核参数调整、文件系统选择、内存管理及网络配置等关键方面,本文揭示了如何有效提升Linux系统的稳定性和运行效率。不同于常规摘要仅概述内容的做法,本摘要直接指出文章的核心价值——提供具体可行的优化措施,助力读者实现系统性能的飞跃。 ####
|
23天前
|
缓存 监控 网络协议
Linux操作系统的内核优化与实践####
本文旨在探讨Linux操作系统内核的优化策略与实际应用案例,深入分析内核参数调优、编译选项配置及实时性能监控的方法。通过具体实例讲解如何根据不同应用场景调整内核设置,以提升系统性能和稳定性,为系统管理员和技术爱好者提供实用的优化指南。 ####
|
7月前
|
Ubuntu Linux Shell
【Linux操作系统】探秘Linux奥秘:shell 编程的解密与实战
【Linux操作系统】探秘Linux奥秘:shell 编程的解密与实战
117 0
|
7月前
|
Ubuntu Linux Shell
【Linux操作系统】探秘Linux奥秘:用户、组、密码及权限管理的解密与实战
【Linux操作系统】探秘Linux奥秘:用户、组、密码及权限管理的解密与实战
151 0
|
7月前
|
Ubuntu Unix Linux
【Linux操作系统】探秘Linux奥秘:Linux 操作系统的解密与实战
【Linux操作系统】探秘Linux奥秘:Linux 操作系统的解密与实战
105 0
|
7月前
|
运维 Ubuntu Linux
【Linux操作系统】探秘Linux奥秘:日志管理的解密与实战
【Linux操作系统】探秘Linux奥秘:日志管理的解密与实战
88 0