Linux介绍及常用命令

news2024/12/23 9:54:35

Linux 系统简介

  • 1969 年,AT&T 公司的⻉尔实验室P MIT 合作开发的 Unix,í在于创建⼀个⽤于⼤型、并⾏、多⽤户的操作系统
  • Unix 的推⼴:从学校⾛进企业
  • Unix 的版本要两个:
    • AT&T System V ——就是俗称的 系统 5
    • Berkley Software Distribution (BSD)

  • linux是一种操作系统
  • 1991 年,芬兰赫尔⾟基⼤学的学⽣ Linus Torvals 为了能在家⾥的 PC 机上使⽤与学校⼀的操作系统,开始编写了类 UNIX.
  • 1991.8.25,Linus在comp.os.minix新闻组中首次发布了一个linux内核的公共版本

流行的linux版本

  • Solaris
  • IBM AIX
  • Red Hat
  • Fedora Core
  • SUSE
  • Debian
  • Mac OS X
  • Ubuntu

带LST 表示长期测试版本

Linux操作系统的组件

  • Linux内核
  • Shell
  • 文件系统
  • 应用程序

Linux内核

  • Linux系统的最低层,提供了系统的核心功能并允许进程以一种有序的方式访问硬件
  • 用于控制进程、输入、输出设备、文件系统操作、管理内存
  • 这些都不需要用户参与,系统自行完成

Linux内核版本

  • 主版本
    • 1.0 2.0 2.2 2.4 2.6
    • 2,3年更新
  • 稳定版
    • 2.0.40 2.2.12 2.4.18 2.6.35
    • 1,2月更新

Linux内核结构

Shell介绍

  • Shell是一个命令行解释器,它使用用户能够与操作系统进行交互
  • Shell类型
    • Bourne Shell:最早的Shell
    • C Shell
    • Bourne again Shell

ubuntu软件包管理机制简介

Ubuntu Linux采用了Debian的软件包管理机制。由于软件包具有易用性、灵活性和扩展性的特点,再加上Internet的支持,使用户随时都能拥有最新的Ubuntu系统。

流行的两种软件包管理机制

DebianLinux的管理机制–Deb软件包

Redhat’Linux的管理机制-Rpm软件包

Ubuntu Linux系统的软件包管理机制延续了Debian的包管理方法

Debian 包文件包含了二进制可执行文件、库文件、配置文件和 man/info 帮助页面等文档。通常Debian 包文件的后缀为.deb,因此称为“Deb 软件包”。

Ubuntu 有两种类型的软件包:二进制软件包(deb)和源码包(deb-src)。

  • 二进制软件包(Binary Packages):包含可执行文件、库文件、配置文件、man/info 页面版权声明和其他文档。
  • 源码包(Source Packages):包含软件源代码、版本修改说明、构建指令以及编译工具等。

先由 tar 工具归档为.tar.gz 文件,然后再打包成.dsc 文件。

在/etc/apt/source.list 中查看我们的两种包类型

vi /etc/apt/sources.list

二进制/源码包 访问的地址 ubuntu发行版本的一种 软件包组件

软件包组件:

main :完全的自由软件

restricted :不完全自由的软件

universe :ubuntu官方不提供支持和补丁,全靠社区支持

multiverse:非自由软件,完全不提供支持和补丁

在UbuntuLinux中,软件包的命名遵循以下约定:

如:

软件包名:g++

软件版本:4.1.2

修正版本:9

体系架构:i386

包类型:deb包

软件包:g++_4.1.2-9ubuntu2_i386.deb

Linux文件系统

Linux 的文件组织模式犹如一颗倒置的树,这与 Windows 文件系统有很大差别。

所有存储设备作为这颗树的一个子目录。存取文件时只需确定目录就可以了,无需考虑物理存储位置。Linux 文件系统

路径含义
/binbin是二进制(binary)英文缩写
/boot存放的都是系统启动时要用到的程序
/dev包含了所有Linux系统中使用的外部设备
/etc存放了系统管理时要用的到的各种配置文件和子目录
/lib存放系统动态连接共享库的
/home普通用户的主目录
/root根用户(超级用户)的主目录

Linux基础命令

切换目录

. 当前目录

…上层目录

-上一次操作所在路径
相当于/home/用户名的路径

用户:

cd /home/linux/Desktop
cd ./Desktop
../
-

新建文件

复制文件

移动文件

Vim编辑器

我们想要编写 C 语言代码,可以使用 linux 系统提供的工具才能进行代码的编写。代码编写完成之后,我们还需要验证书写的代码是否正确。这就需要编译器来进程验证。linux 系统为我们提供了比较好的开发工具。
vim编辑器:缩写代码的工具

gcc编译器:编译代码的工具

模式使用方法
命令模式默认打开的默认,不能书写代码,只能进行复制,粘贴等命令操作
插入模式按下小写的 “i"键,在终端的左下角会出现一个叫做"insert” 的关键字,便是进入插入模式,可以书写代码了
底行模式代码书写完毕键,按下 esc 键,退出插入模式。在按下 shift +“:”键盘,可以使用以下指令: w保存,write 的缩写 q退出,quit 的缩写 a 所有,al的缩写!强制执行
常用指令:wq q!
命令功能
a(Append)进入编辑状态,从当前光标之后的位置开始插入键盘输入的字符
i(Insert)进入编辑状态,从当前光标之前的位置开始插入键盘输入的字符
o(0pen)进入编辑状态,并插入一新行,光标移到该新行的行首,以后键盘输入的字符将插入到光标位置
ESC进入命令状态
:! Command在vi中执行外部命令Command,按回车键可以返回vi继续工作
[N]x(Expurgate)删除从光标位置开始的连续N个字符(并复制到编辑缓冲区)
[N]dd(Delete)删除从光标位置开始的连续N行(并复制到编辑缓冲区)
[N]yy(Yank)复制从光标位置开始的连续N行到编辑缓冲区
p或P(Put)从编辑缓冲区复制文本到当前光标位置(即贴)
u(Undo)取消上一次操作(即恢复功能)
:q(Quit)退出没有修改的文件(若文件被修改了而没有保存,则此命令无效)
:q!强制退出,且不保存修改过的部分
:w(Write)保存文件,但不退出
:x(Exit)保存文件并退出
:w File另存为File给出的文件名,不退出
:r File(Read)读入File指定的文件内容插入到光标位置

GCC 编译器介绍及使用

GCC 它是由 GNU 开发的编程语言编译器。它是 GNU Compiler Collection 的缩写。可以用来编译

C,C++,0bject-C 等多种语言。

安装

sudo apt-get insatll gcc

gcc hello.c 编译代码,系统默认会在当前目录下,生成一个叫做 a.out 的文件.【all out]

/a.out 执行 a.out 文件,输出对应的结果

gcc hello.c -o exec 编译代码,用户自定义生成的可执行文件名字,

/exec 执行./exec 文件,输出对应的结果

参数说明:

  • E 使编译器在预处理结束的时候停止
  • S 使编译器在编译结束的时候停止
  • c 使编译器在汇编结束的时候停止
  • o 输出 gcc 编译的结果

ubuntu软件安装命令详解

软件包安装工具简介

简介

我们常常使用的软件包管理工具有两种,一种叫做dpkg软件包管理工具,它是debian package”的简写,是Debian软件包管理器的基础。它是最早的deb软件包管理工具,他在Debian Linux一提出软件包管理模式后就诞生了。使用dpkg可以实现软件包的安装、编译、卸载、查询,以及应用程序打包等功能。但是由于当时Linux系统规模 和Internet网络条件的限制,我们使用dpkg安装软件包的时候需要考虑软件包之前的依赖关系。也有人把它叫做本地安装工具。总之,dpkg是一个底层的软件包管理系统,主要用于对已下载到本地和已安装的软件包进行管理。

依赖关系图示

基于这个特性,我们的 dpkg 安装一般来说有可能要安装多个软件包。而我们 linux 系统中的依赖关系相对复杂,因此就定义了一个依赖关系表以及优先级表。Ubuntu 中为每个软件包指定了一个优先级作为软件包管理器选择安装和卸载的一个依据。

依赖性关系定义

依赖关系关系描述
依赖(depends)要运行软件包A必须安装软件包B,甚至还依赖于B的特定版本,通常版本依赖有最低版本限制
推荐(recommends)软件包维护者认为所有用户都不会喜欢缺少软件包A的某些功能,而这些功能需要B来提供
建议(suggests)软件包B能够增强软件包A的功能
替换(replaces)软件包B安装的文件被软件包A中的文件删除或覆盖了
冲突(conflicts)如果系统中安装了软件包B,那么软件包A将无法运行。“Conficts常和“Replaces”同时出现
提供(provides)软件包A中包含了软件包B中的所有文件和功能

软件包优先级描述

级别含义补充说明
Required(必须)该级别软件包是保证系统正常运行所必须的包含所有必要的系统工具。尽管Require级别的软件不能满足整个系统的服务,但至少能够保证系统正常启动。如果删除其中一个软件包,系统将受到损坏而无法恢复。例如bash、mount、upstart
Important(重要)若缺少该级别软件包,系统会运行困难或不好操作该级别软件包是一些实现系统底层功能的程序。例如,aptitude、ubuntu-keyring、cpio
Standard(基本)该级别软件包是任何Linux系统的标准件该级别的软件包可以支撑命令行控制台系统运行,通常作为默认安装选项,例如,memtest86、teInet、pppconfig、ed
Optional(可选)该级别软件包是否安装不影响系统的正常运行该级别的软件包用于满足用户特定的需求或服务,它们不会影响系统的正常运行。例如,X11、mysqlopenoffic.org
Extra(额外)该级别软件包可能与其他高级别软件包存在冲突

安装软件(本地安装)

sudo dpkg -i 软件包[安装单个软件包]
sudo apkg -i *.deb [多个软件包一起安装]

移除已经安装的软件包

sudo dpkg -r 软件包名

移除已安装的软件包及配置文件

sudo dpkg -P 软件包名

列出软件包所在系统所安装的文件

sudo dpkg -L 软件包名

列出软件包安装状态

sudo dpkg -s 软件包名

apt-get软件包安装(联网安装)

镜像站点服务器

APT系列工具可能是Deb软件包管理工具中功能最 强大的。它会自动检测软件包之间的依赖关系。因为它采用了集中式的软件仓库的机制,将各式各样 的软件包分门别类地存放在软件仓库中,进行有效地组织和管理。然后,将软件仓库置于许许多多的镜像服务器中,并保持基本一致。(可理解为我们上网的时候,有很多的网站,网站中有一些下载的链接,这里下载的链接中就又很多的软件包,这就是软件包仓库,这里的镜像站点服务器可理解为下载的网站)。这些镜像服务器就是它们的软件源(下载网站的集合)

我们可以在/etc/apt/source.list中来查看我们的软件源。这个路径就叫做镜像站点服务耐

索引文件

我们的镜像站点服务器只是告诉了我们。我们的软件包应该在哪里去下载。但是我们这些镜像站点具体拥有哪些资源,对我们来说,不是很清楚。如果,我们每安装一个软件包就到我们的服务器上去寻找一遍,这样的话效率就太低了。因此,我们提出了-个概念,叫做索引文件。它的本质就是我们为服务器上的软件资源在本地列了一个清单,以便于主机进行查询操作。(可理解为网站服务器在本地的缓存)

我们可以在/var/lib/apt/lists/ 这个目录来查看

下载软件包存放的路径

我们在windos上下载软件的时候,一般是会把.exe的安装包下载到一个指定的路径,然后双击它进行安装。我们的ubuntu也是一样的。只不过这个下载路径是固定的。我们可以到/var/cache/apt/archives这个目录下来查看我们的软件包

/etc/apt/source.list[文件]镜像站点服务器
/var/lib/apt/lists [文件夹]网站服务器到本地的缓存
/var/cache/apt/archives [文件夹]下载到本地的软件包

安装命令

安装软件

sudo apt-get install 软件包名

卸载软件

sudo apt-get remove 软件包名

更新索引文件

sudo apt-get update

清空存放下载软件包的目录

sudot-get clean

总结

Linux用户管理

在 linux 中系统中,它并不认识帐号名称。它认识的是我们的帐号 ID,帐号 ID 保存在/etc/passwd文件中。我们在登录 linux 主机时,在输入完帐号和密码时,linux 会先查找/etc/passwd 文件中是否有这个帐号,如果没有则跳出,如果有的话,他会读取该帐号的userID 和 group ID 同时该帐号的根目录和 shell 也读了出来。然后在去核对密码表,在/etc/shadow 中找出我们刚刚输入的帐号和userID,核对我们输入密码是否正确。一切正确我们可以登录到当前用户 shell。那么,我们首先了解一下一些基本的概念

常见用户分为:

  • 超级用户 root:具有最高的权限,UID=0,GID=0
  • 系统用户:主要服务于系统应用,维护系统运行,不能登录。例如uucp daema等
  • 普通用户:登录的用户

组:具有相同权限的用户的集合。

帐号名称:帐号名称由于对应用户ID,这个是系统默认用户root超级管理员,在同一个系统帐号名称是唯一的,长度根据不同的1inux系统而定,一般是8

密码:由于系统中还有一个/etc/shadow文件用于存放加密后的口令所以在这里这一项是“x”来表示,如果用户没有设置口令,则该项为空。

用户ID:这个是系统内部用于来识别不同的用户的,不同的用户识别码不同,其中用户

0代表系统管理员

1-500系统预留的ID

500以上是普通用户使用

组ID:其实这个和用户ID差不多,用来规范群组,他与/etc/group有关。

描述信息:这个字段几乎没有什么作用,只是用来解释这个帐号的意义。一般常见的是)

用户根目录:就是用户登录系统的起始目录,用户登录系统后将首先进入该目录。

root用户登录she11:就是用户登录系统时使用的she11路径

/etc/shadow

保存密文的用户口令

用户相关命令

切换进入超级用户

sudo su root
切换到普通用户
sudo su linux

添加用户

sudo adduseer 用户名

删除用户

sudo deluser --remove-home 用户名

修改密码

sudo passwd 用户名

关闭和重启

立即关机
sudo shutdown -h now
立即重启
sudo reboot

Linux文件管理

Linux挂载

在我们的linux中,所有的一切都是从根目录开始的。我们可以这么说,所有的设备都是文件。例如,一块硬盘是一个文件,这个硬盘上的分区也是一个文件,声卡也是一

个文件。

这种表示一个的文件叫做设备文件。设备文件一般来说保存在/dev这个目录中。一个硬盘是一个设备文件,一般是/dev/sda(第一块);而硬盘上的每一个分区也是设备文件,比如第一个分区叫做/dev/sda1,第二个是/dev/sda2。

假设你可以直接读写硬盘的设备文件,但是,你得到的是硬盘的原始数据,几乎是0/1这样的二进制。因此,你可以直接像修改文件一般的修改硬盘的分区表等结构。而每一个分区也是一个设备文件,同样,你得到的是原始数据。

但是,没有人可以手工修改0101,来复制文件、删除文件。为了使你操作里面的数据,而不是原始010101,就需要进行挂载。比如,你把/dev/sda1挂到了/boot上,此时,驱动程序就会将01的原始数据转换成能操作的结构,并装到/boot上,此时对/boot的修改同等于修改/dev/sda1,只不过你可以复制、删除等,而不是看到0101的原始数据。

挂载: 指的就是将设备文件中的顶级目录连接到 Linux 根目录下的某一目录(最好是空目录),访问此目录就等同于访问设备文件

说明:并不是根目录下任何一个目录都可以作为挂载点,由于挂载操作会使得原有目录中文件被隐藏,因此根目录以及系统原有目录都不要作为挂载点,会造成系统异常甚至崩溃,挂载点最好是新建的空目录。

文件系统相关命令

查看目录的内容或文件属性信息

ls

查询文件详细的属性

ls -ld /home/linux

drwxrwxr-x 4 linux linux 40996 May 28 01:34 class

第一部分:文件类型

d->目录文件

常见文件类型标识字符

bcd-lps

b:块设备文件 (block)–硬盘

c:字符设备文件 character --鼠标

d:目录文件 directroy --文件夹

-:普通文件 regular

l:软链接文件(windows快捷方式)link

p:管道文件(常见于进程通信)

s:unix域socket文件(常见于进程通信)

第二部分:权限【文件所有者权限+文件所有者所在组的组员权限+其他人权限】

r读 w写 x 执行

100 010 001 r:4 w:2 x:1

r-- -w- --x

100

r–

010

-w-

001

–x

第三部分:

4->硬链接数

第四部分:

linux->文件所有者名

第五部分:

linux ->文件所属于组

第六部分:

文件大小(默认单位byte)

第七部分:

文件最后一次修改时间

第八部分:

文件名

ls -a 显示所有的文件,包括隐藏文件

ls -lh 带单位(G,K,M)显示文件大小

修改权限

chmod 权限 文件名

常用:

u:user(文件所有者)

g:group(文件所属组)

o:other(其他用户)

chmod u+x test.c
chmod u+w test.c
chmod g-r test.c
chmod o+x test.c

同时修改

chmod +0777 test.c

挂载

df -Th 查看磁盘空间使用情况

挂载本地设备文件

sudo mount 设备文件 挂载点目录

卸载设备

sudo umount 设备文件

文件系统压缩命令

zip压缩

压缩文件

zip test.zip hello.c log.c

解压文件

unzip test.zip

linux支持常见的两种压缩格式

  • gzip:优点压缩速度较快
  • bzip2:优点压缩后存储空间较小

tar:该命令一般用来压缩/解压gzip和bizp2的文件

相关参数

c创建
x释放
zgzip操作
jbzip2操作
v显示过程
f指定文件名(一定需要放在最后)

压缩文件/文件夹

sudo tar -czvf work.tar.gz work
sudo tar -cjvf work.tar.bz2 work
或者
sudo tar -xvf work.tar.gz/work.tar.bz2(两种都可以释放)

解压到指定目录

tar -xvf work.tar.gz -C 指定的目录

软链接和硬链接

底层原理简介

大家在windows下可以看到我们桌面上有一些程序。双击它就可以运行了。在我们桌面上的图标只是一个快捷方式,它真正的运行路径是在其他的磁盘中。这个就是我们的windows中链接。我们的Linux系统中也存在类似的形式,我们Linux中的链接形式有两种,一种叫做软链接,一种叫做硬连接。在讲解之前,大家需要先知道一些文件的基本知识。

原理

Linux系统中一个文件由目录项、inode表和数据块组成。test.c

目录项:包括文件名和inode节点号

Inode表:包含文件的一些信息。例如,inode号,文件类型,文件大小等待。

数据块:文件具体内容存放的地方。

查看一个文件时,linux系统的运行过程:

查找过程

  1. 首先根据文件名,找到我们目录项中的inode号
  2. 通过inode号进入我们inode表中,查找到该文件中一些信息。
  3. 然后通过inode表中的保存的数据区的指针,读取我们相应数据区的内容。

硬链接

本质:是给我们的文件取别名。与源文件直接关联。修改一个,另一个同时被修改。删除一个另一个不会有影响。

Linux系统中规定,只有在文件的打开次数为0(即文件这个时候没有打开),并且文件的硬连接数为0,此时文件才会被删除

特点:不能对目录操作

命令

查看inode号

ls -i 文件名

硬链接命令

ln 源文件名 硬链接文件名

软链接

本质:类似于windows的快捷方式,用来记录我们目标的路径

特点:

  1. 占用磁盘空间
  2. 不能对目录操作

命令

ln -s 源文件 软链接文件

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2216683.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux中文件的理解

✨前言✨ 📘 博客主页:to Keep博客主页 🙆欢迎关注,👍点赞,📝留言评论 ⏳首发时间:2024年10月16日 📨 博主码云地址:渣渣C 📕参考书籍&#xff1a…

如何使用Nessus软件

Nessus(Win2022虚拟机已安装) [ root root ] 访问https://127.0.0.1:8834 如果出现以下问题 解决方法: 1.在地址栏输入:about:config 2.在搜索框 输入:security.enterprise_roots.enabled 将值切换为true即可。…

Java算法竞赛之getOrDefault()--哈希表最常用API!

解释: for (char ch : magazine.toCharArray()) { charCount.put(ch, charCount.getOrDefault(ch, 0) 1); } 在Java中,HashMap 是一个用于存储键值对的数据结构,其中每个键都是唯一的。put 方法用于将指定的键与值放入 Has…

AI控制工业机器人入门教程

简介 AI控制的工业机器人正在改变现代制造业的面貌。与传统的编程控制不同,AI使机器人能够通过感知环境、自主决策和学习不断优化自身的操作。这篇教程将介绍实现AI控制工业机器人的必要知识和技能,帮助读者从基础开始构建起AI控制机器人的理解和能力。…

TypeScript新手学习教程--接口

TypeScript 也支持接口,跟Java类似,这对于学习过java,c#,php语言的人更容易上手,虽然类似,但是也有不同,下面开始学习。 1、 接口声明 TypeScript的核心原则之一是对值所具有的结构进行类型检…

anaconda(jupyter)安装教程

目录 一、下载anaconda安装包 二、安装程序 三、怎么使用 四、把jupyter界面语言修改成中文 一、下载anaconda安装包 anaconda官网:下载 Anaconda Distribution |蟒蛇 清华大学开源软件镜像站官网:清华大学开源软件镜像站 | Tsinghua Open Source M…

Linux服务部署,遇到的各种问题之一(测试篇)

最近服务器需要搬迁,所有的服务都需要迁移,从初始化数据盘,到服务部署的各种细节,下面我们一一来说 初始化数据盘就不用说了,大概率,作为测试接触不到。 今天来说是ubuntu显示的中文文件乱码问题如何解决…

SpringBoot集成Mongodb实现增删改查操作

目录 一、Mongodb概念 二、SpingBoot集成Mongodb 三、实现增删改查操作 一、Mongodb概念 MongoDB是一个开源的文档型数据库,属于NoSQL数据库中的一种。它使用BSON(类似于JSON)格式存储数据,具有高性能、高可用性和易于扩展的特…

QT--文本框 QLineEdit、qtextedit

在Qt中,文本框(QLineEdit 或 QTextEdit)和标签(QLabel)是两种不同的部件(widget),它们的主要区别在于用途和功能: QLabel(标签) 用途&#xff1…

JVM(HotSpot):直接内存及其使用建议

文章目录 一、什么是直接内存?二、特点三、使用案例四、直接内存的管理 一、什么是直接内存? Direct Memory:系统内存 普通IO,运行原理图 磁盘到系统内存,系统内存到jvm内存。 NIO,运行原理图 划分了一块…

『Mysql集群』Mysql高可用集群之主从复制 (一)

Mysql主从复制模式 主从复制有一主一从、主主复制、一主多从、多主一从等多种模式. 我们可以根据它们的优缺点选择适合自身企业情况的主从复制模式进行搭建 . 一主一从 主主复制 (互为主从模式): 实现Mysql多活部署 一主多从: 提高整个集群的读能力 多主一从: 提高整个集群的…

等级保护测评师练习卷31

等级保护初级测评师试题31 姓名: 成绩: 一、判断题(10110分) 1.等级测评采用基本方法是访谈、测试、验证()访谈、核查、测试 2.等级保护对象是由…

HarmonyOS 应用级状态管理(LocalStorage、AppStorage、PersistentStorage)

HarmonyOS 应用级状态管理 1. LocalStorage:页面级UI状态存储 1.1 概念 LocalStorage是页面级的UI状态存储,通过Entry装饰器接收的参数可以在页面内共享同一个LocalStorage实例。LocalStorage也可以在UIAbility内,页面间共享状态。 应用程…

【Linux】Linux下的Makefile基本操作

1.Makefile与 make介绍 在Linux中, Makefile 是⼀个⽂件, 令会在当前⽬录下找 make 是⼀个指令,当使⽤ Makefile ⽂件从⽽执⾏内部的内容 2.创建第一个 Makefile并使用make ⾸先,在当前⽬录下创建⼀个makefile文件 接下来在同级…

动态规划一>珠宝的最高价值

1.题目: 2.解析: 代码: /**1.创建dp表2.初始化3.填表4.返回*/public int jewelleryValue(int[][] frame) {int m frame.length, n frame[0].length;int[][] dp new int[m1][n1];//虚拟节点的值直接为0满足条件,已经初始化好…

字典树 计数问题(含 2022 icpc杭州 K)

//最近学了字典树,补一下 1.概念和实现 首先,字典树是一棵树(废话),边表示字母,从根到叶子节点所有边的顺序组合表示字目排列顺序。 看一下图明白很多: 例如:abc这个字母排序&am…

MybatisWebApp

如何构建一个有关Mybatis的Web&#xff1f; 在这里给出我自己的一些配置。我的TomCat版本&#xff1a;10.1.28 &#xff0c;IDEA版本&#xff1a;2024.1.4 Pom.XML文件 <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/200…

Linux platform子系统和设备树

1 Linux platform子系统 在Linux 2.6内核中&#xff0c;提出了总线、设备、驱动的架构&#xff0c;目的是让我们写出来的驱动通用性更强。 arm核内部总线结构&#xff1a; 1.1 核心思想 将设备的信息从驱动中分离出来&#xff0c;我们需要在操作系统中&#xff0c;添加设备…

【H2O2|全栈】JS入门知识(二)

目录 JS 前言 准备工作 运算符 算数运算符 比较运算符 自增、自减运算符 逻辑运算符 运算符的优先级 分支语句 if-else语句 switch语句 三元表达式 结束语 JS 前言 本系列博客主要分享JavaScript的基础语法知识&#xff0c;本期为第二期&#xff0c;包含一些简…

平时使用Xshell能连接虚拟机,现在突然连接不上

问题&#xff1a;平时使用Xshell能连接虚拟机&#xff0c;现在突然连接不上&#xff0c;使用ip addr 命令查看ip地址 ens33 接口状态为 DOWN&#xff0c;没有分配IP地址&#xff0c;这通常意味着该网络接口未激活或存在配置问题。&#xff08;因为平时能连接&#xff0c;就说明…