❤️新版Linux零基础快速入门到精通——第一部分❤️

❤️新版Linux零基础快速入门到精通------第一部分❤️

  • 非科班的我!Ta!还是来了~~~
  • [1. 来认识一下Linux吧!](#1. 来认识一下Linux吧!)
    • [1.1 操作系统概述](#1.1 操作系统概述)
      • [1.1.1 操作系统概述](#1.1.1 操作系统概述)
      • [1.1.2 操作系统的发展史](#1.1.2 操作系统的发展史)
        • [1.1.2.1 Unix](#1.1.2.1 Unix)
        • [1.1.2.2 Minix](#1.1.2.2 Minix)
        • [1.1.2.3 Linux](#1.1.2.3 Linux)
      • [1.1.3 操作系统的发展](#1.1.3 操作系统的发展)
    • [1.2 Linux初识](#1.2 Linux初识)
      • [1.2.1 Linux内核版本](#1.2.1 Linux内核版本)
      • [1.2.2 Linux发行版本](#1.2.2 Linux发行版本)
    • [1.3 虚拟机介绍](#1.3 虚拟机介绍)
      • [1.3.1 虚拟机基本概念](#1.3.1 虚拟机基本概念)
      • [1.3.2 为什么使用虚拟机](#1.3.2 为什么使用虚拟机)
    • [1.4 构建虚拟机环境](#1.4 构建虚拟机环境)
    • [1.5 远程连接Linux系统](#1.5 远程连接Linux系统)
      • [1.5.1 掌握操作系统的图形化、命令行2种操作模式](#1.5.1 掌握操作系统的图形化、命令行2种操作模式)
      • [1.5.2 FinalShell SSH工具,服务器管理,远程桌面加速软件](#1.5.2 FinalShell SSH工具,服务器管理,远程桌面加速软件)
      • [1.5.3 掌握使用FinalShell软件连接Linux操作系统](#1.5.3 掌握使用FinalShell软件连接Linux操作系统)
    • [1.6 WSL(Windows Subsystem for Linux)](#1.6 WSL(Windows Subsystem for Linux))
    • [1.7 虚拟机快照](#1.7 虚拟机快照)
      • [1.7.1 创建虚拟机快照](#1.7.1 创建虚拟机快照)
      • [1.7.2 管理虚拟机快照](#1.7.2 管理虚拟机快照)
    • [1.8 虚拟机克隆](#1.8 虚拟机克隆)
      • [1.8.1 创建克隆虚拟机](#1.8.1 创建克隆虚拟机)


非科班的我!Ta!还是来了~~~

Linux一开始就不是为桌面用户准备的,林纳斯自己本身就是一个Unix极客,他设计Linux就参考了Unix的设计哲学,也就是说Linux从一开始就是为专业用户设计的。 不管是Unix操作系统也好,还是Linux操作系统也好,本质上都是为了提高生产效率。Linux的设计者林纳斯,自己就是一个Unix极客,他是不满意Unix当时的版权问题,于是他吸收了很多Unix的优点,在这个基础上设计了Linux操作系统。Linux的设计哲学,让Linux很多场景下都需要命令行操作,并且Linux设计者并不是很鼓励大家使用桌面,或者更合理的说法是,Linux的设计初衷是即使你要用一个桌面,也希望你能掌握好各种命令行操作,Vim/Emacs、GCC等各种软件,都更加鼓励大家用命令行操作

Linux诞生的时机吧,运气也确实不太好,我们且不说苹果的Mac OS X,Linux在1991年的时候由林纳斯开发,内核开发出来之后,1991年10月5日,林纳斯将Linux V0.01版内核源代码释放出来供众多的开发者进行完善,一直到93年才有10万用户,这些用户也基本都是程序员,96年的时候也才350万用户。这个发展其实是有点太慢了,跟Windows、MacOS动辄几千万、上亿的用户没办法比。言归正传,Linux只是一门基本计算机技能,它对学习者的背景、知识结构、年龄都没啥要求,只要坚持不懈的进步,Linux没啥学不会的。当然在学习中总会遇到瓶颈,这个时候就需要自我调节、坚持下去。学习Linux有大量的东西需要记忆,如果你懒得背、懒得学习、懒得去搞清 ,那当然会觉得难学了。还是那句话,脚踏实地,总会有所收获。

❤️积极的学习心态意味着好的开始❤️

"Linux这个操作系统难用吗?难!一片黑漆漆的命令行窗口闪烁着谜一样的光标,本来英语就是老大难,现在竟然让我背那么多命令?""Linux这个操作系统难吗?简单,纯命令行设计、个性化强、工作效率高、黑漆漆的窗口天生自带神秘感。"

1. 来认识一下Linux吧!

1.1 操作系统概述

1.1.1 操作系统概述

  1. 计算机由哪两个主要部分组成?

    • 硬件:计算机系统中由电子,机械和光电元件等组成的各种物理装置的总称。

    • 软件:是用户和计算机硬件之间的接口和桥梁,用户通过软件与计算机进行交流。

  2. 操作系统是什么?有什么作用?

    • 操作系统是软件的一类。
    • 主要作用是协助用户调度硬件工作,充当用户和计算机硬件之间的桥梁
  3. 常见的操作系统有哪些?

    • PC端:Windows Linux MacOS
    • 移动端:Android、IOS、鸿蒙系统

1.1.2 操作系统的发展史

1.1.2.1 Unix
  • 💻1965年之前,电脑只有军事或者学院的研究机构碰的起,当时大型主机至多能提供30台终端(30个键盘、显示器)的连接。
  • 💻1965年左后由贝尔实验室、麻省理工学院 以及 通用电气共同发起了Multics项目,想让大型主机支持300台终端
  • 💻1969年前后这个项目进度缓慢,资金短缺,贝尔实验室退出了研究
  • 💻1969年从这个项目中退出的Ken Thompson当时在实验室无聊时,为了让一台空闲的电脑上能够运行"星际旅行"游行,在8月份左右趁着其妻子探亲的时间,用了1个月的时间编写出了 Unix操作系统的原型
  • 💻1970年,美国贝尔实验室的 Ken Thompson,以 BCPL语言 为基础,设计出很简单且很接近硬件的 B语言(取BCPL的首字母),并且他用B语言写了第一个UNIX操作系统
    因为B语言的跨平台性较差,为了能够在其他的电脑上也能够运行这个非常棒的Unix操作系统,Dennis Ritchie和Ken Thompson 从B语言的基础上准备研究一个更好的语言
  • 💻1972年,美国贝尔实验室的 Dennis Ritchie在B语言的基础上最终设计出了一种新的语言,他取了BCPL的第二个字母作为这种语言的名字,这就是C语言
  • 💻1973年初,C语言的主体完成。Thompson和Ritchie迫不及待地开始用它完全重写了现在大名鼎鼎的Unix操作系统
1.1.2.2 Minix

因为AT&T(通用电气)的政策改变,在Version 7 Unix推出之后,发布新的使用条款,将UNIX源代码私有化,在大学中不再能使用UNIX源代码。Andrew S. Tanenbaum(塔能鲍姆)教授为了能在课堂上教授学生操作系统运作的实务细节,决定在不使用任何AT&T的源代码前提下,自行开发与UNIX兼容的操作系统,以避免版权上的争议。他以小型UNIX(mini-UNIX)之意,将它称为MINIX

1.1.2.3 Linux

因为Minix只是教学使用,因此功能并不强,因此Torvalds利用GNU的bash当做开发环境,gcc当做编译工具编写了Linux内核-v0.02,但是一开始Linux并不能兼容Unix,即Unix上跑的应用程序不能在Linux上跑,即应用程序与内核之间的接口不一致,因为Unix是遵循POSIX规范的,因此Torvalds修改了Linux,并遵循POSIX(Portable Operating System Interface,他规范了应用程序与内核的接口规范); 一开始Linux只适用于386,后来经过全世界的网友的帮助,最终能够兼容多种硬件

1.1.3 操作系统的发展


Minix没有火起来的原因

Minix的创始人说,MINIX 3没有统治世界是源于他在1992年犯下的一个错误,当时他认为BSD必然会一统天下,因为它是一个更稳定和更成熟的系统,其它操作系统难以与之竞争。因此他的MINIX的重心集中在教育上。四名BSD开发者已经成立了一家公司销售BSD系统,他们甚至还有一个有趣的电话号码1-800-ITS-UNIX。然而他们正因为这个电话号码而惹火上身。美国电话电报公司因电话号码而提起诉讼。官司打了三年才解决。在此期间,BSD陷于停滞,而Linux则借此一飞冲天。他的错误在于没有意识官司竟然持续了如此长的时间,以及BSD会因此受到削弱。如果美国电话电报公司没有起诉,Linux永远不会流行起来,BSD将统治世界。

1.2 Linux初识

Linux系统的组成如下:

  • Linux系统内核
  • 系统级应用程序


  • 内核提供系统最核心的功能,如:调度CPU、调度内存、调度文件系统、调度网络通讯、调度IO等。
  • 系统级应用程序,可以理解为出厂自带程序,可供用户快速上手操作系统,如:文件管理器、任务管理器、图片查看、音乐播放等。

1.2.1 Linux内核版本

内核(kernel)是系统的心脏,是运行程序和管理像磁盘和打印机等硬件设备的核心程序,它提供了一个在裸设备与应用程序间的抽象层。

Linux内核版本又分为稳定版和开发版,两种版本是相互关联,相互循环:

  • 稳定版:具有工业级强度,可以广泛地应用和部署。新的稳定版相对于较旧的只是修正一些bug或加入一些新的驱动程序。
  • 开发版:由于要试验各种解决方案,所以变化很快。

可以看出,内核是Linux操作系统最核心的所在,系统级应用程序只是锦上添花。Linux内核是免费开源的,任何人都可以下载内核源码并查看且修改。可以通过: https://www.kernel.org 去下载Linux内核

1.2.2 Linux发行版本

Linux发行版 (也被叫做 GNU/Linux 发行版) 通常包含了包括桌面环境、办公套件、媒体播放器、数据库等应用软件。

目前市面上较知名的发行版有:Ubuntu、RedHat、CentOS、Debian、Fedora、SuSE、OpenSUSE、Arch Linux、SolusOS 等。

1.3 虚拟机介绍

虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。

比较通俗的回答(适合没有电脑基础的朋友)

虚拟机,顾名思义就是虚拟出来的电脑,这个虚拟出来的电脑和真实的电脑几乎完全一样,所不同的是他的硬盘是在一个文件中虚拟出来的,所以你可以随意修改虚拟机的设置,而不用担心对自己的电脑造成损失,因此可以用来做试验什么的,呵呵,差不多就是这样了,不知道我说的能明白不^_^,简单说就是一句话,虚拟出来的电脑,你干什么都行。

比较专业的回答(适合有一点电脑基础的朋友)

虚拟机是指运行在Windows或Linux计算机上的一个应用程序,这个应用程序"模拟"了一个基于x86的标准PC的环境。这个环境和普通的计算机一样,都有芯片组、CPU、内存、显卡、声卡、网卡、软驱、硬盘、光驱、串口、并口、USB控制器、SCSI控制器等设备,提供这个应用程序的"窗口"就是虚拟机的显示器。在一台电脑上将硬盘和内存的一部分拿出来虚拟出若干台机器,每台机器可以运行单独的操作系统而互不干扰,这些"新"机器各自拥有自己独立的CMOS、硬盘和操作系统,你可以像使用普通机器一样对它们进行分区、格式化、安装系统和应用软件等操作,还可以将这几个操作系统联成一个网络。在虚拟系统崩溃之后可直接删除不影响本机系统,同样本机系统崩溃后也不影响虚拟系统,可以下次重装后再加入以前做的虚拟系统。同时它也是唯一的能在 Windows和Linux主机平台上运行的虚拟计算机软件。虚拟机软件不需要重开机,就能在同一台电脑使用好几个OS,不但方便,而且安全。虚拟机在学习技术方面能够发挥很大的作用。

1.3.1 虚拟机基本概念

一般意义的虚拟机:通过虚拟机软件,你可以在一台物理计算机上模拟出一台或多台虚拟的计算机,这些虚拟机完全就像真正的计算机那样进行工作,例如你可以安装操作系统、安装应用程序、访问网络资源等等。对于你而言,它只是运行在你物理计算机上的一个应用程序,但是对于在虚拟机中运行的应用程序而言,它就像是在真正的计算机中进行工作。因此,当我在虚拟机中进行软件评测时,可能系统一样会崩溃,但是,崩溃的只是虚拟机上的操作系统,而不是物理计算机上的操作系统,并且,使用虚拟机的"Undo"(恢复)功能,我可以马上恢复虚拟机到安装软件之前的状态。

1.3.2 为什么使用虚拟机

  1. 演示环境,可以安装各种演示环境,便于做各种例子;
  2. 保证主机的快速运行,减少不必要的垃圾安装程序,偶尔使用的程序,或者测试用的程序在虚拟机上运行;
  3. 避免每次重新安装,银行等常用工具,不经常使用,而且要求保密比较好的,单独在一个环境下面运行;
  4. 想测试一下不熟悉的应用,在虚拟机中随便安装和彻底删除;
  5. 体验不同版本的操作系统,如Linux、Mac等。

终端虚拟化由于其带来的维护费用的大幅降低而受到追捧------如能降低占用空间,降低购买软硬件设备的成本,节省能源和更低的维护成本。它比实际存在的终端设备更加具备性价比优势。但这些并非是教育行业和厂商对虚拟化技术情有独钟的惟一原因。另一方面,我们一般较少提及,那就是:虚拟化技术能大幅提升系统的安全性。

1.4 构建虚拟机环境

安装虚拟机(VMware)保姆级教程(附安装包)

VMware Fusion

在Windows系统中使用的VMware WorkStation未提供Mac版,Mac系统可以使用VMware Fusion Pro

Fusion Pro和Workstation Pro均是VMware公司出品,完全兼容,体验基本是一致的。

下载地址: https://www.vmware.com/cn/ products/fusion.html

1.5 远程连接Linux系统

1.5.1 掌握操作系统的图形化、命令行2种操作模式

对于操作系统的使用,有2种使用形式:

  • 图形化页面使用操作系统

  • 以命令的形式使用操作系统

不论是Windows还是Linux亦或是MacOS系统,都是支持这两种使用形式。

  • 图形化:使用操作系统提供的图形化页面,以获得图形化反馈的形式去使用操作系统。
  • 命令行:使用操作系统提供的各类命令,以获得字符反馈的形式去使用操作系统。

使用命令行学习Linux系统

  • 尽管图形化是大多数人使用计算机的第一选择, 但是在Linux操作系统上,这个选择被反转了。
  • 无论是企业开发亦或是个人开发,使用Linux操作系统,多数都是使用的:命令行

这是因为:

  • Linux从诞生至今,在图形化页面的优化上,并未重点发力。所以Linux操作系统的图形化页面:不好用、不稳定。
  • 在开发中,使用命令行形式,效率更高,更加直观,并且资源占用低,程序运行更稳定

1.5.2 FinalShell SSH工具,服务器管理,远程桌面加速软件

本章转载了这位大佬:https://www.hostbuf.com/t/988.html

FinalShell是一体化的的服务器,网络管理软件,不仅是ssh客户端,还是功能强大的开发,运维工具,充分满足开发,运维需求

特色功能:

云端同步,免费海外服务器远程桌面加速,ssh加速,本地化命令输入框,支持自动补全,命令历史,自定义命令参数

java 复制代码
Windows X64版,下载地址:
http://www.hostbuf.com/downloads/finalshell_windows_x64.exe

macOS Arm版,支持m1,m2,m3 cpu,下载地址:
http://www.hostbuf.com/downloads/finalshell_macos_arm64.pkg

macOS X64版,支持旧款intel cpu,下载地址:
http://www.hostbuf.com/downloads/finalshell_macos_x64.pkg

Linux X64版,下载地址:
http://www.hostbuf.com/downloads/finalshell_linux_x64.deb

Linux Arm64版,下载地址:
http://www.hostbuf.com/downloads/finalshell_linux_arm64.deb

Linux LoongArch64龙芯版,下载地址:
http://www.hostbuf.com/downloads/finalshell_linux_loong64.deb

更新日志:
http://www.hostbuf.com/t/989.html

主要特性:

  1. 多平台支持Windows,macOS,Linux
  2. 多标签,批量服务器管理.
  3. 支持登录ssh和Windows远程桌面.
  4. 漂亮的平滑字体显示,内置100多个配色方案.
  5. 终端,sftp同屏显示,同步切换目录.
  6. 命令自动提示,智能匹配,输入更快捷,方便.
  7. sftp支持,通过各种优化技术,加载更快,切换,打开目录无需等待.
  8. 服务器网络,性能实时监控,无需安装服务器插件.
  9. 内置海外服务器加速,加速远程桌面和ssh连接,操作流畅无卡顿.
  10. 内存,Cpu性能监控,Ping延迟丢包,Trace路由监控.
  11. 实时硬盘监控.
  12. 进程管理器.
  13. 快捷命令面板,可同时显示数十个命令.
  14. 内置文本编辑器,支持语法高亮,代码折叠,搜索,替换.
  15. ssh和远程桌面均支持代理服务器.
  16. 打包传输,自动压缩解压.
  17. 支持rz,sz (zmodem)
  18. 多地点ping监控
  19. 命令输入框,支持自动补全,命令历史
  20. 自定义命令参数功能,可动态根据输入参数生成命令
  21. 可设置终端背景图片,并拥有动态背景模糊,文字阴影效果.
  22. 一键查看各种系统信息

更多功能会逐步增加,保持最少每周一次更新的频率,敬请关注.

界面截图:

查看系统消息

进程管理器

主机检测,Ping监控,Trace实时跟踪

高级网络监控,监控每个进程监听的端口,以及网络连接状态

打包传输,自动压缩解压,适合传输大量文件,文件夹和文本文件.

1.5.3 掌握使用FinalShell软件连接Linux操作系统


1.6 WSL(Windows Subsystem for Linux)

大家可用看这位大佬的文章。WSL使用史上最详细教程

Done~~

1.7 虚拟机快照

  • 在学习阶段我们无法避免的可能损坏Linux操作系统。

  • 如果损坏的话,重新安装一个Linux操作系统就会十分麻烦。

  • VMware虛拟机(Workstation和Funsion)支持为虚拟机制作快照。

  • 通过快照将当前虚拟机的状态保存下来,在以后可以通过快照恢复虚拟机到保存的状态。

推荐虚拟机关机的时候进行快照操作

1.7.1 创建虚拟机快照

首先点击菜单栏上的"时钟加号"按钮。

输入名称以及描述(也可不输入,默认名称为快照*),然后点击"拍摄快照"即可创建虚拟机快照。

1.7.2 管理虚拟机快照

点击"时钟扳手"按钮。

点击任一快照,然后点击"转到",然后点击"是",即可实现快照恢复功能。


1.8 虚拟机克隆

在工作中,经常会遇到需要同时开启多个同配置虚拟机的场景,此时无需创建多个虚拟机,使用VMware的克隆功能即可快速创建若干同配置的虚拟机。

1.8.1 创建克隆虚拟机

首先点击菜单栏中的"虚拟机"→"管理"→"克隆"。


选择------克隆方法

  • 创建链接克隆。优点是占用磁盘空间少;缺点是原始的虚拟机不能删除,如果删除了原始虚拟机,那么链接克隆虚拟机也将失效。
  • 创建完整克隆。优点是此克隆虚拟机完全独立,即使删除了原始虚拟机,对完整克隆虚拟机也没有影响;缺点是占用磁盘空间多。

二者的共性是:在不删除原始虚拟机的前提下,都可以独立运行,克隆虚拟机与原始虚拟机互不影响。

选择完"克隆方法"后点击"下一步"。

此时我的虚拟机中就多出了刚刚创建的克隆虚拟机,此虚拟机可正常开机运行,并且用户名以及密码等与克隆前的状态完全一致。

可以看到,克隆虚拟机占用的空间远小于原始虚拟机。

相关推荐
blessing。。20 分钟前
I2C学习
linux·单片机·嵌入式硬件·嵌入式
2202_7544215435 分钟前
生成MPSOC以及ZYNQ的启动文件BOOT.BIN的小软件
java·linux·开发语言
努力的悟空1 小时前
国土变更调查拓扑错误自动化修复工具的研究
运维·自动化
运维&陈同学1 小时前
【zookeeper03】消息队列与微服务之zookeeper集群部署
linux·微服务·zookeeper·云原生·消息队列·云计算·java-zookeeper
旦沐已成舟2 小时前
DevOps-Jenkins-新手入门级
服务器
周末不下雨2 小时前
win11+ubuntu22.04双系统 | 联想 24 y7000p | ubuntu 22.04 | 把ubuntu系统装到1T的移动固态硬盘上!!!
linux·运维·ubuntu
软件技术员3 小时前
Let‘s Encrypt SSL证书:acmessl.cn申请免费3个月证书
服务器·网络协议·ssl
哎呦喂-ll3 小时前
Linux进阶:环境变量
linux
耗同学一米八3 小时前
2024 年河北省职业院校技能大赛网络建设与运维赛项样题四
运维·网络