WeSeong 登录
← 返回文章列表
Linux

虚拟机、Linux、Ubuntu

虚拟机、Linux、Ubuntu

一、概述

LinuxLinux 是一种基于 Unix 系统的开源操作系统,由全球开发者共同开发。虽然 Linux 是一种操作系统,可以像计算机这样的硬件设备一样运行,但您可以在已经安装了 Windows 系统的环境中,利用虚拟机来体验它。 虚拟机器虚拟机 (VM))这是一个虚拟计算机,在这个虚拟环境中,除了 Linux,还可以安装和使用 Windows 等其他操作系统。 利用 VMware 创建虚拟环境,并安装 Linux。 Ubuntu我们将介绍如何安装和使用基本命令。



Ⅱ. 什么是 Linux?

Linux简单来说, Unix这是一个基于Unix内核,由全球开发者共同开发的开源操作系统。可以认为Unix是现代所有操作系统的基础。Linux有多个分支,主要有: Debian,属于Red Hat家族这些操作系统可以分为不同的类别,其中以 Debian 为基础而诞生的 iOS 是一款知名的操作系统。此外,由于 Ubuntu 的广泛使用,Debian 家族也变得更加流行。Red Hat 家族则属于开源软件,但提供售后服务。Red Hat 家族中,CentOS 也是一个值得关注的选择。


硬件 - 内核 - 셸:在由应用程序组成的结构中,Linux 操作系统通过内核来运行。


Windows 也有内核,而内核就像汽车的发动机一样。 它负责系统的底层功能,包括启动、文件列表、属性(大小、类型、位置)、多任务调度、以及内存空间管理等。它负责在软件和硬件之间进行协调和控制。您可能在用Windows系统时,曾经遇到过它。 蓝屏这是一种严重的系统错误,表明内核已经处于崩溃状态,无法进行进一步的处理和控制。


* “蓝屏”通常表示由于驱动程序出现错误,导致硬件出现故障。 硬件驱动程序是由硬件制造商提供的,并且会根据 Windows 或 Linux 的版本进行定制。


贝壳指令解析器负责解析指令,并将解析后的指令传递给内核。内核接收到指令后,通过发送电信号来控制硬件。硬件接收到电信号后,再将其发送回内核,从而使内核能够运行应用程序并进行管理。 Shell 是 Windows 上的命令行工具,属于基于 CLI 的类型。它包含 ping、ipconfig、记事本等命令,通过这些命令可以运行或管理应用程序。 此外,Shell 具备内置的脚本功能,这些脚本可以自动执行一系列命令,从而实现重复性任务。


在进入虚拟机之前,需要先下载 Linux 的 ISO 镜像文件。 建议您提前下载,因为这可能需要一些时间。

Ubuntu 20.04.6 LTS (Focal Fossa)



Ⅲ. 虚拟机和网络

  1. 虚拟服务器

虚拟机器 (VM)它是一种虚拟计算机,可以作为路由器使用。 虚拟路由器它允许在一个计算机上同时使用多个虚拟环境和不同的操作系统。 虚拟机的程序中包含: 访客操作系统它们可能存在多个 主机操作系统 (我的电脑的操作系统)用户通过虚拟路由器进行访问。 实际上,安装 VMware 后,在 Windows 网络设置中可以看到 VMware Network Adapter VMNET。 LAN 芯片(负责计算机与网络之间的连接的硬件)它不是实际使用的硬件(而是利用主机的硬件),而是通过虚拟网络驱动程序,让主机的操作系统能够访问访客操作系统,从而起到一个接口的作用。


路由器(一种用于连接不同网络的技术,由硬件和软件组成)类似于一个枢纽,可以类比于机场。它起着连接两个通信网络的作用,就像韩国人必须通过机场才能进入其他国家一样。每个网络都有其自身的通信特点,而定义这些特点作为规则。 协议它们通过协议规则,互相传递和响应消息,以便进行通信。 协议的典型例子是 HTTP(超文本传输协议)并且,我们在使用互联网时,可以通过以下地址找到:http://', 'https://'로 它们的功能是,例如,在您使用Naver时,帮助您轻松查看Naver界面上显示的信息。


  1. 网络

由于操作系统可以利用计算机硬件中的局域网(LAN)芯片,这得益于网络驱动程序。正如之前提到的,网络驱动程序是一种控制局域网芯片的程序,它安装在局域网芯片上。 转换器 界面它通过电信号与其他设备进行通信,从而实现工作。之所以可以通过我的电脑访问网页上的“Naver”、“Google”、“Daum”,是因为它们使用了互联网协议。 IP地址 这是因为,IP地址主要分为: IPv4(IP版本4),IPv6(IP版本6)这是一个值,用于指示个人计算机的网络设备在网络上的识别方式。通常,使用路由器时,IP地址会以192.168.~的形式出现。这个IP地址是由路由器随机分配的,可以被连接到同一路由器的设备共享。 内部(私有)IP这可以让用户通过访问像Naver、Google这样的外部网站,以便后续访问。 官方(公认)IP地址我们需要这样做。


DNS(域名系统)服务器虽然计算机只能识别 0 和 1 这样的数字,但为了让人们能够理解,我们需要将其转换成易于理解的名称。 将IP地址转换为其他格式负责提供相关信息。例如,“www.naver.com“我们能够轻松地识别出“naver.com”这个网址,是因为DNS服务器将其转换为计算机可以识别的IP地址,例如192.168.1.1。


路由器可以自动地为连接到网络上的设备(我的电脑)分配和管理这些IP地址。 DHCP(动态主机配置协议)服务器它负责分配IP地址。DHCP服务器 各种网络信息(如 IP 地址、子网掩码、默认网关等)它具备灵活的配置功能,无需用户手动设置,从而提高了管理器的便利性。因此,虚拟机的虚拟路由器通过主机计算机的硬件,利用 DHCP 服务器,为访客操作系统分配 IP 地址。类似于同一路由器连接的设备之间分配内部 IP 地址 仅限于访客操作系统之间的共享能够做 内部IP地址是。


正如前面所述,主机操作系统和访客操作系统虽然看起来具有相似的IP地址,因此似乎共享相同的网络环境,但实际上 不同的网络环境也就是说,在网络设置中,Windows LAN 适配器和 VMware 网络适配器代表不同的网络环境。那么,如何在我的电脑上访问虚拟环境呢?

原因在于,当主机操作系统通过外部IP地址连接到Naver时, 虚拟路由器(网关)兼 DNS 服务器如果您提出请求, 这是因为虚拟路由器会找到并连接到每个访客操作系统上,由 DHCP 服务器分配的 IP 地址。 那么,主机操作系统如何与虚拟环境的外部IP进行通信?

路由器(包括虚拟和实物) NAT(网络地址转换)因为它可以将内部IP地址转换为外部IP地址,从而使它们能够相互识别。也就是说,

我通过VMware的网络适配器和虚拟路由器与我的电脑的局域网适配器和路由器进行通信。为了更好地理解这一点,我们需要了解NAT(网络地址转换),这将在后续的课程和个人学习中进行补充。


  1. VMware Workstation Pro 17

利用 Linux 的方法有很多种。 类似于为新分区分配空间并安装 Windows 操作系统,也可以通过安装 ISO 镜像文件来安装 Linux。 为了使用虚拟机,需要安装相应的软件。 VMware Workstation Pro 17它有不同的版本。Pro版本是付费的,但提供30天的免费试用。然而,Player版本无法使用重要的快照功能,因此不建议使用。

下载 VMware Workstation Pro

快照这是一种在虚拟环境中使用的技术,用于处理或安装在计算机上的内容。 图片因此,我们定期保存备份。如果工作过程中出现错误导致数据损坏,可以直接恢复到之前的快照,从而方便快捷地进行恢复。如果没有快照,则可能需要从头开始,这将带来极大的麻烦。此外,如果由于黑客攻击导致数据库损坏或无法恢复,而没有备份,则可能需要从头开始,甚至可能无法恢复,这将带来非常严重的后果。 增量备份功能通过这种方式,可以在特定情况下,利用日志分析轻松地了解和恢复当时的状况。增量备份 在拍摄图像之后,只记录后续修改的数据,并将其记录为新的快照。这是其主要功能之一。快照功能是 树状结构呈现出这样的状态。


* 勒索软件:这种算法(单向加密算法)在银行等机构中用于身份验证,但由于勒索软件利用了这种算法,因此无法恢复。


以下是关于VMware Workstation Pro安装的详细博客文章。

VMware Workstation Pro 17 的下载和安装方法

致博主,感谢您的付出。


安装和运行 VMware 后,会出现这样的界面。


在安装 Linux 之前,需要先创建一个虚拟机。请点击图片中显示的“创建新的虚拟机”选项。



点击后,会出现这样的界面。在这里,您可以选择“自定义”选项。因为您可以单独设置硬件、操作系统和网络类型。


这一部分,Next界面会询问是否安装Ubuntu ISO文件。因为安装完成后,可以进行单独的配置和安装,所以选择最下面的选项。


接下来,由于您将使用 Linux,因此您需要选择 Linux 系统。然后,请根据您电脑的位数选择 Ubuntu 或 Ubuntu 64 位版本。


下一页是设置虚拟机名称和目录的部分,您可以自由选择。


这也是询问您是否希望使用该流程,如果不需要,也可以使用默认设置。


这部分需要配置,因为使用普通个人电脑的硬件,如果创建多个虚拟环境,可能会因为内存不足而导致电脑运行速度变慢。此外,如果使用控制台运行 Linux,则不需要使用 X 窗口(图形界面),因此即使使用较少的内存也可以。因此,建议使用 1GB,但如果启动速度较慢,也可以考虑增加一些内存。


三层结构:服务器将分为客户端层、应用程序层和数据层,这会导致至少三个虚拟环境的创建,从而占用个人电脑的较多内存,可能导致性能下降。关于这种结构,我将在后续学习中进行深入研究。


在出现这一提示之前,只需继续点击。因为这使用了实际的电脑硬盘空间,因此对于一般的学习用途,20GB 已经足够。但如果需要更大的空间,也可以根据实际情况进行扩展。


到达这里,可以认为所有设置都已经完成,然后点击“继续”按钮,最后点击“完成”按钮。


※ 如果您进入设置的目录,会找到名为“ubntu 64-bit.vmx”的文件。您可以使用此文件来重新设置或修改版本。此外,如果虚拟机出现异常关闭,可能会留下名为“Ubuntu 64-bit.vmx.lck”的锁定文件。如果出现无法启动的情况,请进入该目录,删除该文件,然后重新启动。


在这样创建的界面中,可以看到左侧的“我的电脑”部分,其中显示的是创建的虚拟机。由于之前设置了使用 Ubuntu ISO 镜像文件,因此只需右键点击,然后进入“设置”选项,选择“使用 ISO 镜像文件”,并添加之前下载的 Ubuntu ISO 镜像文件。


创建完成后,启动虚拟机并安装 Linux 后,您就可以开始使用 Linux。由于安装过程可以使用韩语,因此无需单独提供说明。


正如之前提到的,使用 X-Windows 会占用大量的内存,虽然在实际使用中可能不需要,但我们计划使用终端来运行 Linux。因此,我们需要在启动时将 Linux 切换到控制台模式。首先,在 X-Windows 中运行 Linux,然后按照以下步骤输入命令:


  1. sudo systemctl set-default multi-user.target (这表示在启动时,将默认模式设置为 console 模式)

* “sudo” 表示需要以管理员权限执行,而“systemctl”是系统配置命令。 “set-default” 用于设置启动模式,而“multi-user”选项与启动模式相关。可以将“multi-user.target”理解为控制台模式。


  1. sudo apt-get update (这是一个用于更新 Linux 系统中可用软件包列表的命令。)


控制台和终端是不同的概念。控制台是指具体的硬件设备,而终端是指用于处理文本输入和输出的环境。与控制台相比,终端在执行 Linux 命令方面更方便,可以通过 SSH(协议)服务器,通过终端来使用 Linux。这主要是因为终端服务器更容易显示字体和韩文,并且默认支持 UTF-8。


  1. 使用 `sudo apt-get install openssh-server -y` 命令安装 SSH 服务器。


为了使用Web服务,就像安装客户端的Web浏览器一样,使用SSH服务器也需要客户端。常用的客户端是PuTTY,可以在以下链接下载,安装过程相对简单,建议查找相关教程。

下载 PuTTY:最新版本 (0.79)

PuTTY因为在远程访问时,需要知道访客系统的IP地址, IP 地址 利用命令。 默认情况下,网页浏览器使用 80 端口,而 PuTTY 使用 22 端口。 端口就像机场的编号,它起着连接外部的桥梁作用。 也就是说,不同的程序会使用不同的端口。


※ 适用于 Windows ping 有一个命令,它允许使用一个协议来确定网络是否处于活动状态。通常使用“ping + 地址”的形式,如果没有响应,则表示网络可能处于非活动状态,或者由于安全原因被阻止。通过发送“ping”命令,服务器会做出响应。这样做是为了防止遭受DDoS(一种旨在通过大量发送互联网流量来使服务器崩溃的攻击)攻击。



Ⅳ. Linux 命令

Linux 命令行有很多,而且有很多其他人整理好的表格,这些都是很好的资源。虽然背诵这些表格可能会很有用,但我认为,最好是在实际使用中学习。因此,我想分享一下课堂上使用的基本命令。如果需要,可以通过搜索找到相关的命令。


  1. sudo init (0~6)

这种命令被称为“启动级别(Run Level)”,在启动过程中使用。 0号代表系统关闭。

$ sudo shutdown -r(옵션)

该命令的功能与此类似。 在此命令中,“-r”选项可以设置程序结束的时间。 如果不指定任何时间,则默认会在60秒后结束。 此外,常用的数字之一是“6”,它代表“reboot”,即重启系统。


2. 在

在 Linux 系统中,您可以像在 Windows 系统中一样,直接在桌面上创建特定可执行文件的快捷方式。

ln target(원본) name(바로가기)

3. 历史

history (옵션 -c, -w)
history > /tmp/abc.log

显示之前使用的命令列表,并且当使用选项 '-c' 时,会删除该列表。选项 '-w' 用于将之前的命令列表保存到文件中。第二个例子表示,将命令列表保存到 /tmp 目录下的 abc.log 文件中。


4. 猫

cat /경로/파일명

这是一个用于输出文件内容的命令。它可以指定路径和文件名,从而读取特定文件的内容。


※ 在 Linux 系统中,配置信息存储的目录是: 等等是。

* 通过 PuTTY 访问的终端,默认使用基本文件浏览器。 sh 虽然可以通过命令更改终端(shell),但终端的显示方式可能会因其配置而异。例如,使用 PuTTY 启动后,默认显示的终端会显示当前路径,但如果使用 `sh` 命令启动,则不会显示。


5. CD

cd /경로
cd -
cd ~id

它常被用作移动目录的命令,如果没有指定路径,则会返回到 /home/用户名 目录。在登录时,也会返回到相同的目录。第二个例子是返回到上一个目录。第三个例子是通过ID,返回到用户的个人目录。如果省略ID,则会返回到登录用户的个人目录。


6. ls

ls
ls -al
ls -altr

显示目录中的文件或目录列表。“-al”选项可以显示所有文件(包括隐藏文件和属性)。“-altr”选项显示与“-al”相同的列表,但由于“t”选项,列表会按时间顺序显示,而“r”选项则会按倒序显示。


* 使用 `ls -al` 命令查看所有文件时,最左侧的第一个字符如果是 'd',则表示这是一个目录;如果是 '-',则表示这是一个文件。


7. 触

touch 파일명

创建一个大小为 0 的新文件,如果存在同名的文件,则修改其修改时间。出于安全考虑,有时会提前使用此命令创建一个文件,以阻止访问,从而无法创建该文件。


* 请参阅选项部分 'r'如果包含这个,那么与目录相关的重复操作可能会产生不同的含义。 “a”指整个范围,或全部 'f'指的是文件或强制性要求。 'n'它们通常与数字有关。

※ 类似于 Windows,Linux 不使用文件扩展名。因此 反向隧道 攻击方法是,首先通过欺骗管理员,将恶意程序上传到目标服务器(伪装成正常的文件),从而在服务器上创建后门。由于防火墙主要限制从内部向外部的访问,攻击者可以通过客户端连接到服务器,并将数据发送出去。此外,由于 Linux 不区分文件扩展名,这使得攻击更加容易。


8. 文件

file /경로/파일명

正如之前提到的关于 Linux 技巧,虽然没有文件扩展名概念,但可以通过以下命令来判断文件类型。


* 尽管 Linux 允许创建具有相同名称的文件夹和文件,但它区分大小写。


9. 头部,尾部

head /경로/파일명
tail /경로/파일명
head, tail -n 15 /경로/파일명

当使用“cat”命令读取文件内容时,会一次性读取整个文件,因此对于容量较大的文件,读取时间可能会比较长。为了解决这个问题,可以使用“head”和“tail”命令。 “head”命令从文件开头开始读取,而“tail”命令则从文件末尾开始读取。通过使用“-n”选项,可以指定读取的行数,默认值为10。


* 在 Linux 系统中,可执行文件有两种运行模式:前台模式和后台模式。前台模式是指程序以可见状态运行,方便实时监控;而后台模式则是在后台运行,但用户无法直接看到。 '-f''-daemon(-d)'这可以作为选项来选择。


10. 复制

cp 어떤 파일/디렉토리로부터 어디에

`cp` 命令用于复制文件和目录。


11. rm

rm -rf ./경로

`rm` 命令用于删除文件和目录,`-rf` 选项表示强制删除。它可以指定要删除的文件,也可以删除所有子目录。


12. ifconfig

sudo apt-get install net-tools

ifconfig
ifconfig 인터페이스명 up/down

在某些 Linux 系统中,可以使用网络相关的命令,而无需安装软件包,只需使用默认命令。然而,Ubuntu 需要安装软件包。`ifconfig` 命令可以显示网络接口的信息,包括 RX 和 TX 包的数量。`ether` 信息是网络接口的唯一标识(MAC 地址)。通过 `up/down` 选项,可以启动或关闭网络接口。



评论

Python 之后,课程转向 Linux 和网络。我通过使用虚拟机,安装了 Linux 和 Ubuntu,亲身体验了命令行操作。由于这是我之前从未接触过的,所以我在课堂上非常专注,并学习了比预期的更多的内容。虽然我没有完全掌握所有知识,但我为了复习,整理了课堂上学过的概念,并撰写了博客。由于概念可能不够清晰,如果发现有错误,请在评论中指出,非常感谢。