【Linux操作系统】第一弹——Linux基础篇
文章目录
- 💡 一. Linux的基本常识
- 🪔 1.1 linux网络连接三种方式
- 🪔1.2 虚拟机的克隆
- 🪔1.3 虚拟机的快照
- 🪔1.4 虚拟机的迁移和删除
- 🪔1.5 vmtools工具
- 💡二. Linux的目录结构
- 🪔2.1 Linux目录结构简介
- 🪔2.2 Linux目录结构详解
- 🪔2.3 Linux 基本操作
- 🔥2.3.1 Linux 远程登录
- 🔥2.3.2 Linux vi/vim 编辑器
- <font color=#FFA500 size=3>使用vim工具
- <font color=#FFA500 size=3>vi/vim 的三种模式
- <font color=#FFA500 size=3>三种模式的快捷键切换
- <font color=#FFA500 size=3>vim快捷键
- 🔥2.3.3 Linux 关机重启
💡 一. Linux的基本常识
🪔 1.1 linux网络连接三种方式
- 桥接模式
在桥接模式下,虚拟机里面的网络地址必须和外部的网络地址保持在同一网段(也就是前三组数字必须是一样的)。这样linux操作系统才可以和外部的机器进行通信。第四组数字最多取1-255,如果用户人数太多,容易造成IP冲突。
- NAT模式
在NAT模式下,虚拟机里面的网络可以不再和主机里面的网络保持在同一网段。但是主机里面会存在虚拟网卡(192.168.100.99),这个虚拟网卡的ip地址必须和linux里面的IP地址(192.168.100.88)在同一网段。这样linux就可以通过虚拟网卡和主机之间进行通信了。同时也可以通过主机的真实地址(192.168.0.50)和外部网络进行通信。这样的好处是可以避免造成IP冲突
既可以访问主机网络,也可以访问外网网络
- 主机模式
这个很简单,就是linux系统的ip地址和主机的ip地址必须保持一致,需要经常修改,几乎不采用
🪔1.2 虚拟机的克隆
如果你已经安装了一台linux操作系统,你还想要更多的linux操作系统,这里我们就没有必要再重新安装linux操作系统了,因为会非常的耗时、麻烦。你只需要在原来linux操作系统上克隆就可以实现
注意:克隆的时候,需要先关闭Linux操作系统
下面我们介绍两种克隆虚拟机的方式:
方式1:直接拷贝一份安装好的虚拟机文件。
我们可以在已经安装的linux操作系统所在的目录上,直接复制 粘贴即可
粘贴到你想要克隆虚拟机的位置
方式2:使用vmware的克隆操作
注意:
在选择克隆类型的时候,有两种。
第一种:创建链接克隆。这种克隆的方式占用的磁盘空间较小,克隆时间更快。本质上还是使用原来的linux操作系统,只是克隆了原linux操作系统的引用。
第二种:创建完整克隆。这种克隆的方式占用是磁盘空间较大,克隆时间比较慢,相当于把原来的linux操作系统复制了一份。一般我们选择完整克隆
🪔1.3 虚拟机的快照
如果你在使用linux操作系统的时候,你想回到原来的某一个状态(也就是可能出现在误操作上造成的系统异常),需要回到原先某个正常运行的状态,vmware提供了这样的功能,就叫快照管理
下面我们来演示虚拟机快照:
🪔1.4 虚拟机的迁移和删除
当linux操作系统安装完成之后,它的本质是以文件的形式保存在文件目录里面的。因此虚拟系统的前移也十分简单,我们只需要把安装好虚拟系统所在的文件夹直接剪切或拷贝至指定的目录即可。删除也很简单,我们可以使用vmware自带的删除功能进行删除
首先我们关闭linux操作系统,然后右键–>管理–>从磁盘中清除即可
迁移虚拟机直接剪切虚拟机文件就可以
🪔1.5 vmtools工具
实现Windows系统和Linux系统数据共享
可以让我们在windows下更好的管理vm虚拟机。可以设置windows和centos的共享文件夹
1、进入centos(将光驱弹出来)
2、点击vm菜单的 install vmware tools
3、centos会出现一个vm安装包, xx.tar.gz
右键光盘–>Open
4.拷贝到opt目录
我们右键这个tar.gz文件,选择copy。将其拷贝至opt目录下面去
Home–>Other Locations -->Computer–>opt -->右键 paste
5、使用解压命令tar,得到一个安装文件
6、进入解压的目录
7、安装vmware-install.pl文件(./vmware-install.pl)
8、创建共享文件目录
右键虚拟机,点击设置
9、使用共享文件夹
在windows系统中的myshare目录下面创建文件hello.txt,并在文件里面输入hello
💡二. Linux的目录结构
🪔2.1 Linux目录结构简介
linux的文件系统和windows的文件不一样。windows文件系统中会有很多盘符,在盘符下面又有很多的文件目录。但是linux文件目录不是这样的。linux文件系统采用的是层级式的树状目录结构,其中最
上层的根目录是"/",然后在此目录下面再创建其他的目录。linux的树状目录结构非常重要,它的树状图如下所示:
简单介绍一下:
如/boot目录。这个是linux系统启动所需要的引导文件的目录。如果这个目录里面的文件损毁,linux操作系统就无法启动。
/dev目录。设备管理器目录,linux把任何硬件都映射成了对应的文来描述,这些文件就存放在dev目录里面
在linux世界里,一切皆为文件
🪔2.2 Linux目录结构详解
- /bin目录
是Binary的缩写, 这个目录存放着最经常使用的命令。比如我们常用的cd命令 cp命令都是存放在bin目录里面 - /sbin目录
s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序 - /home目录
存放普通用户的主目录,在Linux中每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的
-
/root
该目录为系统管理员(root),也称作超级权限者的用户主目录。如果我们使用root账户登录,默认所处的目录位置就是在/root下面 -
/lib
系统开机所需要最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。如果这个目录里面的文件被删除了,linux操作系统也就不能正常运行了 -
/etc
所有的系统管理所需要的配置文件和子目录。linux系统本身所需要用到的配置文件也是存放在etc目录。如果我们自己安装一些系统服务,比如mysql数据库服务,那么和数据库相关的配置文件(my.cnf)也是存放在/etc目录里面 -
/usr
这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似与windows下的program files目录 -
/boot
存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。如果这个目录里面的文
件被删除了,linux操作系统也就不能正常运行了 -
/dev
类似于windows的设备管理器,把所有的硬件用文件的形式存储 -
/proc
这个目录是一个虚拟的目录,它是系统内存的映射,访问这个目录来获取系统的信息。这个目录我们不要动,否则可能造成系统的崩溃 -
/srv
service的缩写,该目录存放的一些服务服务启动之后需要提取的数据。这个目录我们不要动,否则可能造成系统的崩溃 -
/sys
这个目录存放了linux内核相关的文件信息。这个目录我们不要动,否则可能造成系统的崩溃 -
/tmp
这个目录是用来存放一下临时文件的 -
/media
linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。比如我们插入的U盘 光驱都会被映射成对应的文件存放在media目录 -
/mnt
系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将外部的存储挂载在/mnt/上,然后进入该目录就可以查看里的内容了。比如我们上节内容设置的共享目录myshare -
/opt
这是主机给安装软件所存放的目录,如果安装JDK可放到改目录下默认为空。上节内容我们安装VMwareTools-10.0.0-2977863.tar.gz。这个压缩文件就存放在opt目录的 -
/usr/local
简单的说就是应用程序安装之后,安装程序所存放的目录。一般是通过编译源码方式安装的程序 -
/var
这个目录中存放着在不断变化,扩充着的东西,最常用的就是包括各种日志文件
🪔2.3 Linux 基本操作
🔥2.3.1 Linux 远程登录
在实际工作中,linux服务器是开发小组共享的,并不是存放在每个用户的本地电脑上,linux服务器一般会存在在一台独立的电脑上(独立的机房里)。所以我们需要远程的登录到linux进行相关的操作
在这里我们介绍两个远程操作工具。一个是远程登录linux操作系统的工具,一个是进行远程文件传输 下载的工具:
第一个工具:远程连接 登录linux服务器的工具 Xshell7
- 通过Xshell7远程连接linux
1.使用ifconfig 指令查看Linux的网址
2.建立连接
第二个工具:进行文件远程传输和下载的工具 FileZilla
ll 这个指令等我们讲到Linux的常用指令时,会更详细的为大家讲解
以上都是Windows系统的文件或数据传输到Linux
那如何把Linux的文件传输到Windows系统?
🔥2.3.2 Linux vi/vim 编辑器
所有的 Linux 系统都会内置 vi 文本编辑器。Vim 具有程序编辑的能力,可以看做是Vi的增强版本,可以主动的以字体颜色辨别语法的正确性,方便程序设计。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用
使用vim工具
Xshell7 中使用 vim
使用之前我们了解一下 vim的三种模式
vi/vim 的三种模式
- 正常模式:
以vim打开一个档案就是直接进入了一般默认(这是正常的模式),在这个模式中,我们不能在文件中输入内容,可以通过上下左右来移动光标,你也可以使用【删除字符】【删除整行】来编辑档案中的内容,也可以使用【复制】【贴上】来处理你的文件数据 - 插入模式
按下i,l,o,O,a等任意一个字母之后才会进入编辑模式,我们就可以在文本内容输入内容,一般情况按下i即可 - 命令行模式:
按ESC建,再按shift+冒号从插入模式切换到命令行模式,在这个模式当中,可以提供你相关指令,完成读取,存盘,替换vim,显示行号等操作是在此模式下完成的
输入wq 保存并退出
q 直接退出
q! 不保存并退出
三种模式的快捷键切换
vim快捷键
1.拷贝当前行 (yy ),并粘贴(p)注意:必须是在正常模式下进行操作
2.拷贝当前向下的2行(2yy ) 并粘贴(p)
3.删除当前行(dd) 删除当前向下的2行 (2dd)
4.在文件中查找某个单词{命令行下/关键字} 回车查找,输入n就能查找下一个
5.设置文件的行号(: set nu)。取消文件的行号(: set nonu)
6.使用快捷键回到文件内容的最起始处和最末尾处
切换到正常模式。
G : 回到文件的末尾处(光标回到文件的末尾处)
gg:回到文件的最开始处(光标回到文件的最开始处)
7.快速的定位到某个位置
切换到正常模式。
行号 + shift+ g
5 shift + g (快速到定位到第5行)
8.在文件中输入内容,执行撤销操作
切换到正常模式。按快捷键u
- 若想要替换首次首次出现的字符串
要搜索当前行中字符串“World”的首次出现,并将其替换为“shijie”
冒号s/World/shijie/ - 替换当前行中搜索到的所有内容.添加g
冒号s/World/shijie/g - 若想要全文替换
:%s/World/shijie/g
🔥2.3.3 Linux 关机重启
- ①.shutdown
shutdown -h now 表示立即关机
shutdown -h 1:表示一分钟后关机
shutdown -r now :立即重启 - ②.hat
就是直接使用,效果等同于关机 - sync
把内存的数据同步到磁盘 - reboot
就是重启系统
注意细节:
1. 不管是重启系统还是关闭系统,首先要运行sync命令,把内存中的数据写入到磁盘中。
2. 目前的shutdown、reboot、halt命令在关机前都进行了sync。
相关文章:

【Linux操作系统】第一弹——Linux基础篇
文章目录 💡 一. Linux的基本常识🪔 1.1 linux网络连接三种方式🪔1.2 虚拟机的克隆🪔1.3 虚拟机的快照🪔1.4 虚拟机的迁移和删除🪔1.5 vmtools工具 💡二. Linux的目录结构🪔2.1 Linu…...
开源数字人框架 AWESOME - DIGITAL - HUMAN:技术革新与行业标杆价值剖析
一、项目核心价值:解锁数字人技术新境界 1. 技术普及:降低准入门槛,推动行业民主化 AWESOME - DIGITAL - HUMAN 项目犹如一场技术春雨,为数字人领域带来了普惠甘霖。它集成了 ASR、LLM、TTS 等关键能力,并提供模块化扩展接口,将原本复杂高深的数字人开发流程,转化为一…...
Mysql--基础知识点--91.1--慢查询日志
MySQL 慢查询日志是优化数据库性能的核心工具之一,用于记录执行时间超过指定阈值的 SQL 语句。以下是详细使用指南: 一、配置慢查询日志 1. 临时启用(重启后失效) -- 启用慢查询日志(立即生效) SET GLOBA…...
react-12父子组件间的数据传递(子传父)(父传子)- props实现
1.子组件调用父组件的函数并传递数据(子传父) 1.1父组件 import React, { Component } from react; import ChildComponent from ./ChildComponent;class ParentComponent extends Component {constructor(props) {super(props);this.state {items: […...

vue3: pdf.js 2.16.105 using typescript
npm create vite vuepdfpreview //创建项目npm install vue-pdf-embed npm install vue3-pdfjs npm install pdfjs-dist2.16.105 <!--* |~~~~~~~|* | |* | |…...

从 MDM 到 Data Fabric:下一代数据架构如何释放 AI 潜能
从 MDM 到 Data Fabric:下一代数据架构如何释放 AI 潜能 —— 传统治理与新兴架构的范式变革与协同进化 引言:AI 规模化落地的数据困境 在人工智能技术快速发展的今天,企业对 AI 的期望已从 “单点实验” 转向 “规模化落地”。然而&#…...

【软件测试】测试用例的设计方法
目录 一、基于需求进行测试用例的设计 1.1 功能需求测试分析 二、黑盒测试用例设计方法 2.1 等价类划分法(解决穷举) 2.1.1 等价类设计步骤 2.1.2 等价类划分法案例 2.1.2.1 验证 QQ 账号的合法性 2.1.2.2 验证某城市电话号码的正确性 2.1.3 适用场景 2.2 边界值分析…...
Vim 命令从头学习记录
学习链接:eleon-vim基础教程 Vim - 基础翻屏操作 光标移动:hjkl 20j 向下移动20行,w 向后移动一个字符,b 向前移动一个字符。 Ctrl u 向上翻半页 UP Ctrl d 向下翻半页 Down Ctrl f 向下翻整页 Forward Ctrl b 向上翻整页 …...
初等数论--欧拉函数及其性质
1. 定义 ϕ ( n ) \phi(n) ϕ(n)在数论中代表欧拉函数, 它的值为小于等于 n n n且与 n n n互质的正整数的个数。 2. 性质 若 p p p为质数,则 ϕ ( p ) p − 1 \phi(p) p-1 ϕ(p)p−1; 除了自身以外全都互质。 若 p p p为质数,则 ϕ ( p…...
Java、javax 和 Jakarta有什么区别?
在 Java 开发中,我们经常会看到 java、javax 和 jakarta 这些包名前缀。本文将详细介绍这三个命名空间的含义、发展历程以及它们之间的关系,帮助你更好地理解 Java 生态系统。 一、Java:核心 API 的基础 ✅ 含义: java 是 Java 标准库的核心包名。所有以 java. 开头的类构…...
Java中的控制流语句:if、switch、for、foreach、while、do-while
Java中的控制流语句 Java中的控制流语句用于控制程序执行的流程。这些语句包括条件判断语句和循环语句。本文将详细介绍Java中的 if、switch、for、foreach、while、do-while控制流语句。 一、条件判断语句 1. if语句 if语句根据表达式的真假来决定是否执行代码块。 int x…...

GStreamer开发笔记(三):测试gstreamer/v4l2+sdl2/v4l2+QtOpengl打摄像头延迟和内存
若该文为原创文章,转载请注明原文出处 本文章博客地址:https://blog.csdn.net/qq21497936/article/details/147714800 长沙红胖子Qt(长沙创微智科)博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、O…...

科技成果鉴定测试有哪些内容?又有什么作用?
科技成果鉴定测试是评价科技成果质量和水平的方法之一,通过测试,可以对科技成果的技术优劣进行评估,从而为科技创新提供参考和指导。 一、科技成果鉴定测试的内容 1.技术评审:通过技术专家对项目进行详细的技术分析ÿ…...

基于Spring Boot + Vue 项目中引入deepseek方法
准备工作 在开始调用 DeepSeek API 之前,你需要完成以下准备工作: 1.访问 DeepSeek 官网,注册一个账号。 2.获取 API 密钥:登录 DeepSeek 平台,进入 API 管理 页面。创建一个新的 API 密钥(API Key&#x…...

A2A与MCP定义下,User,Agent,api(tool)间的交互流程图
官方图: 流程图: #mermaid-svg-2smjE8VYydjtLH0p {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-2smjE8VYydjtLH0p .error-icon{fill:#552222;}#mermaid-svg-2smjE8VYydjtLH0p .error-tex…...

蓝桥杯2025年第十六届省赛真题-水质检测
C语言代码: #include <stdio.h> #include <string.h>#define MAX_LEN 1000000int main() {char a[MAX_LEN 1], b[MAX_LEN 1];// 使用 scanf 读取字符数组scanf("%s", a);scanf("%s", b);int ans 0;int pre -1;int state -1;i…...
机器学习第二讲:对比传统编程:解决复杂规则场景
机器学习第二讲:对比传统编程:解决复杂规则场景 资料取自《零基础学机器学习》。 查看总目录:学习大纲 关于DeepSeek本地部署指南可以看下我之前写的文章:DeepSeek R1本地与线上满血版部署:超详细手把手指南 一、场景…...

[Windows] 东芝存储诊断工具1.30.8920(20170601)
[Windows] 东芝存储诊断工具 链接:https://pan.xunlei.com/s/VOPpMjGdWZOLceIjxLNiIsIEA1?pwduute# 适用型号 东芝消费类存储产品: 外置硬盘:Canvio 系列 内置硬盘:HDW****(E300 / N300 / P300 / S300 / V300 / X30…...
[蓝桥杯 2025 省 B] 水质检测(暴力 )
暴力暴力 菜鸟第一次写题解,多多包涵!!! 这个题目的数据量很小,所以没必要去使用bfs,直接分情况讨论即可 一共两排数据,我们使用贪心的思想,只需要实现从左往右的过程中每个检测器相互连接即…...

Linux网络编程day7 线程池and UDP
线程池 typedef struct{void*(*function)(void*); //函数指针,回调函数void*arg; //上面函数的参数 }threadpool_task_t; //各子线程任务的结构体/*描述线程池相关信息*/struct threadpool_t{pthread_mutex_t lock; …...
wsl - install RabbiqMQ
下载erlang $ sudo apt -y install erlang 安装软件包 $ sudo apt -y install rabbitmq-server 修改配置文件 $ sudo vi /etc/rabbitmq/rabbitmq-env.conf # Defaults to rabbit. This can be useful if you want to run more than one node # per machine - RABBITMQ_NODENAME…...

ABB电机保护单元通过Profibus DP主站转Modbus TCP网关实现上位机通讯
ABB电机保护单元通过Profibus DP主站转Modbus TCP网关实现上位机通讯 在工业自动化领域,设备之间的通信至关重要。Profibus DP是一种广泛应用的现场总线标准,而Modbus TCP则是一种基于以太网的常见通信协议。将Profibus DP主站转换为Modbus TCP网关&…...
深入解析二维矩阵搜索:LeetCode 74与240题的两种高效解法对比
文章目录 **引言** **一、问题背景与排序规则对比****1. LeetCode 74. 搜索二维矩阵****2. LeetCode 240. 搜索二维矩阵 II** **二、核心解法对比****方法1:二分查找法(适用于LeetCode 74)****方法2:线性缩小搜索范围法࿰…...

迪士尼机器人BD-X 概况
这些机器人代表着迪士尼故事叙述与非凡创新的完美结合。它们不仅栩栩如生,还配备了先进的技术。 -迪士尼幻想工程研发部高级副总裁凯尔劳克林 幕景 BDX 机器人是由华特迪士尼公司的研究和幻想工程部门利用NVIDIA人工智能技术 (AI)开发的现实世界机器人,…...

UE5骨骼插槽蓝图
首先在人物骨骼处添加插槽并命名,然后再选择添加预览资产把你要的模型(静态网格体)放上去。 选择绑定的骨骼再去右边相对位置、旋转等调整物体。 再去人物蓝图里面写就ok了...
移动应用开发:自定义 View 处理大量数据的性能与交互优化方案
实现 1 万条数据下流畅滑动与灵敏交互的完美平衡。 一、数据渲染优化:从 1 万条到丝滑体验 (一)视图复用机制 视图复用是提升大量数据渲染性能的关键策略。以一个简单的自定义列表视图为例,我们可以构建如下的复用池管理机制&a…...

绘制拖拽html
<!DOCTYPE html> <html lang"zh-CN"> <head> <meta charset"UTF-8" /> <meta name"viewport" content"widthdevice-width, initial-scale1" /> <title>拖拽绘制矩形框 - 可移动可调整大小</ti…...
C++结构体介绍
结构体的定义 在C中,结构体(struct)是一种用户定义的数据类型,允许将不同类型的数据组合在一起。结构体的定义使用struct关键字,后跟结构体名称和一对花括号{},花括号内包含成员变量的声明。 struct Pers…...

ggplot2 | GO barplot with gene list
1. 效果图 2. 代码 数据是GO的输出结果,本文使用的是 metascape 输出的excel挑选的若干行。 # 1. 读取数据 datread.csv("E:\\research\\scPolyA-seq2\\GO-APA-Timepoint\\test.csv", sep"\t") head(dat)# 2. 选择所需要的列 dat.usedat[, c(…...
PostgreSQL 的 pg_advisory_lock 函数
PostgreSQL 的 pg_advisory_lock 函数 pg_advisory_lock 是 PostgreSQL 提供的一种应用级锁机制,它不锁定具体的数据库对象(如表或行),而是通过数字键值来协调应用间的并发控制。 锁的基本概念 PostgreSQL 提供两种咨询锁(advi…...