简介
本文主要内容:
1.在Windows系统的基础上演示再安装Ubuntu系统
2.演示在vmare上运行一个Ubuntu系统的虚拟机
3.介绍Linux的相关知识和常用命令
Linux镜像大全:https://www.linux.org/pages/download/
二.双系统配置Ubuntu
注意:在安装Ubuntu系统前,我们先需要确定当前Windows系统的引导方式
安装的Ubuntu系统需要与当前的Windows系统具有相同的引导方式,才能设置双系统菜单
一些可能陌生的名词在第1点有介绍
演示中的电脑配置:
引导方式为:UEFI引导
磁盘分区格式为GPT
如果你的电脑配置与我不相同,操作下去可能有些不同
1.基础知识介绍
1.1.引导的简介
引导(Booting)是指计算机在开机时进行的一系列过程,其目的是加载操作系统,使计算机能够正常工作。引导过程通常包括以下几个主要步骤:
-
硬件初始化:
- 当计算机通电后,首先由固件(BIOS或UEFI)进行硬件自检(POST),确保关键组件(如内存、CPU、硬盘等)正常。
-
引导加载程序(Bootloader):
- 通过固件找到存储设备上的引导加载程序(如GRUB、LILO等),并将控制权转移给它。引导加载程序负责加载操作系统内核。
-
操作系统加载:
- 引导加载程序从硬盘或其他存储设备加载操作系统的内核到内存中,并启动操作系统。
-
系统初始化:
- 操作系统内核完成初始化,设置硬件驱动程序、文件系统等,为用户和应用程序提供服务。
引导过程是计算机启动的重要环节,成功引导后,用户可以使用计算机进行各种操作。引导的方式可以分为传统的BIOS引导和现代的UEFI引导,选择合适的引导方式可以提高系统的性能和安全性。
1.2.BIOS模式的简介
BIOS模式是指基本输入输出系统(Basic Input/Output System)的一种引导方式,它是在计算机启动时加载和执行的固件。BIOS负责硬件初始化和操作系统的加载。它是早期计算机的引导方式,主要用于x86架构的计算机。
引导方式指的是计算机启动时如何加载操作系统的方式。主要的引导方式有:
-
BIOS引导:
- 使用MBR(主引导记录)格式。
- 限制在2TB的磁盘大小,最多支持四个主分区。
-
UEFI引导:
- 是BIOS的继任者,支持更大的硬盘(超过2TB)。
- 使用GPT(GUID分区表)格式,支持更多的分区。
- 提供更快的启动速度和更强的安全性(如Secure Boot)。
1.3.磁盘分区格式的简介
磁盘分区格式是定义磁盘如何组织和管理存储空间的结构。主要有以下几种分区格式:
-
MBR(主引导记录):
- 传统分区格式,支持最多四个主分区(或三个主分区和一个扩展分区)。
- 最大支持2TB的磁盘空间。
- 使用较旧的BIOS引导。
-
GPT(GUID分区表):
- 现代分区格式,支持更大的硬盘(超过2TB)和更多的分区(通常是128个)。
- 采用UEFI引导,提供更强的安全性和灵活性。
- 包含冗余的分区表,提高了数据的可靠性。
-
动态磁盘:
- Windows系统特有的分区管理方式,可以创建跨多个物理磁盘的卷,支持更复杂的磁盘管理功能,如镜像和条带化。
1.4.BIOS模式与分区格式的对应关系
-
传统BIOS模式(Legacy BIOS):
- 通常使用MBR(主引导记录)分区格式。
- 在这种模式下,支持最多四个主分区,最大磁盘大小为2TB。
- 安装操作系统时,若选择Legacy模式,系统会要求将磁盘格式化为MBR。
-
UEFI模式:
- 通常使用GPT(GUID分区表)分区格式。
- 支持更大的磁盘(超过2TB)和更多的分区(通常是128个)。
- 安装操作系统时,若选择UEFI模式,系统会要求将磁盘格式化为GPT。
一般BIOS模式是传统,磁盘分区格式就是MBR
一般BIOS模式是UEFI,磁盘分区格式就是GPT
1.5.ventoy的简介
Ventoy 是一个开源工具,用于创建可启动的 USB 驱动器。与传统的方法不同,Ventoy 允许用户将多个 ISO 文件直接复制到 USB 驱动器上,而无需重新格式化或每次都写入 USB 驱动器。以下是 Ventoy 的一些主要特点:
-
多重 ISO 支持:用户可以在同一个 USB 驱动器上存储多个 ISO 文件,并在启动时选择要加载的 ISO。
-
快速创建:只需一次性格式化 USB 驱动器并安装 Ventoy,之后可以随意添加、删除或更新 ISO 文件。
-
兼容性:Ventoy 支持多种操作系统的 ISO,包括 Linux 发行版、Windows 安装镜像等。
-
UEFI 和 BIOS 支持:Ventoy 支持 UEFI 和传统 BIOS 启动,确保在不同类型的计算机上都能使用。
-
简单易用:用户界面友好,使用简单,无需复杂的命令行操作。
-
开源:Ventoy 是开源软件,可以免费使用,并且可以根据需要进行定制。
Ventoy 的使用非常适合需要频繁测试或安装不同操作系统的开发者和系统管理员。
1.6.镜像的简介
镜像(Image)通常是指某个操作系统或软件的完整复制品,通常以文件的形式存在,包含了所有安装文件和配置设置。常见的镜像格式有 ISO 文件,这种文件可以用于创建可启动的 USB 驱动器或光盘。
1.7.BitLocker的简介
BitLocker 是微软 Windows 操作系统中的一个全盘加密功能,用于保护存储在计算机上的数据。以下是 BitLocker 的一些关键特点和功能:
-
全盘加密:BitLocker 能够加密整个驱动器,包括系统驱动器和数据驱动器,从而保护存储在其上的所有文件。
-
安全性:通过使用 AES(高级加密标准)加密算法,BitLocker 提供强大的数据保护,防止未授权访问。
-
TPM 支持:BitLocker 可以与计算机的 TPM(受信任的平台模块)芯片结合使用,以增强安全性。TPM 存储加密密钥并提供安全启动功能。
-
多种解锁方式:用户可以通过多种方式解锁加密的驱动器,包括密码、PIN 码、USB 密钥和恢复密钥。
-
数据恢复:如果用户忘记密码或丢失解锁密钥,可以使用 BitLocker 恢复密钥来访问加密数据。
-
管理工具:Windows 提供图形界面和命令行工具(如 manage-bde)来管理 BitLocker 加密。
使用场景:
- 保护敏感数据:适用于需要保护机密或敏感信息的个人用户和企业。
- 防止数据泄露:在设备被盗或丢失的情况下,BitLocker 可以防止未授权访问存储在驱动器上的数据。
要启用 BitLocker,通常需要在 Windows 专业版或企业版上使用。在控制面板的“系统和安全”部分,可以找到 BitLocker 的设置选项。
1.8.BIOS界面的Boot的简介
在 BIOS(基本输入输出系统)中,“Boot”指的是计算机启动的过程和相关设置。以下是“Boot”在 BIOS 中的几个关键方面:
1. 启动顺序
- 引导设备优先级:Boot 设置中包含启动设备的顺序,例如硬盘、光驱、USB 驱动器和网络。这决定了计算机在启动时从哪个设备加载操作系统。
- 可更改顺序:用户可以根据需要调整启动顺序,例如设置 USB 驱动器为首选启动设备,以便从 USB 设备安装操作系统。
2. 引导选项
- 引导选项菜单:某些 BIOS 提供了一个引导选项菜单,允许用户在启动时选择特定的引导设备,通常通过按下特定的键(如 F12)访问。
3. 引导模式
- Legacy BIOS 和 UEFI:现代计算机通常使用 UEFI(统一可扩展固件接口)作为替代传统的 BIOS。Boot 设置中可能有选项来选择使用 Legacy 或 UEFI 模式,影响操作系统的引导方式。
4. 安全启动(Secure Boot)
- 安全启动设置:一些系统允许启用或禁用安全启动,这是一种防止未授权软件在系统启动时加载的安全功能。
5. 引导记录
- 引导记录设置:在某些情况下,用户可以查看或修改与引导相关的记录,以确保系统能够正确加载操作系统。
在 BIOS 中,Boot 设置是配置计算机启动过程的关键部分,确保操作系统能够从正确的设备加载。通过调整这些设置,你可以优化系统的启动顺序和引导方式,以适应不同的需求。
1.9.Secure Boot的简介
Secure Boot 可能会影响双系统安装,特别是当你尝试安装的操作系统不支持或未正确签名以通过 Secure Boot 验证时。以下是一些具体情况:
1. 不支持的操作系统
- 某些操作系统(例如某些 Linux 发行版)可能默认情况下不支持 Secure Boot。如果你在 Secure Boot 启用的状态下尝试安装这样的操作系统,可能会遇到启动失败或无法安装的问题。
2. 驱动程序和签名
- 如果你要安装的操作系统或其驱动程序未经过签名,Secure Boot 将阻止它们加载,从而影响系统的启动过程。
3. UEFI 和 Legacy 模式
- 在安装双系统时,你可能需要根据不同操作系统的需求选择 UEFI 模式或 Legacy 模式。如果 Secure Boot 启用,确保所有操作系统都兼容 UEFI 和 Secure Boot。
4. 需要禁用 Secure Boot
- 在某些情况下,特别是当安装的操作系统不支持 Secure Boot 时,你可能需要在 BIOS/UEFI 设置中禁用 Secure Boot。这将允许你安装并运行不受 Secure Boot 保护的操作系统。
1.10.挂载点的简介
挂载点 是指在操作系统中用于访问文件系统的目录。它是一个特定的目录路径,系统通过这个路径将外部存储设备(如硬盘驱动器、USB 驱动器、网络共享等)连接到操作系统的文件系统中。通过挂载点,用户可以访问和操作存储在这些设备上的文件和目录。
-
文件系统结构:
- 在 Linux 和类 Unix 系统中,所有文件和目录都以根目录 / 为基础构成一个统一的文件系统结构。任何外部存储设备都需要被“挂载”到这个结构中,才能被访问。
-
挂载过程:
- 当你将设备连接到计算机时,需要通过挂载命令(如 mount)将其挂载到某个目录。例如,你可能将一个 USB 驱动器挂载到 /mnt/usb 目录下,这样就可以通过访问 /mnt/usb 来查看和操作 USB 驱动器中的文件。
-
卸载(Unmounting):
- 当你不再需要访问该设备时,可以通过卸载命令(如 umount)将其从文件系统中移除。这确保了数据的完整性,并释放系统资源。
实际示例:
- 假设你有一个外部硬盘,你可以在终端中使用如下命令将其挂载到 /media/external 目录:
sudo mount /dev/sdb1 /media/external
之后,你可以通过访问 /media/external 来访问外部硬盘中的文件。
总结:挂载点是访问外部存储设备的关键概念,通过将设备挂载到特定的目录,用户可以在统一的文件系统中管理和操作不同的存储资源。
1.11.根挂载点的简介
在文件系统中,/ 代表根目录(root directory),是整个文件系统的起始点。它是 Linux 和类 Unix 系统中所有文件和目录的顶层目录。下面是根目录的一些重要概念:
- 文件系统的基础
- 树状结构:所有的文件和目录都从根目录 / 开始,形成一个树状结构。根目录下可以有多个子目录和文件,所有其他目录(如 /home、/usr、/etc 等)都是根目录的子目录。
- 挂载点的含义
- 挂载点的父级:当你将设备挂载到某个目录时,那个目录的路径会成为挂载点。例如,假设你将一个 USB 驱动器挂载到 /media/usb,则 /media/usb 就是这个 USB 驱动器的挂载点,而根目录 / 是整个文件系统的根。
- 根目录的重要性:挂载点可以是根目录下的任意目录,但最终所有的挂载和访问都与根目录相连。
- 示例
-
在 Linux 系统中,如果你输入 ls /,将显示根目录下的所有文件和目录列表。
-
如果你将一个硬盘分区挂载到 /mnt/data,你可以通过访问 /mnt/data 来查看该分区的内容,而 /mnt 和 /mnt/data 都是根目录的子目录。
总结:/作为根目录是整个文件系统的起点,所有挂载点都是相对于根目录的路径。通过挂载点,用户可以在统一的文件系统中访问和管理不同的存储设备。
1.12.软件源和镜像服务器的简介
软件源和镜像服务器是 Linux 及其他类 Unix 系统中用于管理和安装软件包的重要概念。 软件源(Software Repository)
软件源是一个集中存储软件包的地方,通常包含了大量可供用户安装和更新的软件。这些软件包会经过审核和测试,以确保它们的安全性和稳定性。软件源的主要功能包括:
- 软件安装:用户可以通过包管理工具(如 apt、yum、dnf 等)从软件源下载并安装软件包。
- 软件更新:软件源提供了软件的最新版本,用户可以方便地更新已安装的软件。
- 依赖管理:包管理工具能够自动处理软件包之间的依赖关系,确保所需的库和工具一同安装。
镜像服务器(Mirror Server)
镜像服务器是软件源的复制版本,它们通常分布在不同地理位置,以便于用户更快地下载软件包。镜像服务器的特点包括:
- 负载均衡:多个镜像服务器可以分散用户请求,减少单一服务器的负载,提高下载速度。
- 地理位置优化:用户可以选择离自己地理位置最近的镜像服务器,以获得更快的下载速度。
- 数据同步:镜像服务器定期与主软件源同步,以确保提供最新的软件包。
总结:软件源和镜像服务器共同为用户提供了方便的软件管理功能。通过合理配置和选择镜像服务器,用户可以高效地安装和更新所需的软件,提高使用体验。
1.13.GParted的简介
GParted(GNOME Partition Editor)是一个用于管理硬盘分区的图形化工具,通常在 Ubuntu 和其他 Linux 发行版中使用。它的主要功能包括:
-
创建、删除和调整分区:用户可以轻松创建新的分区、删除不再需要的分区,以及调整现有分区的大小。
-
格式化分区:GParted 支持多种文件系统格式,包括 ext4、NTFS、FAT32 等,用户可以对分区进行格式化。
-
移动分区:用户可以移动分区位置,以重新组织硬盘上的数据。
-
检查和修复分区:GParted 允许用户检查分区的完整性,并修复可能出现的错误。
-
支持多种存储设备:GParted 可以管理硬盘驱动器、SSD、USB 驱动器等多种存储设备。
GParted 的用户界面直观友好,适合用户进行硬盘管理,尤其是在进行系统安装、分区调整或数据备份时。使用 GParted 需要一定的权限,因此通常需要以管理员身份运行。
1.14.GRUB的简介
GRUB (Grand Unified Bootloader) 是一款开源的启动引导程序,主要用于在计算机启动时加载操作系统。它常见于 Linux 和其他 Unix 类系统中,但也可以引导 Windows 等操作系统。GRUB 的主要功能是让用户在系统启动时选择加载的操作系统或内核,特别适合多系统或双系统环境,例如 Linux 和 Windows 并存的情况下。
GRUB 的工作流程分为以下几步:
-
阶段1:加载启动引导器
在 BIOS 或 UEFI 完成硬件初始化后,GRUB 的第一阶段代码会被加载。它通常存储在磁盘的主引导记录(MBR)或 UEFI 分区中,负责将控制权传递给 GRUB 阶段2。 -
阶段2:加载核心程序
GRUB 阶段2会显示启动菜单,让用户选择操作系统或特定内核版本。用户也可以通过 GRUB 命令行手动输入内核参数或进行系统修复。 -
加载内核并启动操作系统
一旦选定了内核,GRUB 会将内核和相关的初始 RAM 磁盘 (initramfs) 加载到内存,并将控制权交给操作系统内核以启动系统。
当你安装 Ubuntu 作为双系统时,Ubuntu 会默认安装 GRUB(Grand Unified Bootloader)。GRUB 是一个启动引导程序,它能够检测并列出系统上已安装的所有操作系统,允许你在启动时选择要加载的操作系统。通常在双系统中,GRUB 会被配置为引导菜单的默认管理程序,负责启动 Ubuntu 和 Windows 等系统。
为什么 Ubuntu 的启动优先级比 Windows 高时才能启动 GRUB?
-
GRUB 安装位置:GRUB 通常安装在硬盘的主引导记录(MBR)或 EFI 分区中。GRUB 负责接管启动过程,因此当 BIOS/UEFI 设置中指定 Ubuntu(或带有 GRUB 的分区)为启动优先级更高时,GRUB 就会运行并显示启动菜单,供你选择启动 Ubuntu 或 Windows。
-
启动顺序的影响:如果你在 BIOS/UEFI 设置中将 Windows 的引导项放在优先级更高的位置,系统会直接使用 Windows 自带的启动引导程序,而不是 GRUB。Windows 启动引导程序通常不会列出 Ubuntu,除非进行特别配置(例如使用第三方引导管理器)。因此,只有在 Ubuntu 的启动项优先级高于 Windows 时,GRUB 才会被加载并展示选择菜单,从而引导任意一个操作系统。
简而言之,GRUB 作为默认的引导管理器,只有在它先于 Windows 的启动项被执行时,才能发挥作用并展示操作系统选择菜单。如果优先启动 Windows,则会跳过 GRUB 。 GRUB 具有灵活的配置能力,通过编辑其配置文件(通常位于 /boot/grub/grub.cfg)可以设置默认启动项、超时时间、图形界面等。其支持的文件系统也非常多,如 ext4、NTFS 和 FAT 等,确保了多系统兼容性。
在 GRUB 启动菜单中,序号是从 0 开始的。这意味着菜单中的第一个启动项对应于序号 0,第二个是序号 1,以此类推。这种从 0 开始的计数方式在配置文件中也保持一致,比如当你在 GRUB 配置文件中设置 GRUB_DEFAULT=0 时,它将默认选择第一个启动项。
GRUB 目前有两个主要版本:Legacy GRUB 和 GRUB 2。GRUB 2 是更现代的版本,具有更好的模块化和扩展性,广泛用于主流 Linux 发行版中。
1.15.UEFI HardnDisk Drive BBS Priorities的简介
UEFI Hard Disk Drive BBS Priorities 是主板 BIOS/UEFI 设置中的一项功能,用来配置硬盘的启动优先级。它决定了计算机在启动时,从哪些硬盘或者存储设备中加载操作系统,并按照优先级顺序依次尝试启动。
在这个设置中,你可以:
-
设定不同硬盘的启动顺序:如果你有多块硬盘(例如一个固态硬盘和一个机械硬盘),可以在此调整启动的先后顺序。
-
影响操作系统加载顺序:计算机会根据设定的优先级,尝试从首选硬盘启动操作系统。如果首选硬盘不可用,会自动切换到下一个硬盘。
这种设置对多系统配置(如 Windows 和 Linux 的双系统)以及多硬盘系统特别重要。
2.查看BIOS模式
使用Win+R打开 “运行”对话框
输入:Msinfo32
可以看到我的BIOS模式是UEFI
如果显示是传统,那用的就是BIOS引导
如果显示是UEFI,用的就是UEFI引导
3.查看磁盘分区格式
一般看到BIOS模式是什么就能确定磁盘分区格式了,当然也可以去查看
右键点击开始,然后点击磁盘管理
鼠标右键点击当前Windows系统所在的硬盘,再点击属性
提前说一下:这些C盘D盘右边一般会有一个Bitlocker已加密的显示
我这里没有是因为我已经关掉了,下文会介绍一般需要关掉它
可以看到我这里的磁盘分区格式是GPT
4.安装镜像
Ubuntu镜像:https://ubuntu.com/download/desktop
LTS 是 “Long Term Support” 的简写,意为“长期支持”。LTS 版本的操作系统会获得更长时间的支持和更新,通常是五年,这包括安全更新和软件包更新。
5.制作Ubuntu安装盘
5.1.下载ventoy
ventoy开源项目地址:https://github.com/ventoy/Ventoy
ventoy下载地址:https://sourceforge.net/projects/ventoy/
解压并打开
5.2.插入U盘
注意:制作成安装盘后,U盘原来的数据都会被清空
在设备里选择你的U盘
分区格式(MBR 或 GPT)会影响你在 USB 驱动器上安装系统时,目标磁盘的分区格式
可以看到默认的是MBR,我的Windows系统所在硬盘分区格式是GPT,所以修改一下
如果你的Windows系统所在硬盘分区格式就是MBR,就不用修改
我这里u盘已经安装了ventoy,没安装时设备内部ventoy版本那是空的
5.3.在U盘上安装ventoy
点击左上角配置选项->点击分区类型->选择GPT->安装
安装成功后会弹出恭喜安装成功的窗口,然后U盘名字变为ventoy
5.4.将Ubuntu镜像复制到安装盘
前文下载的8Ubuntu镜像直接复制过来就成功制作了Ubuntu安装盘
6.关闭BitLocker
如果启用了BitLocker,C盘和D盘右边都会显示BitLocker已经启用
如果已经关闭了或没有启用,就跳过这一小点
BitLocker的密码一般在你第一次激活Windows系统的账号里
关闭它比较省事,之后再打开就行
6.1.BitLocker可能触发条件
BitLocker 会在以下情况下要求输入 48 位的恢复密码:
-
TPM 出现问题:
- 如果计算机的 TPM(受信任的平台模块)在启动过程中未能正常工作,BitLocker 可能无法验证计算机的安全性,从而要求输入恢复密码。
-
系统硬件更改:
- 当计算机的硬件组件(如主板、TPM 芯片或启动驱动器)发生更改时,BitLocker 可能会要求输入恢复密码以确保数据的安全性。
-
BIOS/UEFI 设置更改:
- 如果更改了 BIOS/UEFI 设置,例如禁用了安全启动或重置了 BIOS/UEFI,BitLocker 也可能会要求输入恢复密码。
-
Windows 更新或修复:
- 在进行某些系统更新或修复操作时,BitLocker 可能会触发恢复模式,要求输入密码。
-
启动顺序变化:
- 如果启动顺序更改为尝试从不同的设备启动,BitLocker 可能会要求验证身份。
-
未按预期关机:
- 如果计算机在非正常情况下关机(如断电),下次启动时可能会要求输入恢复密码。
在启用 BitLocker 时,系统会生成一个 48 位的恢复密码,并提示用户进行备份,以防在上述情况下无法访问数据。
6.2.关闭BitLocker
在搜索栏中搜索设备加密设置或管理BitLocker
关闭需要一些时间,请耐心等待
成功后可进入磁盘管理器在C盘、D盘就不会显示有BitLocker已加密的字样了
7.为Ubuntu挤出硬盘空间
鼠标右键点击开始,打开磁盘管理
挑选一个分区为Ubuntu系统挤出空间
这里我选择D盘这个分区,然后点击压缩卷
这里输入压缩空间量就是压缩出来空间的大小
我这里就填10240MB
未分配的10GB就是刚才压缩出来的硬盘空间
补充:1G=1024MB
压缩出来的分区应该显示的是未分配
8.进入BIOS界面进行设置
重启电脑,重启过程中点击F2
(怕错过一直点也行,不同品牌的电脑快捷键和BIOS界面可能有所不同)
8.1.关闭Secure Boot
Secure Boot的选项一般在安全里,选择Disabled以关闭
8.2.boot option priorities
这是启动优先级的意思,在Boot里面,一般来说默认启动优先级最高的是U盘
如果不是,需要将U盘设为最优先启动项
退出时记得保存,退出时会提醒你保存,按F10可直接保存
9.进入U盘的Ubuntu系统
首先插入U盘重启电脑,进入ventoy的界面
选择我们安装的Ubuntu镜像,回车
选择第一个以默认Boot启动,回车
选择第一个,试用或安装Ubuntu,回车
10.安装Ubuntu系统到硬盘
1.下滑,选择中文
2.连接网络
3.选择安装Ubuntu
4.选择交互安装
5.选择默认集合
6.推荐选择这两个
7.选择手动分区
8.选择我们之前为安装Ubuntu系统而压缩出来的硬盘空间,并点击+号
注意:这里对文件大小的计算方式不同,我们在Windows压缩出来的10个G在这里显示是10.74G
根据你压缩出来的硬盘空间大概估算一下选择,不要选错了!
很容易辨别的是,我们这种压缩出来的空间前面有个剩余空间的标记
9.挂载点选择根挂载点 ,挂载点介绍见上文1.10
简而言之就是这个分区拿来储存Ubuntu系统的所有数据
10.选择用于安装引导程序的设备
你刚才选的在哪个硬盘就选择哪个硬盘
这里的nvme0n1就是指代我的硬盘,上面那个是我们的安装盘
11.进行一些设置
12.选择时区
13.安装
14.安装完成后会提示你重启
会有一个界面让你拔掉U盘,再回车
15.安装完成
11.设置镜像服务器
软件源和镜像服务器介绍见上文1.12 它会自动更新,直接停止,再点击设置就行 先点击下载自右边的链接进入下图的界面,然后点击选择最佳服务器 等待一段时间,他会给你选择一个最佳的服务器,然后我们直接点选择服务器 最后你关闭的时候会更新软件缓存,就大功告成
12.对Ubuntu的硬盘空间进行扩容
要是用久了发现硬盘空间不够用,我们就可以进行扩容
12.1.压缩硬盘空间
从多余的分区中压缩出来一些硬盘空间
忘了操作的可以返回上文(一.7.为Ubuntu挤出硬盘空间),是一样的操作
我这里压缩了10个G
12.2.进入U盘的Ubuntu系统
和上文(一.9.进入U盘的Ubuntu系统)一样
12.3.选择试用Ubuntu
选择语言为中文,一路到下图这一步就要注意了
一定要选择试用Ubuntu
其实你一进来或选完语言九点右上角的X关闭这个窗口就行
这本来就是运行在U盘的Ubuntu系统
12.4.使用GParted扩容
注意:这期间会弹出一些需要确认的窗口
1.打开终端(快捷键:Ctrl+Alt+G)
2.运行命令以安装和启动GParted
GParted的简介见上文(一.1.13.GParted的简介)
sudo apt install gparted #下载GParted
gparted #打开GParted
3.右键点击我们需要扩容的Ubuntu系统的分区
4.可以在上方拖动进行扩容,也可以点击新大小右边的+进行扩容
5.扩容完成后点击调整大小,然后确认
6.点击绿色的✓应用全部操作完成扩容
7.重启退出,不要提前把U盘拔了,能提示的时候再拔
安装好Ubuntu系统后,原来显示未分配的分区会变为状态良好
原来是97.67GB,可以看到扩容10GB成功了
13.启用GRUB
不同电脑的操作可能不同
关键在于把Ubuntu高的启动优级设置的比Windows系统的高
如果你细心一些,会发现一个问题
有两个操作系统,该怎么选择进入哪一个操作系统?
如果你直接重启,会发现直接进入Windows系统,看不到Ubuntu系统在哪
这时候就需要启用GRUB了
介绍见上文(一.1.14.GRUB的简介)
还是重启电脑进入BIOS设置界面
操作与上文(一.8.进入BIOS设置界面进行设置)相同
1.找到UEFI Hard Disk Drive BBS Priorities
介绍见上文(一.1.15.UEFI HardnDisk Drive BBS Priorities的简介)
将Boot Option 1设置为Ubuntu
2.现在退出,在启动时会进入GRUB的界面
这是完全的界面
14.修改GRUB配置文件
接下来我们要设置默认选择Windows系统,10s倒计时自动进入
这是启动的菜单,你没修改GRUB配置文件时默认进的时Ubuntu
这个菜单的序号是从0开始的,比如第五个Windows的序号是4
这是页尾,可以看到我设计了一个倒计时
14.1.进入Ubuntu系统
1.打开终端(快捷键Ctrl+Alt+t)
2.输入命令用nano文本编辑器打开GRUB配置的模板文件:
sudo nano /etc/default/grub
设置默认启动的序号和启动倒计时
再次强调:序号是从0开始的!
^是指Ctrl键,比如退出就是Ctrl+C
14.2.更新GRUB配置文件
上文修改的是GRUB配置的模板文件,我们还要更新到实际的GRUB配置文件
使用命令更新到实际的GRUB配置文件:
sudo update-grub
14.3.配置成功
现在重启就能进入GRUB界面,可以选择进入Ubuntu系统,也可以倒计时结束默认进入Windows系统
三.虚拟机中安装Ubuntu
1.虚拟机基础知识介绍
1.1.内存
虚拟机(VM)的内存作用与物理计算机中的内存类似,用于存储操作系统、应用程序以及正在运行的进程的临时数据。虚拟机的内存主要用于以下几个方面:
-
操作系统和应用程序的运行:虚拟机的内存会分配给操作系统和应用程序,以确保它们能够正常运行。操作系统使用这部分内存来管理进程和任务,应用程序则使用它来存储当前运行的数据和变量。
-
进程管理:每个正在运行的进程都会占用一部分虚拟内存空间。操作系统通过调度算法将这些进程管理在内存中,使其能够快速响应用户操作。
-
虚拟内存技术:虚拟机也使用虚拟内存技术,将物理内存与硬盘上的交换空间(或页面文件)结合使用。这使得虚拟机可以处理比分配给它的物理内存更多的数据。
-
缓存和缓冲区:虚拟机会将常用的数据存储在内存中,以减少对磁盘的访问,提高性能。例如,文件系统的缓存、数据库的查询结果等都会被存放在内存中,以提高数据读取的速度。
-
共享内存:在一些情况下,虚拟机可能需要与宿主机或其他虚拟机进行通信,内存也可以用于共享数据,尤其是通过共享内存机制来实现高效的数据交换。
总之,虚拟机的内存决定了它可以运行多么复杂的操作系统和应用程序,内存越大,虚拟机的性能通常也越好,尤其是当同时运行多个任务时。
1.2.处理器数量和每个处理器的内核数量
虚拟机(VM)的处理器数量和每个处理器的内核数量是决定其计算性能的重要参数,它们直接影响虚拟机的并发处理能力和整体性能表现。以下是处理器数量和内核数量的具体作用:
1. 处理器数量(vCPU数量)
虚拟机的“处理器”通常指虚拟中央处理单元(vCPU),它是由宿主机的物理CPU资源虚拟化后分配给虚拟机的计算单元。vCPU的数量表示虚拟机可以利用多少个并行计算资源。vCPU数量越多,虚拟机能同时处理更多的并发任务。
-
多任务处理:更多的vCPU可以让虚拟机同时处理多个任务或线程。例如,当多个应用程序或进程在虚拟机上同时运行时,虚拟机可以将它们分配到不同的vCPU上进行并行处理,提升效率。
-
提高性能:对于并行计算密集型任务(如多线程应用、数据库服务器、大型Web应用等),增加vCPU数量可以显著提高性能。虚拟机可以利用多个vCPU分担计算负载,减少单个处理器的负载压力。
-
资源分配与隔离:在虚拟化环境中,宿主机可以将其物理CPU资源分配给多个虚拟机,而每个虚拟机有自己的vCPU。这使得可以在同一台物理服务器上运行多个独立的虚拟机,彼此隔离并独立分配计算资源。
2. 每个处理器的内核数量
处理器的“内核”指的是每个vCPU中的物理或虚拟处理单元。一个多核处理器可以在同一时间执行多个独立的计算任务,核心数量决定了vCPU的内部并行处理能力。
-
提高并行计算能力:更多的内核意味着可以同时执行更多的线程或进程。多核虚拟机可以更好地处理需要并行计算的任务(如视频编码、科学计算、数据处理等),每个核心可以同时运行不同的线程,提高执行效率。
-
提升多线程性能:现代应用程序,尤其是多线程应用,可以有效利用多核处理器。每个线程可以分配到不同的核心上运行,这样可以加速任务完成时间。
-
负载分担:多核心处理器可以将计算负载均匀分布在多个核心上,避免单一核心的过载,从而提升系统的响应速度和整体性能。
3. vCPU数量和内核数量的关系
虚拟机的vCPU数量和每个vCPU的内核数量往往一起决定了虚拟机的计算能力。一般来说:
- 更多的vCPU:能够同时处理更多的任务,提高并行处理能力,适合多任务、并发较高的场景。
- 更多的内核:能够提高每个vCPU的内部处理能力,适合计算密集型、多线程的应用。
4. 实际应用场景
- Web服务器:对于负载较高的Web服务器,增加vCPU和每个vCPU的内核数量可以应对大量的并发请求,提高吞吐量。
- 数据库服务器:数据库操作通常涉及大量的计算和IO操作,更多的vCPU和内核可以显著提高查询和事务处理速度。
- 开发与测试:虚拟机常用于开发和测试环境,多vCPU和多内核配置可以快速构建复杂的应用环境并进行高并发测试。
5. 资源分配与权衡
在配置虚拟机时,需要在性能需求与资源分配之间做平衡。虽然增加vCPU和内核数量可以提高虚拟机的性能,但它们消耗的宿主机资源也会相应增加。如果分配的vCPU或内核数量超过宿主机的实际物理资源,可能会导致资源争用,影响整体性能。
总结
- vCPU数量决定了虚拟机能够并行处理多少个任务或线程。
- 每个vCPU的内核数量决定了虚拟机处理每个任务时的效率,尤其是在处理多线程应用时表现明显。
1.3.软盘设备和 CD/DVD设备
-
软盘(autoinst.flp):软盘驱动器(floppy disk)在现代操作系统中已经基本被淘汰。这个虚拟软盘驱动器可能是在虚拟机创建时自动添加的。如果你不需要使用软盘镜像(如 autoinst.flp 文件),通常可以将其移除,以简化虚拟机配置。
-
CD/DVD 1 (SATA) - autoinst.iso:这个光驱设备正在使用名为 autoinst.iso 的ISO镜像文件,通常这个文件可能与自动化安装脚本或配置相关。如果你已经安装了操作系统或不再需要这个ISO镜像,可以选择移除这个CD/DVD设备。
-
CD/DVD 2 (SATA) - ubuntu.iso:第二个光驱设备挂载了一个 ubuntu.iso 文件。这应该是你用来安装 Ubuntu 操作系统的ISO文件。如果你已经安装完成了操作系统,并且不再需要使用安装介质,也可以选择移除这个设备。
是否可以移除:
- 软盘设备:如果你不需要软盘镜像,可以安全移除。
- CD/DVD设备:如果虚拟机已经完成系统安装,且你不再需要这些ISO镜像文件,可以移除它们,减少虚拟机的硬件设备数量。
移除这些设备不会影响虚拟机的正常运行,尤其是在系统已经安装好的情况下。只要虚拟机在使用这些设备时不会加载镜像文件,就可以自由移除。
1.4.网络适配器的常见模式
在虚拟机中,网络适配器的网络连接模式决定了虚拟机与宿主机、其他虚拟机以及外部网络之间的通信方式。常见的几种网络连接模式包括:
1. 桥接模式(Bridged Mode)
桥接模式允许虚拟机直接连接到宿主机所在的物理网络,就像它是网络中的一台独立的物理计算机。
- 工作原理:虚拟机通过宿主机的物理网卡与局域网(LAN)直接通信。虚拟机会从局域网中的路由器或DHCP服务器获取自己的IP地址,与宿主机和其他物理设备在同一网络段上。
- 优点:虚拟机可以像其他物理设备一样与网络上的其他设备直接通信。适用于需要与宿主机和局域网中的其他设备通信的场景,如服务器虚拟化、测试网络设备等。
- 缺点:需要网络中有可用的IP地址,可能受限于局域网的配置。
2. NAT模式(Network Address Translation Mode)
NAT模式通过宿主机共享网络连接,虚拟机在宿主机的网络环境下访问外部网络。虚拟机使用的是宿主机的IP地址,通过网络地址转换来实现外部访问。
- 工作原理:虚拟机通过宿主机的网络连接访问外部网络,但它使用宿主机的IP地址进行通信,而虚拟机本身处于私有IP地址空间内。
- 优点:虚拟机可以轻松访问外部网络(如互联网),而不需要独立的IP地址配置。适合需要访问外部网络,但不需要与局域网内其他设备通信的场景。
- 缺点:虚拟机只能通过宿主机访问外部网络,局域网内的其他设备无法直接访问虚拟机,除非手动设置端口转发。
3. 仅主机模式(Host-only Mode)
仅主机模式将虚拟机与宿主机隔离在一个虚拟网络中,虚拟机与宿主机可以通信,但无法访问外部网络。
- 工作原理:虚拟机与宿主机在一个独立的虚拟局域网中通信,虚拟机无法通过宿主机的物理网卡访问外部网络。
- 优点:适合虚拟机与宿主机或其他虚拟机进行独立网络通信的场景,例如用于测试和开发不需要外部网络连接的应用。
- 缺点:虚拟机无法访问外部网络(如互联网),如果需要访问,需要额外配置NAT或端口转发。
4. 自定义模式(Custom Mode)
有时,虚拟机管理工具会提供自定义的网络配置选项,让用户可以在不同的虚拟网络(例如多个虚拟网卡或不同的虚拟交换机)之间进行配置。
- 工作原理:用户可以定义不同的虚拟交换机或网络,虚拟机可以连接到这些自定义的网络中。适合复杂的虚拟网络拓扑场景,如测试多种网络配置或跨虚拟机的专用网络通信。
5. 内网模式(Internal Network Mode)
一些虚拟化工具(如VirtualBox)提供内网模式,虚拟机可以在一个完全隔离的内部虚拟网络中通信,而与宿主机和外部网络没有任何联系。
-
工作原理:所有连接到内网模式的虚拟机可以互相通信,但它们无法访问宿主机或外部网络。适合用于模拟完全隔离的网络环境,如测试局域网内的通信协议或安全配置。
-
优点:用于虚拟机之间的私有通信,确保虚拟机之间的网络流量不会泄露到外部网络。
-
缺点:虚拟机无法访问外部网络或宿主机,需要配置其他网络适配器来实现访问。
6. NAT网络模式(NAT Network Mode)
与普通NAT模式类似,但NAT网络模式允许多个虚拟机共享同一个NAT网络,同时还能彼此通信。
- 工作原理:多个虚拟机通过宿主机的网络访问外部网络,并且可以在NAT网络中互相通信。类似于NAT模式,但适合多个虚拟机共享一个虚拟网络。
- 优点:虚拟机可以访问外部网络,并且多个虚拟机在同一虚拟网络中可以互相通信。
- 缺点:虚拟机无法直接被局域网或宿主机以外的设备访问。
总结
- 桥接模式:虚拟机作为网络中独立的节点,适合需要局域网通信的场景。
- NAT模式:适合需要虚拟机访问外部网络但不需要局域网通信的场景。
- 仅主机模式:适合虚拟机与宿主机或其他虚拟机之间的网络通信,不需要外部网络。
- 自定义/内网模式:用于创建复杂或完全隔离的网络环境。
根据你的使用场景,可以选择合适的网络模式进行配置。
1.5.加速3D图形
“加速3D图形”是指虚拟机中的3D图形硬件加速功能,这个功能允许虚拟机通过宿主机的物理GPU(图形处理单元)来处理三维图形渲染任务,从而提高虚拟机中运行的应用程序或操作系统的图形性能。以下是“加速3D图形”的作用及其意义:
1. 加速3D图形的作用
在虚拟机中启用3D图形加速后,虚拟机中的应用程序可以利用宿主机的GPU来处理3D渲染任务,而不只是依赖虚拟机本身的虚拟CPU进行图形处理。这可以显著提升虚拟机中的图形性能。
-
图形性能提升:启用加速3D图形后,虚拟机中的图形计算任务(如游戏、3D设计软件、图形密集型应用)可以由物理GPU处理,使得图形渲染速度更快、画面更流畅。
-
减少CPU负担:没有3D加速时,虚拟机依赖于虚拟CPU来进行图形处理,这通常导致性能较差,尤其是在运行图形密集型任务时。而启用3D加速后,图形计算转移到宿主机的GPU上,可以释放CPU资源用于其他任务,提升整体系统性能。
-
更好的用户体验:启用3D加速后,虚拟机能够更流畅地显示现代操作系统的图形界面(如Windows、Linux的3D桌面效果),例如Aero效果、窗口动画和透明效果等。
2. 适用场景
加速3D图形功能主要用于以下几类场景:
-
3D应用程序和游戏:如果你在虚拟机中运行需要强大图形处理能力的3D软件(如AutoCAD、Blender等3D建模软件)或游戏,启用3D加速可以显著提高运行效果。
-
现代操作系统图形界面:一些操作系统(如Windows 10/11、某些Linux发行版)采用复杂的桌面环境和用户界面,3D加速有助于确保这些操作系统在虚拟机中运行时的界面流畅度。
-
视频处理和图像编辑:视频编辑软件和一些高级图像处理工具会使用GPU加速来提升处理速度。在虚拟机中启用3D加速可以让这些软件更快完成渲染、编码等操作。
3. 硬件要求
要启用3D图形加速,宿主机需要满足以下条件:
-
宿主机支持硬件加速:宿主机的GPU必须支持硬件加速功能。现代的独立显卡(如NVIDIA、AMD)和部分集成显卡(如Intel Iris系列)都支持硬件加速。
-
虚拟机软件支持:虚拟化软件(如VMware Workstation、VirtualBox)需要支持3D加速功能,并且在虚拟机设置中启用该功能。
-
宿主机GPU驱动:确保宿主机的GPU驱动是最新版本,并支持虚拟化的硬件加速功能。
4. 如何启用加速3D图形
通常,你可以在虚拟机的设置中找到启用3D加速的选项。例如,在VMware Workstation中:
- 打开虚拟机的设置。
- 选择“显示器”选项。
- 勾选“加速3D图形”复选框。
类似地,在其他虚拟化平台中(如VirtualBox),你也可以在显示器设置中启用3D加速。
5. 可能的限制和注意事项
-
性能受限于宿主机的GPU:虚拟机中的图形性能仍然取决于宿主机的GPU能力。如果宿主机的GPU较弱,启用3D加速的效果可能不明显。
-
宿主机资源占用:启用3D加速后,虚拟机会占用宿主机的GPU资源。如果虚拟机与宿主机同时运行图形密集型任务,宿主机的性能可能会受到影响。
-
驱动兼容性:虚拟机中的操作系统需要正确的虚拟图形驱动才能充分利用3D加速功能。如果虚拟机中的驱动不兼容或版本过旧,3D加速可能无法正常工作。
总结
“加速3D图形”功能使虚拟机能够通过宿主机的GPU处理3D图形任务,提升图形性能,特别是在需要运行3D软件、图形密集型应用、现代操作系统界面时有显著效果。如果你在虚拟机中运行这些任务,启用3D加速将会大幅改善用户体验。
1.6.虚拟机中的磁盘
在虚拟机中安装Ubuntu时,选项 “擦除磁盘并安装 Ubuntu” 所指的“磁盘”是虚拟机的磁盘,而不是你物理计算机上的硬盘。这是虚拟机软件为这个虚拟机创建的一个虚拟硬盘(VHD或VMDK等格式),它相当于是虚拟机的独立存储设备。
1. 擦除磁盘并安装 Ubuntu
当你选择“擦除磁盘并安装 Ubuntu”时,Ubuntu会格式化并使用虚拟机创建的虚拟硬盘。它并不会影响到你物理主机(真实电脑)的硬盘,只是清空了虚拟机内部的虚拟硬盘。如果之前安装了其他系统或文件,这个选项会删除它们并进行全新安装。
2. 虚拟机硬盘空间是哪里来的?
虚拟机的硬盘是在你创建虚拟机时,手动分配的空间。例如,你可以为虚拟机分配一个50GB的虚拟硬盘空间。这个硬盘并不是真实的物理硬盘,它只是虚拟机软件(如 VMware 或 VirtualBox)在你物理硬盘上的一个文件(虚拟磁盘文件)。
3. 虚拟硬盘空间是否实际占用物理硬盘空间?
- 动态分配(Thin Provisioning):如果你在虚拟机中选择了“动态分配”硬盘,虚拟磁盘文件不会立即占用你分配的所有空间。例如,你给虚拟机分配了50GB硬盘,但只有当你在虚拟机里逐步使用硬盘时,它才会逐渐增长。例如,如果Ubuntu系统仅用了10GB,虚拟磁盘文件只会占用物理硬盘上的10GB。
- 固定分配(Thick Provisioning):如果你选择了“固定分配”硬盘,虚拟机会立即占用你分配的全部空间。比如你分配了50GB,虚拟磁盘文件会立即在物理硬盘上占用50GB的空间,即使虚拟机里面只用了2GB。
4. 硬盘空间是如何管理的?
虚拟机的硬盘空间是作为一个独立文件存在的,这个文件存储在你物理机的硬盘上。当你启动虚拟机时,操作系统(如Ubuntu)会将其视为正常的硬盘空间,和在真实电脑上操作没有差别。你分配给虚拟机的硬盘空间实际占用了你物理电脑的存储。
5. 未使用的虚拟磁盘空间还在原来的地方吗?
- 如果你采用了动态分配,那么未使用的虚拟硬盘空间不会立即占用物理硬盘的空间,物理机上的硬盘依然保留这些空间。
- 如果你采用了固定分配,即使没有用到虚拟硬盘中的所有空间,这部分硬盘也已经被分配出去,占用了物理硬盘的空间。
总结
- 虚拟机中的“擦除磁盘并安装 Ubuntu”指的是虚拟机中的虚拟硬盘,不影响物理主机上的真实磁盘。
- 虚拟硬盘是在创建虚拟机时分配的,它的空间来源于物理硬盘,但可以选择动态或者固定分配,动态分配下未使用的部分不会占用物理空间,固定分配则会立即占用。
2.下载VMware
Broadcom官网:https://support.broadcom.com/
1.VMware是这家公司的产品,需要先登录才能下载
没有账号就先注册,注册需要一个邮箱,再填一些信息
(邮箱需真实,会给你邮箱发验证码,信息可以随便填)
2.点击Software->VMware Cloud Foundation->My Downloads
3.下滑找到VMware Workstation Pro
4.选择个人版
5.第一次下载需要填一些信息,随便填
6.打开下载的安装包进行安装
7.选择安装位置,是否需要添加到系统PATH看你需求
8.如果你自定义了安装目录就会弹出这个警告
简单来说就是如果是推荐的目录,进行一些对VMware的操作需要管理员权限
现在对VMware的操作不需要什么权限了
9.这也看你需不要,不需要就不勾选
10.后面还有个快捷方式,可以勾上
11.如果你自定义了安装位置,可能会遇到下图的情况
这是系统找不到该文件的默认位置
你在浏览里找到要求的这个文件再点确定就行
12.安装完成
3.下载Ubuntu镜像
ubantu镜像:https://ubuntu.com/download/desktop
LTS 是 “Long Term Support” 的简写,意为“长期支持”。LTS 版本的操作系统会获得更长时间的支持和更新,通常是五年,这包括安全更新和软件包更新。
4.创建虚拟机
4.1.打开VMware
有密钥可以输一下,没有就选第一个
4.2.创建新的虚拟机
下一步 选择我们下载好的光盘映像文件,再点下一步 填写信息 根据需要设置虚拟磁盘的大小 取消这个创建后打开(因为我们还需要进行其它设置),再点击完成
4.3.编辑虚拟机
内存,处理器,网路i适配器这些概念见上文(三.1基础知识介绍)
1.打开点击虚拟机设置
2.可以修改内存
3.可以修改处理器数量和每个处理器内核
4.可以移除软盘和CD/DVD (SATA)
5.网络链接选择桥接模式
6.确定
5.开启虚拟机
1.开机虚拟机
2.不管什么界面,就是顺着安装走
3.选择语言
4.一路默认即可
5.这里默认擦除磁盘并安装Ubuntu即可
6.设置信息
7.选择时区
8.安装
9.安装完成后重启
10.会让你回车进入
11.可以调节一些分辨率吧
先点击显示设置
我这里选择与我的电脑一样的分辨率
6.设置镜像服务器
具体操作与(上文一.10.设置镜像服务器)一样,这里不再赘述 上面栏目的按键的作用,在把鼠标移上去后有解释
7.查询ip和启动SSH服务
7.1.基础知识介绍
SSH
SSH 是一种网络协议,用于安全地访问和管理远程计算机。它通过加密的连接提供安全的命令行界面,允许用户远程执行命令、管理文件、以及进行安全的文件传输(如 SFTP)。 SSH 可以同时支持这IPv4和IPv6协议
IPv4
IPv4(Internet Protocol version 4)是互联网上最广泛使用的网络协议之一,使用 32 位地址格式,提供大约 42 亿个地址。IPv4 地址通常以四个十进制数表示,如 192.168.1.1。 我们之后传输文件都会用到ip地址
IPv6
这是 IPv4 的继任者,使用 128 位地址,提供几乎无限的地址空间,旨在解决 IPv4 地址枯竭的问题。IPv6 地址通常以八组十六进制数表示。
7.2.查询ip
我们这里演示使用ipv4地址
可以使用命令:ifconfig
一般需要先安装一下工具才能使用:
sudo apt install net-tools
如果安装失败,可以换一下镜像服务器
7.3.启动SSH服务
先安装openssh-server:
sudo apt install openssh-server
然后开启SSH(每次使用SSH都需要用此命令打开服务):
sudo systemctl start ssh
设置成开机自动启动(就成一直打开的状态了):
sudo systemctl enable ssh
随后查看SSH服务状态:
sudo systemctl status ssh
使用此命令后会进入分页器状态,按q退出
8.传输文件(VS Code)
我们需要先下载插件,再配置环境
8.1.Remote - SSH 插件
8.2.主要功能
VS Code 的 Remote - SSH 插件允许你通过 SSH 远程连接到其他计算机,直接在 VS Code 中进行开发。这是一个非常强大的工具,适用于以下场景:
-
远程开发:你可以在本地计算机上使用 VS Code,但实际上是在远程服务器上运行代码。这对于服务器、云环境或容器的开发特别有用。
-
无缝集成:通过这个插件,你可以访问远程机器上的文件,使用终端和调试工具,几乎就像在本地开发一样。
-
环境配置:你可以在远程机器上安装所需的扩展和配置,VS Code 会自动同步这些设置。
-
安全性:通过 SSH 连接,数据传输是加密的,确保了安全性。
使用方法:
- 安装插件后,通过命令面板(Ctrl+Shift+P)选择“Remote-SSH: Connect to Host”,然后输入远程主机的 SSH 地址,进行连接。
8.3.配置文件
打开命令面板,(F1,搜索栏输入一个>,Ctrl+Shift+P都行),输入命令:
remote ssh: open ssh configuration file
选第一个
Host填入我们虚拟机的别名
HostName填入我们虚拟机的ip地址
User填入我们虚拟机上连接到用户的用户名
8.4.连接虚拟机
打开命令面板,使用命令:
remote ssh : connect current windows to host
第一个当前窗口打开,第二个另外一个窗口打开
我们虚拟机的系统是Linux,后面再输个密码
可以直接打开虚拟机上的文件,但需要输入密码
我打开桌面文件创建了一个py程序
VS Code左侧会出现一个远程资源管理器
因为权限问题,只会显示你打开的文件
终端可以直接使用linux上的命令
如果要复制文件,你打开需要复制到的文件夹,然后把需要复制的文件拖进去就行了
总的来说,VS Code中使用SSH连接更偏向开发,而不是传输文件
9.传输文件(MabaXterm)
下载网址:https://mobaxterm.mobatek.net/download.html
下载免费版的即可
可以看到常用的有两个版本,简单来说:
第一个是便携版,无需安装就可直接运行
第二个是安装版,需要安装,有更多功能
我这里使用的是安装版,把下载的安装包解压后,点击msi文件安装
点击Session(指一个与远程服务器或系统的连接会话)
然后点击SSH,输入ip和用户名
初次连接需要输入密码
第一次用还需要设置一个主密码,在你进行特定操作时进行验证
我们成功连接了,可以进行文件间的传输了,拖动或点击上传图标都可以
MobaXterm还有许多功能,需要自行探索
10.传输文件(WinSCP)
下载网址:https://winscp.net/eng/download.php
打开进去,添加站点点新建标签页就会弹出这个页面
主机名是我们虚拟机的ip地址,连接前确保虚拟机打开了SSH服务
可以鼠标右键点击文件进行上传和下载,也可拖动进行
四.使用Linux
1.关于Linux的一些网站
有几个网站提供了详细的 Linux 命令及其介绍:
-
Linux Command (https://linuxcommand.org/)
这个网站提供了大量的 Linux 命令及其用法,适合初学者和有经验的用户。 -
SS64 https://ss64.com/bash/
这个网站包含了 Bash 命令的完整列表,每个命令都有详细的说明和用法示例。 -
TLDP (The Linux Documentation Project) https://tldp.org/
提供各种文档和指南,包括 Linux 命令和系统管理的手册。 -
Cheat Sheet https://www.cheat-sheets.org/
这个网站提供了多个主题的备忘单,包括常用的 Linux 命令,方便快速查找。 -
Die.net https://linux.die.net/
这是一个提供 Linux 命令及其手册页的网站,可以查找特定命令的详细信息。
2.Shell的简介
终端与 Shell 的关系
-
终端: 这是一个用于输入和输出的界面,用户通过终端与操作系统交互。在现代 Linux 系统中,终端通常指的是图形界面的终端模拟器(如 GNOME Terminal、Konsole、xterm 等)或纯文本的控制台(TTY)。
-
Shell: 这是一个在终端中运行的程序,用户通过它输入命令并接收结果。常见的 Shell 包括 Bash、Zsh 和 Fish 等。
Linux 命令
-
Linux 命令: 通常指的是可以在 Shell 中执行的命令。这些命令用于各种任务,如文件管理、系统监控和网络操作等。例如,ls、cp、mv、grep 等都是常见的 Linux 命令。
-
Shell 命令: 更准确地说,Linux 命令实际上是 Shell 命令,因为它们是在特定的 Shell 环境中执行的。因此,当人们提到“Linux 命令”时,通常是指 Shell 中可用的命令。
总结
- 终端 是与用户交互的界面。
- Shell 是终端中的命令解释器,执行用户输入的命令。
- Linux 命令 是在 Shell 中执行的命令。
所以,Linux 终端通常与 Shell 是密切相关的,Linux 命令指的就是在 Shell 中可以执行的命令。
3.Linux的常用快捷键
在 Linux 中,尤其是在使用终端时,有许多快捷键可以提高效率。以下是一些常用的 Linux 快捷键及其功能:
终端快捷键
-
基本操作
- Ctrl + C: 终止当前运行的命令。
- Ctrl + Z: 将当前运行的命令暂停并放入后台。
- fg: 将最近放入后台的命令恢复到前台运行。
- bg: 将最近放入后台的命令在后台继续运行。
-
命令行编辑
- Ctrl + A: 移动光标到命令行的开头。
- Ctrl + E: 移动光标到命令行的结尾。
- Ctrl + U: 删除光标前的所有文本。
- Ctrl + K: 删除光标后的所有文本。
- Ctrl + W: 删除光标前一个单词。
- Ctrl + Y: 粘贴之前删除的文本(来自 Ctrl + U、Ctrl + K 或 Ctrl + W)。
-
命令历史
- Ctrl + R: 启动反向搜索命令历史,可以输入命令的一部分来查找。
- Ctrl + N: 向下浏览命令历史。
- Ctrl + P: 向上浏览命令历史。
- !!: 执行上一条命令。
-
光标移动
- 左箭头 / 右箭头: 在命令行中移动光标。
- Ctrl + 左箭头 / Ctrl + 右箭头: 在命令行中按单词移动光标。
系统快捷键
-
桌面环境快捷键(如 GNOME 或 KDE)
- Alt + F2: 打开运行对话框,可以输入命令直接运行。
- Ctrl + Alt + T: 打开新的终端窗口。
- Super (Windows 键) + D: 最小化所有窗口并显示桌面。
- Alt + Tab: 在打开的应用程序之间切换。
-
文件管理器快捷键
- Ctrl + N: 打开新窗口。
- Ctrl + Shift + N: 创建新文件夹。
- Delete: 删除选中的文件或文件夹。
文本编辑器(如 Vim 或 Nano)
-
Vim 快捷键
- i: 进入插入模式。
- Esc: 退出插入模式。
- :w: 保存文件。
- :q: 退出 Vim。
- :wq: 保存并退出。
-
Nano 快捷键
- Ctrl + O: 保存文件。
- Ctrl + X: 退出 Nano。
- Ctrl + G: 显示帮助。
其他常用快捷键
- Ctrl + Alt + F1 到 Ctrl + Alt + F6: 切换到不同的 TTY(文本终端)。
- Ctrl + Alt + F7: 返回到图形界面。
4.Linux目录的简介
Linux 文件系统采用树状结构,所有文件和目录都从根目录(/)开始。以下是一些主要的 Linux 目录及其功能:
1. / (根目录)
- 文件系统的顶层目录,所有其他目录都从这里开始。
2. /bin
- 存放基本的用户命令和可执行文件,如 ls、cp、mv、cat 等。
3. /sbin
- 存放系统管理命令和可执行文件,通常需要管理员权限才能执行,如 shutdown、reboot、ifconfig 等。
4. /etc
- 存放系统配置文件。这里的文件通常是纯文本格式,可以编辑和修改系统设置。
5. /dev
- 存放设备文件,包括所有的硬件设备,如硬盘、终端、打印机等。在 Linux 中,设备也被视为文件。
6. /proc
- 虚拟文件系统,提供关于系统和进程的信息。文件是动态生成的,包含内存使用、CPU 状态等信息,如 /proc/cpuinfo 和 /proc/meminfo。
7. /var
- 存放可变数据文件,如日志文件(在 /var/log 中)、邮件、缓存和临时文件等。
8. /tmp
- 存放临时文件,通常在系统重启后会被清空。
9. /usr
- 存放用户级别的程序和文件,通常包含以下子目录:
- /usr/bin: 存放大多数用户命令的可执行文件。
- /usr/sbin: 存放系统管理命令。
- /usr/lib: 存放库文件和共享库。
- /usr/share: 存放共享数据,如文档和图标。
10. /home
- 每个用户的个人目录,用户的文件、配置和数据存储在这里。例如,用户 user1 的家目录通常是 /home/user1。
11. /root
- 超级用户(root 用户)的家目录,通常是 /root。
12. /media
- 挂载点,用于临时挂载可移动设备(如 USB 驱动器、CD-ROM 等)。
13. /mnt
- 通常用于临时挂载文件系统的地方,管理员可以在这里手动挂载额外的设备。
14. /opt
- 存放额外的、可选的应用程序和软件包,通常用于大型软件包或应用程序。
15. /boot
- 存放启动加载程序和内核文件。这里的文件在系统启动时被使用。
总结
Linux 目录结构清晰、层次分明,使得系统的管理和操作更为高效。理解这些目录及其功能是使用和管理 Linux 系统的重要基础。
5.Linux终端各种颜色的含义
在 Linux 终端中,文件和目录的颜色编码提供了视觉上的帮助,帮助用户快速识别不同类型的文件和目录。颜色的具体表示可能因终端的配置而有所不同,但以下是常见的颜色及其代表的含义:
常见颜色及其含义
-
蓝色
- 目录: 代表普通目录。
-
绿色
- 可执行文件: 代表可执行的程序或脚本。
-
红色
- 压缩文件: 代表压缩文件(如 .zip、.tar.gz 等)。
-
紫色(洋红色)
- 图像文件: 代表图像文件(如 .jpg、.png 等)。
-
青色(青蓝色)
- 符号链接: 代表指向其他文件或目录的符号链接。
-
黄色
- 设备文件: 代表设备文件,通常位于 /dev 目录下。
-
白色
- 普通文件: 代表普通文件。
-
亮蓝色
- 目录(特殊目录): 可能用于标识系统的特殊目录。
-
亮绿色
- 可执行文件(特别的): 可能用于标识系统的特殊可执行文件。
颜色配置
终端中的颜色设置通常由环境变量 LS_COLORS 控制。你可以通过以下命令查看当前的颜色设置:
echo $LS_COLORS
如果需要自定义颜色,你可以编辑 ~/.bashrc 或 ~/.bash_profile 文件,并设置 LS_COLORS 变量。
默认情况下,使用 ls 命令时,通常会带有 –color 选项,显示带颜色的文件和目录。示例如下:
ls –color=auto
这将自动根据文件类型使用颜色。
6.Linux的一些辅助操作
Tab 键的作用
在 Linux 终端中,Tab 键主要用于自动补全功能,具体作用如下:
-
命令补全: 当你开始输入一个命令时,按下 Tab 键会自动补全命令。例如,输入 ls 后按 Tab,终端会尝试补全该命令。
-
文件和目录补全: 当输入文件或目录名时,按 Tab 键会自动补全输入。例如,输入 cd Doc 后按 Tab,如果当前目录下有名为 Documents 的目录,终端会自动补全为 cd Documents。
-
显示可选项: 如果有多个可能的补全选项,按下 Tab 键两次,终端会显示所有匹配的选项。例如,输入 ls /u 后按 Tab 两次,可能会显示 /usr/ 和 /var/ 等可选目录。
man 命令
man(manual的缩写)命令用于查看系统中的手册页(man pages),提供关于命令、系统调用和库函数的详细说明。使用格式如下:
man [命令]
示例:
-
查看 ls 命令的手册:
man ls
-
查看 man 命令本身的手册:
man man
手册页的简介
在 Linux 的 man 命令查看手册页时,有几个基本的键盘操作可以用来翻页、滚动和退出。以下是常用的操作键:
翻页和滚动:
- 空格键 (Space): 向下翻一页。
- Enter: 向下滚动一行。
- 上箭头: 向上滚动一行。
- 下箭头: 向下滚动一行。
- Ctrl + B: 向上翻一页(Back)。
- Ctrl + F: 向下翻一页(Forward)。
- Ctrl + U: 向上滚动半页(Up)。
- Ctrl + D: 向下滚动半页(Down)。
搜索:
- /: 启动向前搜索,可以输入你要搜索的关键词并按 Enter。
- ?: 启动向后搜索,同样输入关键词并按 Enter。
- n: 跳转到下一个搜索结果。
- N: 跳转到上一个搜索结果。
退出:
- q: 退出手册页。
其他操作:
- h: 显示帮助信息,提供常用的命令和快捷键的总结。
手册页结构
手册页通常分为多个部分,包括:
- NAME: 命令的名称和简短描述。
- SYNOPSIS: 命令的使用语法。
- DESCRIPTION: 命令的详细描述和选项。
- EXAMPLES: 使用命令的示例(并非所有手册都有)。
- SEE ALSO: 相关命令或手册的参考。
常用选项
- man -k [关键词]: 根据关键词搜索手册页。
- man -f [命令]: 显示命令的简短描述。
whatis 命令
whatis 命令用于显示指定命令或主题的简短描述。它通常用来快速了解某个命令的功能。使用格式如下:
whatis [命令]
示例:
-
查询 ls 命令的简短描述:
whatis ls
-
查询 grep 命令的简短描述:
whatis grep
注意事项
-
whatis 命令依赖于 man 数据库,通常在系统更新后需要更新手册数据库,可以通过以下命令更新:
mandb
总结
- Tab 键: 在 Linux 终端中用于命令和文件的自动补全。
- man 命令**: 用于查看详细的命令手册。
- whatis 命令**: 用于快速查看命令的简短描述。
这些工具和功能可以大大提高在 Linux 系统中工作和操作的效率。
7.Linux常用命令
以下是按使用频率排序的常用 Linux 命令,并简要介绍了它们的功能:
1. ls (List)
- 功能:列出当前目录下的文件和文件夹。
- 示例:ls -l 显示详细的文件信息(权限、大小、日期等)。
2. cd (Change Directory)
- 功能:用于在文件系统中更改当前目录。
- 示例:cd /home/user 切换到用户的主目录。
3. pwd (Print Working Directory)
- 功能:显示当前所在的工作目录。
- 示例:pwd 返回当前路径,比如 /home/user。
4. mkdir (Make Directory)
- 功能:创建新的文件夹。
- 示例:mkdir new_folder 创建名为 new_folder 的目录。
5. rm (Remove)
- 功能:删除文件或目录。
- 示例:rm file.txt 删除文件,rm -r folder 递归删除文件夹及其内容。
6. cp (Copy)
- 功能:复制文件或目录。
- 示例:cp file.txt /home/user/ 将 file.txt 复制到 /home/user/ 目录。
7. mv (Move)
- 功能:移动或重命名文件。
- 示例:mv file.txt /home/user/ 移动文件,或 mv old_name.txt new_name.txt 重命名文件。
8. cat (Concatenate)
- 功能:查看文件内容,或将多个文件合并输出。
- 示例:cat file.txt 显示文件内容。
9. touch
- 功能:创建空文件或更新现有文件的时间戳。
- 示例:touch newfile.txt 创建空文件 newfile.txt。
10. chmod (Change Mode)
- 功能:更改文件或目录的权限。
- 示例:chmod 755 script.sh 设置 script.sh 为可执行权限。
11. chown (Change Owner)
- 功能:更改文件或目录的所有者。
- 示例:chown user:group file.txt 更改文件的所有者和组。
12. find
- 功能:在文件系统中搜索文件或目录。
- 示例:find /home -name “file.txt” 在 /home 目录下查找 file.txt 文件。
13. grep
- 功能:从文件中搜索匹配的文本。
- 示例:grep “keyword” file.txt 在 file.txt 中搜索包含 “keyword” 的行。
14. echo
- 功能:输出文本或变量的值。
- 示例:echo “Hello, World!” 输出文本,echo $PATH 显示环境变量 PATH。
15. df (Disk Free)
- 功能:显示文件系统的磁盘使用情况。
- 示例:df -h 以人类可读的格式显示磁盘使用情况。
16. du (Disk Usage)
- 功能:查看文件或目录占用的磁盘空间。
- 示例:du -sh /home/user/ 查看用户目录的大小。
17. ps (Process Status)
- 功能:显示当前系统运行的进程。
- 示例:ps aux 列出所有进程的详细信息。
18. top
- 功能:实时显示系统进程和资源使用情况。
- 示例:top 显示 CPU、内存使用等进程状态。
19. kill
- 功能:结束进程。
- 示例:kill 1234 结束进程号为 1234 的进程,kill -9 1234 强制结束。
20. nano / vim / vi
- 功能:文本编辑器,nano 是易用的命令行文本编辑器,vim 和 vi 功能更强大,适合高级用户。
- 示例:nano file.txt 或 vim file.txt 编辑文件。
21. sudo (Superuser Do)
- 功能:以超级用户权限执行命令。
- 示例:sudo apt update 更新软件包信息。
22. apt / yum / dnf
- 功能:包管理器,用于安装、更新、删除软件包。apt 用于基于 Debian 的系统(如 Ubuntu),yum 和 dnf 用于基于 RedHat 的系统。
- 示例:sudo apt install package 安装软件包。
23. wget
- 功能:从网络下载文件。
- 示例:wget http://example.com/file.zip 下载文件。
24. curl
- 功能:传输数据,支持多种协议(HTTP、FTP等),通常用于 API 调用或文件下载。
- 示例:curl https://api.example.com 发送 GET 请求。
25. tar
- 功能:用于压缩和解压缩文件。
- 示例:tar -czvf archive.tar.gz /path/to/directory 压缩目录,tar -xvzf archive.tar.gz 解压缩。
26. zip/unzip
- 功能:压缩和解压缩 ZIP 文件。
- 示例:zip -r archive.zip folder 压缩目录,unzip archive.zip 解压缩文件。
27. ssh (Secure Shell)
- 功能:远程登录到另一台 Linux 服务器。
- 示例:ssh user@hostname 通过 SSH 登录远程服务器。
28. scp (Secure Copy)
- 功能:通过 SSH 进行安全的文件传输。
- 示例:scp file.txt user@remote:/path/to/destination 将文件传输到远程服务器。
29. history
- 功能:显示用户输入过的命令历史记录。
- 示例:history 列出最近的命令,!123 执行历史记录中第 123 个命令。
30. reboot / *shutdown
- 功能:重新启动或关闭系统。
- 示例:sudo reboot 重新启动系统,sudo shutdown -h now 立即关闭系统。
31. alias
- 功能:为命令创建别名。
- 示例:alias ll=’ls -l’ 将 ll 设置为 ls -l 的别名。
32. unalias
- 功能:删除命令别名。
- 示例:unalias ll 删除 ll 的别名。
33. awk
- 功能:一个强大的文本处理工具,用于模式匹配和文本过滤。
- 示例:awk ‘{print $1}’ file.txt 输出每行的第一个字段。
34. sed (Stream Editor)
- 功能:用于对文件内容进行文本替换、删除等操作。
- 示例:sed ‘s/old/new/g’ file.txt 将文件中所有的 “old” 替换为 “new”。
35. head
- 功能:显示文件的前几行。
- 示例:head -n 10 file.txt 显示文件的前 10 行。
36. tail
- 功能:显示文件的最后几行。
- 示例:tail -n 10 file.txt 显示文件的最后 10 行,tail -f file.txt 实时监视文件更新。
37. sort
- 功能:对文件内容进行排序。
- 示例:sort file.txt 对文件的行进行排序。
38. uniq
- 功能:删除文件中的重复行。
- 示例:uniq file.txt 去除重复的行。
39. wc (Word Count)
- 功能:计算文件中的行数、单词数、字符数。
- 示例:wc file.txt 输出文件的行数、单词数和字符数。
40. basename
- 功能:获取路径中去掉目录部分的文件名。
- 示例:basename /home/user/file.txt 输出 file.txt。
41. dirname
- 功能:获取文件的目录路径。
- 示例:dirname /home/user/file.txt 输出 /home/user。
42. diff
- 功能:比较两个文件的不同。
- 示例:diff file1.txt file2.txt 显示两个文件之间的差异。
43. ln
- 功能:创建文件或目录的符号链接或硬链接。
- 示例:ln -s file.txt link_to_file.txt 创建一个符号链接。
44. locate
- 功能:快速查找文件。
- 示例:locate file.txt 查找系统中所有名为 file.txt 的文件。
45. updatedb
- 功能:更新 locate 命令使用的数据库。
- 示例:sudo updatedb 更新文件索引。
46. mount
- 功能:挂载文件系统到指定目录。
- 示例:sudo mount /dev/sdb1 /mnt 将 /dev/sdb1 分区挂载到 /mnt 目录。
47. umount
- 功能:卸载文件系统。
- 示例:sudo umount /mnt 卸载挂载的文件系统。
48. dd
- 功能:用于低级别复制和转换文件或设备数据,通常用于创建磁盘映像。
- 示例:dd if=/dev/sda of=/dev/sdb 复制磁盘。
49. fdisk
- 功能:用于查看和管理磁盘分区表。
- 示例:sudo fdisk -l 列出所有分区信息。
50. df (Disk Free)
- 功能:显示文件系统的磁盘空间使用情况。
- 示例:df -h 以人类可读的格式显示磁盘使用情况。
51. du
- 功能:查看文件或目录占用的磁盘空间。
- 示例:du -sh /home/user/ 查看用户目录的大小。
52. nc (Netcat)
- 功能:网络工具,用于调试和通信。
- 示例:nc -l 12345 启动监听端口 12345。
53. ifconfig
- 功能:配置或显示网络接口。
- 示例:ifconfig 显示网络接口信息。
54. ip
- 功能:更现代的网络接口管理工具,替代 ifconfig。
- 示例:ip addr 显示网络接口及 IP 地址。
55. ping
- 功能:用于测试网络连接和延迟。
- 示例:ping google.com 测试到 Google 的网络连接。
56. traceroute
- 功能:追踪数据包从源到目的地经过的路径。
- 示例:traceroute google.com 查看数据包的传输路径。
57. netstat
- 功能:显示网络连接、路由表和接口统计信息。
- 示例:netstat -an 显示所有网络连接。
58. ss
- 功能:类似于 netstat,用于显示网络连接。
- 示例:ss -tuln 显示监听的套接字。
59. uptime
- 功能:显示系统已运行的时间、当前时间和负载。
- 示例:uptime 显示系统运行时长。
60. htop
- 功能:一个增强版的 top,用于实时查看系统资源使用情况。
- 示例:htop 启动 htop 监控工具。
61. dmesg
- 功能:显示内核环缓冲区的消息,通常用于调试系统问题。
- 示例:dmesg 查看启动日志。
62. journalctl
- 功能:查看和过滤系统日志。
- 示例:journalctl -xe 查看系统日志中最新的错误。
63. who
- 功能:显示当前登录到系统的用户。
- 示例:who 列出当前在线用户。
64. w
- 功能:显示当前登录用户及其活动。
- 示例:w 列出用户的登录时间和活动。
65. useradd
- 功能:添加新用户。
- 示例:sudo useradd username 添加新用户。
66. usermod
- 功能:修改用户帐户信息。
- 示例:sudo usermod -aG sudo username 将用户添加到 sudo 组。
67. userdel
- 功能:删除用户。
- 示例:sudo userdel username 删除用户帐户。
68. passwd
- 功能:更改用户密码。
- 示例:passwd username 为 username 更改密码。
69. groupadd
- 功能:创建新用户组。
- 示例:sudo groupadd groupname 创建新组。
70. groups
- 功能:显示用户所属的组。
- 示例:groups username 查看用户所属的组。
71. tar
- 功能:用于打包和解压缩文件。
- 示例:tar -czvf archive.tar.gz folder/ 压缩目录。
72. gzip
- 功能:压缩文件。
- 示例:gzip file.txt 将文件压缩为 file.txt.gz。
73. gunzip
- 功能:解压缩 gzip 文件。
- 示例:gunzip file.txt.gz 解压缩文件。
74. bzip2
- 功能:使用 bzip2 压缩文件。
- 示例:bzip2 file.txt 将文件压缩为 **fileHere is the continuation of 70 additional Linux commands, completing the list:
74. bzip2
- 功能:使用 bzip2 压缩文件。
- 示例:bzip2 file.txt 将文件压缩为 file.txt.bz2。
75. bunzip2
- 功能:解压缩 bzip2 文件。
- 示例:bunzip2 file.txt.bz2 解压缩文件。
76. xargs
- 功能:将标准输入的输出作为命令的参数。
-
示例:**cat files.txt xargs rm** 删除列表中的文件。
77. find
- 功能:查找文件或目录。
- 示例:find /home -name “file.txt” 在 /home 目录下查找名为 file.txt 的文件。
78. locate
- 功能:基于数据库快速查找文件。
- 示例:locate file.txt 查找文件。
79. chown
- 功能:更改文件的所有者。
- 示例:sudo chown user:group file.txt 更改文件的所有者为 user,组为 group。
80. chgrp
- 功能:更改文件的组。
- 示例:sudo chgrp groupname file.txt 将文件的组更改为 groupname。
81. chmod
- 功能:更改文件权限。
- 示例:chmod 755 file.txt 设置文件权限为所有者可读写执行,组和其他人可读执行。
82. umask
- 功能:设置文件创建时的默认权限掩码。
- 示例:umask 022 创建文件的默认权限为 755。
83. scp
- 功能:通过 SSH 安全地复制文件。
- 示例:scp file.txt user@server:/path 将文件复制到远程服务器。
84. rsync
- 功能:高效地同步文件和目录。
- 示例:rsync -avz /source/ /destination/ 同步源目录到目标目录。
85. ssh
- 功能:通过 SSH 连接到远程服务器。
- 示例:ssh user@server 连接到远程服务器。
86. wget
- 功能:从网络下载文件。
- 示例:wget http://example.com/file.txt 下载文件。
87. curl
- 功能:从网络传输数据,支持多种协议。
- 示例:curl http://example.com 从网页获取内容。
88. uptime
- 功能:显示系统已运行时间和负载。
- 示例:uptime 显示系统正常运行的时间。
89. free
- 功能:显示系统内存的使用情况。
- 示例:free -h 以人类可读格式显示内存使用。
90. vmstat
- 功能:显示系统的虚拟内存统计。
- 示例:vmstat 实时监控系统性能。
91. lsof
- 功能:显示当前打开的文件。
-
示例:**lsof grep filename** 查看哪些进程打开了特定文件。
92. top
- 功能:实时显示系统进程的运行情况。
- 示例:top 显示进程及资源使用情况。
93. kill
- 功能:终止指定进程。
- 示例:kill -9 PID 强制终止进程。
94. pkill
- 功能:根据进程名终止进程。
- 示例:pkill firefox 关闭所有 Firefox 进程。
95. killall
- 功能:终止所有匹配的进程。
- 示例:killall apache2 终止所有 apache2 进程。
96. cron
- 功能:用于定时执行任务的守护进程。
- 示例:crontab -e 编辑定时任务。
97. at
- 功能:用于计划在特定时间运行一次性任务。
-
示例:**echo “sh backup.sh” at 2pm** 计划在下午 2 点运行备份脚本。
98. batch
- 功能:在系统负载较低时运行批处理任务。
-
示例:**echo “tar -czf backup.tar.gz /data” batch** 任务将在系统负载较低时执行。
99. hostname
- 功能:显示或设置系统的主机名。
- 示例:hostname 显示当前主机名。
100. whoami
- 功能:显示当前登录用户的用户名。
- 示例:whoami 输出当前用户名称。
101. uptime
- 功能:显示系统启动时间及负载。
- 示例:uptime 显示系统运行时长。
102. dstat
- 功能:实时显示系统的资源使用情况。
- 示例:dstat 实时监控 CPU、内存和网络使用。
103. passwd
- 功能:更改用户密码。
- 示例:passwd 为当前用户更改密码。
104. groupadd
- 功能:创建一个新的用户组。
- 示例:sudo groupadd developers 创建一个名为 developers 的用户组。
105.useradd
- 功能:创建一个新用户。
- 示例:sudo useradd username 创建新用户。
106. usermod
- 功能:修改现有用户的属性。
- 示例:sudo usermod -aG groupname username 将用户添加到一个组中。
107. deluser
- 功能:删除用户。
- 示例:sudo deluser username 删除用户账户。
108. modprobe
- 功能:加载或移除内核模块。
- 示例:sudo modprobe module_name 加载内核模块。
109. lsmod
- 功能:列出已加载的内核模块。
- 示例:lsmod 显示当前加载的内核模块。
110. rmmod
- 功能:卸载内核模块。
- 示例:sudo rmmod module_name 卸载指定的内核模块。
111. depmod
- 功能:生成模块依赖信息。
- 示例:sudo depmod 生成模块依赖信息文件。
112. iwconfig
- 功能:配置无线网络接口。
- 示例:iwconfig wlan0 essid “network_name” 配置无线网络。
113. ifup
- 功能:启动网络接口。
- 示例:sudo ifup eth0 启动以太网接口。
114. ifdown
- 功能:关闭网络接口。
- 示例:sudo ifdown eth0 关闭以太网接口。
115. dhclient
- 功能:获取或释放 DHCP 分配的 IP 地址。
- 示例:sudo dhclient eth0 获取新的 IP 地址。
116. host
- 功能:DNS 查找工具,用于解析域名到 IP。
- 示例:host google.com 获取 Google 的 IP 地址。
117. dig
- 功能:更高级的 DNS 查找工具。
- 示例:dig example.com 查询 DNS 信息。
118. nslookup
- 功能:查询域名或 IP 地址的 DNS 记录。
- 示例:nslookup google.com 查询 DNS 记录。