Linux操作系统 ----- (5.系统管理)

news2024/11/19 8:31:39

目录

1.总结

2.本章学习目标

3.图形界面管理

3.1.X-Window图形界面概述

3.2.X-Window的结构

3.3.X-Window的特点

3.4.UKUI图形环境

3.5.桌面

3.5.1.桌面图标

3.5.2.计算机属性

3.5.3.桌面快捷菜单

3.6.任务栏

3.6.1.开始菜单

3.6.2.显示任务视图

3.6.3.文件管理器

3.6.4.窗口显示区

3.6.5.托盘菜单

3.7.重启X Window的方法

4.进程管理

4.1.进程相关概念

4.2.启动进程

4.3.查看进程信息

4.4.终止进程

5.网络管理

5.1.查看与修改主机名

5.2.查看与修改网卡信息

5.2.1.使用ifconfig查看网卡信息

5.2.2.使用ifconfig配置IP地址

5.2.3.使用ifconfig配置辅助IP地址

5.2.4.使用ifconfig禁用和启用网卡

5.3.查看与修改网关

5.4./etc/resolv.conf文件

5.5.网卡配置文件

5.6.ping 命令

5.7.netstat 命令

5.8.nslookup 命令

5.9.命令ntsysv

5.10.图形界面下修改网卡信息

6.软件包管理

6.1.RPM管理软件包

6.1.1.安装软件包(install)

6.1.2.查询已安装的软件包(query)

6.1.3.升级与更新(upgrade/freshen)

6.1.4.卸载RPM包(erase)

6.1.5.重建RPM数据库(rebuilddb)

7.yum管理软件包

8.使用DNF管理软件包

8.1.配置DNF

8.2.管理软件包

8.3.管理软件包组

8.4.检查与更新

9.总结


1.总结

上一篇博客我们学习了用户账号及组账户管理,下面我们来进行系统管理的学习。


2.本章学习目标

  • 掌握Linux操作系统图形界面管理。

  • 掌握Linux操作系统进程管理命令。

  • 掌握Linux操作系统常用的网络管理命令。

  • 掌握Linux操作系统软件包管理工具。

对系统进行管理是使用Linux操作系统时必不可少的操作。本章将介绍常用的系统管理功能,包括图形界面管理、进程管理、网络管理和软件包管理。

3.图形界面管理

使用Linux时只用命令终端窗口可能觉得不方便,其实Linux也有图形界面的远程管理工具,下面主要介绍X-Window图形界面管理。

3.1.X-Window图形界面概述

1984年美国麻省理工学院与迪吉多(DEC)电脑公司合作制定了 Athena 计划,在UNIX 系统上发展一个分散式的视窗环境,这便是X-Window的第一个版本。1986年,麻省理工学院开始发行X-Window,随后X-Window很快就成为UNIX系统的标准视窗环境。1988年1月成立了一个非营利性的X 联盟,负责制定 X-Window 的标准,并继续发展X-Window。 

3.2.X-Window的结构

整个 X-Window 由三部分组成: X-Server(主要负责绘制图形)、X-Client(主要负责计算)和X-Protocol(主要负责X-Client与X-Server之间的通信)。

X-Server主要是控制输出及输入设备的程序,并维护相关资源,它接收输入设备的信息,并将其传给X-Client,而将 X-Client 传来的信息输出到屏幕上。

X-Client它才是应用程序的核心部分,它是与硬件无关的,每个应用程序就是一个X- Client,它执行大部分应用程序的运算功能。

X-ProtocolX-Client 与 X-Server 之间的通信语言就是 X-Protocol。在X上用户直接面对的是X-Server,而各种应用程序则是X-Client。为了使得 X-Window 更加易于使用,各个不同的公司与组织都针对其做出了许多集成桌面环境。

3.3.X-Window的特点

X-Window 与其他的图形界面系统相比,有其自身的特点,主要有以下几点。

  • 良好的网络支持。

  • 个性化的窗口界面。

  • 不内嵌于操作系统。

  • 是一个跨平台的操作环境。

3.4.UKUI图形环境

openEuler支持多种图形界面,如UKUI、DDE、XFCE,GNOME、Kiran等。

UKUI‌是麒麟软件团队历经多年打造的一款Linux 桌面,主要基于 GTK 和 QT开发。与其他UI界面相比,UKUI更加注重易用性和敏捷度,各元件相依性小,可以不依赖其他套件而独自运行,给用户带来亲切和高效的使用体验。

UKUI支持x86_64和aarch64两种架构。安装时,建议新建一个管理员用户。具体的安装过程请参阅第1章1.2小节中UKUI的安装视频‌。

3.5.桌面

桌面是用户进行图形界面操作的基础,如图5-1所示,UKUI提供了多个功能部件,包括任务栏、开始菜单等。

3.5.1.桌面图标

系统默认放置了计算机、回收站、主文件夹三个图标,鼠标双击即可打开页面,桌面图标及说明如表5-1所示。

3.5.2.计算机属性

右键单击“计算机”,选择“属性”,可显示当前系统版本、内核版本等相关信息,如图5-2所示。

3.5.3.桌面快捷菜单

在桌面空白处单击鼠标右键,出现的菜单如图5-3所示,为用户提供了一些快捷功能。

部分选项说明如表5-2所示。

3.6.任务栏

任务栏位于底部,包括开始菜单、显示任务视图、文件管理器、窗口显示区和托盘菜单,如图5-4所示。

3.6.1.开始菜单

开始菜单用于弹出系统菜单,可查找应用和文件。单击“开始菜单”按钮,菜单具备滑动条功能,如图5-5所示。

用户将鼠标停留在开始菜单右侧,会出现一个右侧预展开的提示栏,点击展开,即在右侧默认显示三个分类:“全部”“字母排序”“功能分类”。

  • 全部:列出所有软件,近期使用过的软件将会在此页面置顶显。

  • 字母排序:列出系统根据首字母进行分类显示所有软件。

  • 功能分类:列出系统根据功能进行分类显示所有软件。

  • 用户可通过点击右上角开始菜单的全屏图标,查看全屏菜单,如图5-6所示。

用户单击图5-6中右下角的关机图标,弹出的窗口如图5-7所示。

单击图5-7最下面的“系统监视器“按钮,可以看到系统中进程、服务、磁盘、处理器、内存、交换空间及网络的使用状况,如图5-8所示。

右键单击开始菜单图标,提供用户操作(锁定屏幕和注销)、休眠或睡眠、电源(重启、定时关机、关机)三个快捷选项,如图5-9所示。

3.6.2.显示任务视图

显示任务视图可多视图切换,在多个工作区互不干扰进行操作,点击“显示任务视图”图标,即可进入如图5-10所示界面,在多个工作区内选择当下需要工作的操作区。

3.6.3.文件管理器

文件管理器,可浏览和管理系统中的文件,单击“文件管理器”按钮后如图5-11所示

3.6.4.窗口显示区

打开的应用最小化后会在窗口显示区显示应用的图标。点击图标后,还原相应的应用窗口

3.6.5.托盘菜单

托盘菜单里包含了常用的一些应用图标,如搜索、蓝牙、音量、网络工具、侧边栏、U盘管理工具、输入法、日期和时间、夜间模式等。

3.7.重启X Window的方法

先注销当前用户,然后再重新登录即可重启X-Window。


4.进程管理

Linux是一个多任务的操作系统,系统上可以同时运行多个进程,正在执行的一个或多个相关进程成为一个作业。用户可以同时运行多个作业,并在需要时可以在作业之间进行切换。

4.1.进程相关概念

进程是在自身的虚拟地址空间运行的一个单独的程序。进程与程序之间还是有明显区别的:程序只是一个静态的命令集合,不占系统的运行资源;而进程是一个随时都可以发生变化的、动态的、使用系统运行资源的程序。一个程序可以启动多个进程。和进程相比较,作业是一系列按一定顺序执行的命令。一条简单的命令可能会涉及多个进程,尤其是当使用管道和重定向时。

进程和程序的概念如图5-12所示。

进程和程序的区别如图5-13所示。

         

Linux系统中的进程分为三类:交互进程‌;批处理进程‌;守护进程‌。

进程属性有进程号(PID)、父进程号(PPID)、进程名、用户、cpu%、内存%、优先级、开启时间等。

4.2.启动进程

在 Linux 系统中,每个进程都有一个唯一的进程号(PID‌),方便系统识别和调度进程。通过简单地输入运行程序的程序名,就可以运行该程序,其实也就是启动了一个进程。

总体来说,启动一个进程主要有两种途径,分别是通过手工启动和通过调度启动(事先进行设置,根据用户要求,进程可以自行启动),接下来主要介绍手工启动进程,手工启动进程指的是由用户输入命令直接启动一个进程,根据所启动的进程类型和性质的不同,其又可以细分为前台启动‌和后台启动‌两种方式。

启动前台进程和后台进程的命令如图5-14所示。

4.3.查看进程信息

要对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程。要查看Linux系统中的进程信息,可以使用uptime、ps命令和top命令,命令介绍如图5-15所示

4.4.终止进程

结束前台进程和后台进程的方法如图5-16所示。


5.网络管理

Linux系统中提供了一些网络命令用于网络配置和网络测试,本节介绍一些常用的网络命令以及相关的网络配置文件。修改网络配置需要使用管理员身份,所以本节以root身份执行命令。

5.1.查看与修改主机名

hostname命令可以查看或者修改主机名,但使用hostname命令修改主机名只是临时生效,若要永久修改主机名称需要在/etc/hostname中进行设置。hostname命令格式及举例如下。

查看主机名:hostname

[root@sjh ~ ]# hostname

设置主机名:hostname  计算机新的名字 

[root@sjh ~ ]# hostname   wl19.com

在文件中修改主机名: 

[root@sjh~ ]# vi  /etc/hostname

5.2.查看与修改网卡信息

使用ifconfig命令可以显示和配置网络接口,比如显示网卡信息、设置IP 地址、激活或关闭网络接口。

5.2.1.使用ifconfig查看网卡信息

查看所有网卡信息:

[root@sjh ~ ]# ifconfig

单独查看某块网卡(比如 ens33)的情况:

[root@sjh ~ ]#ifconfig  ens33  

5.2.2.使用ifconfig配置IP地址

设置IP地址:ifconfig  网卡名  ip地址  netmask 子网掩码

例如:

设置第一块网卡(ens33)的IP地址为192.168.1.3子网掩码为255.255.255.128

[root@sjh ~ ]#ifconfig  ens33   192.168.1.3   netmask  255.255.255.128

5.2.3.使用ifconfig配置辅助IP地址

设置辅助IP地址:

ifconfig   网卡名:虚拟网卡ID    IP地址  netmask  子网掩码

如果不设置netmask则使用默认的子网掩码,用ifconfig命令设置辅助IP地址,如下所示:

[root@sjh ~ ]#ifconfig   ens33:1   192.168.1.4 

5.2.4.使用ifconfig禁用和启用网卡

ifconfig  网卡名称  down  该命令禁用指定网卡

ifconfig  网卡名称  up  该命令启用指定网卡

5.3.查看与修改网关

route命令可以添加、删除、查看网关及路由情况,route命令及举例如下所示,其中,gw是gateway的简写。

route add default gw IP地址  该命令可以添加默认网关

route del default gw IP地址  该命令可以删除默认网关

route 该命令可以查看主机路由表

主机路由表如图5-17所示,其中,红线框出来的是使用route命令添加的默认网关。

说明:

上例中的Flags用来描述该条路由条目的相关信息,如是否活跃,是否为网关等。U(Use)表示该条路由为活跃的,G(Gateway)表示该条路由条目要涉及到网关。

5.4./etc/resolv.conf文件

 每个主机能上互联网,这与域名服务器提供的功能分不开。域名服务器能把域名转换为对应的IP地址。/etc/resolv.conf文件是由域名解析器使用的配置文件,其内容如图5-18所示

该文件中包含三行内容,其中第一行是注释,其余两行描述如下。

search:表示DNS‌搜索路径,即解析不完整名称时默认的附加域名后缀, 这样可以在解析名称时用简短的主机名而不是完全合格域名(FQDN)‌。

nameserver:表示解析域名时使用该IP地址指定的主机为域名服务器, 可以设置多个域名服务器,系统按照文件中域名服务器出现的顺序来查询。

5.5.网卡配置文件

虽然可以使用命令修改网卡的IP地址、网关、DNS服务器等信息,但是操作系统开机时仍是以网卡的配置文件来加载网卡信息的。网卡配置文件位于/etc/sysconfig/network-scripts/目录下,名称为ifcfg-ens33(ens33为网卡的名称)。网卡的配置文件如图5-19所示。

其中各参数的说明如表5-3所示。

5.6.ping 命令

ping命令可以用来测试源主机与目标主机之间的连通性。执行ping命令会使用ICMP传输协议发出要求回应的信息,如果远程主机的网络功能没有问题,就会回应该信息,因而得知该主机是否正常运作。

命令语法:

ping [选项]  [目标]

命令中选项含义如表5-4所示。

5.7.netstat 命令

netstat命令可以用来显示网络状态信息,了解整个Linux系统的网络情况,比如网络连接、路由表、接口统计、伪装连接和组播成员等。

命令语法:

netstat  [选项]  [延迟]

部分选项含义如表5-5所示。

5.8.nslookup 命令

nslookup命令用来测试DNS服务器能否正常解析出域名对应的IP地址,或者IP地址对应的域名。它有两种工作模式,交互模式和非交互模式。

非交互模式下的命令格式为:nslookup 域名(或IP地址)

nslookup非交互模式执行效果如图5-20所示。

用户在命令行提示符后只输入nslookup命令就进入交互模式,在交互模式下,用户可以输入想要查询的域名、IP、别名等,输入exit可以退出交互模式,返回到命令行提示符,执行效果如图5-21所示。

5.9.命令ntsysv

ntsysv命令可以设置计算机开机时哪些服务会随着操作系统的启动而自动启动。

5.10.图形界面下修改网卡信息

在图形界面下也可以直接修改网卡的配置信息,如IP地址、子网掩码、网关、DNS等。

下边是命令作用的一部分总结:



6.软件包管理

Linux系统中经常需要安装新的软件包以提供新的系统功能,下边介绍rpm、yum、dnf等软件包管理命令。

6.1.RPM管理软件包

Red Hat提供了RPM‌软件包的管理,可实现对软件包的安装、查询、升级与更新、卸载处理。 

语法:

rpm [选项]  [RPM软件包文件名称]

 rpm命令中部分选项含义如表5-6所示。

rpm命令的使用举例如下所示:

6.1.1.安装软件包(install)

  rpm   -ivh   rpm软件包全名

其中:

  • -i:安装一个新的软件包

  • -v:显示详细信息

  • -h:显示安装进度条

举例

rpm –ivh  gconf-editor-2.28.0-3.el6.i686.rpm

6.1.2.查询已安装的软件包(query)

rpm –qa   该命令查询出本机所有已经安装的软件

rpm –q httpd 该命令查询httpd软件包是否已经安装

rpm -q【i l c d R】 vsftpd

rpm  -qf  /etc/inittab 

查询未安装的软件包:

rpm  -qp 【i l c d R】 gconf-editor-2.28.0-3.el6.i686.rpm

6.1.3.升级与更新(upgrade/freshen)

rpm -Uvh  软件包名称

说明:

原来没有安装过的,直接安装;如果已安装过,则更新至新版。

rpm  -Fvh  软件包名称  

说明:

原来没有安装过的,不安装;如果已安装过,则更新至新版。

6.1.4.卸载RPM包(erase)

rpm   -e   vsftpd

注意

卸载时只需要给出软件包名称vsftpd,而不需要给出软件包的全部名称信息vsftpd-2.2.2-6.el6.i686.rpm。

6.1.5.重建RPM数据库(rebuilddb)

rpm    --rebuilddb

 注意

数据库的位置在/var/lib/rpm下面。

但是,使用rpm命令管理软件包时缺点很明显。

  • 安装某个软件包时,需要计算机上已经有现成的软件包安装文件。

  • 如果某软件包有相应的依赖关系包,必须把这些依赖包提前安装好,否则该软件包安装不上。

  • 由于卸载掉了某个依赖关系而导致其他的软件包不能用。

7.yum管理软件包

yum‌起初是由Terra Soft研发的, 其宗旨是自动化地升级、安装和删除RPM软件包,收集RPM软件包的相关信息,检查依赖性并且一次安装所有依赖的软件包,无须繁琐地一次次安装。使用yum命令的前提条件是计算机能上互联网。

yum具有以下特点。

  • 可以同时配置多个软件仓库。

  • 简洁的配置文件/etc/yum.conf。

  • 自动解决安装或者删除RPM软件包时遇到的依赖性问题。

  • 使用yum非常方便。

  • 保持与RPM数据库的一致性。

使用yum命令可以安装、更新、删除、显示软件包。yum可以自动进行系统更新,基于软件仓库的元数据分析,解决软件包依赖性关系。

命令语法: yum [选项]  [命令]

选项含义如表5-7所示。

yum命令的命令部分描述如表5-85所示。

yum命令的使用方法如下所示。

安装软件包:       yum    install     vsftpd

删除软件包:       yum    remove   vsftpd

查询软件包 : yum search vsftpd 

只下载软件包而不安装它:

yum  -y install   vsftpd --downloadonly --downloaddir=/tmp

示例1

搜寻与磁盘阵列(raid)相关的软件有哪些?

[root@sjh ~]# yum  search  raid

示例2

找出mdadm这个软件的功能为何?

[root@sjh ~]# yum   info  mdadm

示例3

列出yum 服务器上面提供的所有软件名称。

[root@sjh ~]# yum   list

示例4

列出目前服务器上可供本机进行升级的软件有哪些?

[root@sjh ~]# yum  list  updates 

示例5

列出提供passwd这个文件的软件有哪些?

[root@sjh ~]#  yum  provides  passwd

yum还支持软件组功能,将一组功能相关的软件包组成一个软件组,然后可以安装、查询、删除软件组。

查询软件组:yum   grouplist(查阅目前容器与本机上面的可用与安装过的软件群组有哪些?)

yum   groupinfo  开发工具(查询开发工具软件组的相关信息)

安装软件组: yum    groupinstall     开发工具

删除软件组: yum    groupremove   开发工具

8.使用DNF管理软件包

DNF是一款Linux软件包管理工具,用于管理RPM软件包。DNF可以查询软件包信息,从指定软件库获取软件包,自动处理依赖关系以安装或卸载软件包,以及更新系统到最新可用版本。DNF与上面介绍的YUM完全兼容,提供了YUM兼容的命令行以及为扩展和插件提供的API。使用DNF需要管理员权限,本章所有命令需要在管理员权限下执行。

8.1.配置DNF

DNF的主要配置文件是/etc/dnf/dnf.conf,该文件包含两部分。

  • “main”部分保存着DNF的全局设置。

  • “repository”部分保存着软件源的设置,可以有零个或多个“repository”。

另外,在/etc/yum.repos.d目录中保存着零个或多个repo源相关文件,它们也可以定义不同的“repository”。

所以openEuler软件源的配置一般有两种方式,一种是直接配置/etc/dnf/dnf.conf文件中的“repository”部分,另外一种是在/etc/yum.repos.d目录下增加openEuler.repo文件。openEuler提供的软件源请参考网址:openEuler软件源‌。

关于软件源的具体配置请参考网址:openEuler软件源的配置‌。openEuler中的DNF配置部分,本博客不再详细介绍。

8.2.管理软件包

使用dnf能够方便的进行查询、安装、删除软件包等操作。

搜索软件包: dnf search httpd

说明

使用rpm包名称、缩写或者描述搜索需要的RPM包。

列出软件包清单:dnf list all

说明

列出系统中所有已安装的以及可用的RPM包信息。

只列出某个软件包:dnf list httpd

说明

列出系统中特定的RPM包信息。

显示RPM包信息:dnf info httpd vsftpd

说明

显示一个或者多个RPM包信息。

安装RPM包: dnf install httpd

下载软件包: dnf download --resolve httpd

说明

如果需要同时下载未安装的依赖,则加上--resolve。

删除软件包: dnf remove httpd

8.3.管理软件包组

软件包集合是服务于一个共同目的的一组软件包,例如系统工具集等。使用dnf可以对软件包组进行安装/删除等操作,使相关操作更高效。

列出软件包组清单: dnf groups summary

说明

列出系统中所有已安装软件包组、可用的组、可用的环境组的数量。

列出所有软件包组:dnf group list

说明

列出所有软件包组和它们的组ID。

显示软件包组信息:dnf group info "Development Tools"

说明

列出包含在一个软件包组中必须安装的包和可选包安装RPM包。

安装软件包组: dnf group install "Development Tools"

说明

每一个软件包组都有自己的名称以及相应的ID(groupid),可以使用软件包组名称或它的ID进行安装。

删除软件包组: dnf group remove "Development Tools"

说明:

卸载软件包组,使用软件包组名称或它的ID。

8.4.检查与更新

dnf可以检查您的系统中是否有软件包需要更新。您可以通过dnf列出需要更新的软件包,并可以选择一次性全部更新或者只对指定包进行更新。

检查更新:

dnf check-update 该命令显示当前系统可用的更新

升级:

dnf update anaconda-gui.aarch64 该命令升级单个软件包

dnf group update group_name 该命令升级软件包组

更新所有的包和它们的依赖:dnf update


9.总结

以上便是本篇博客的主要内容,主要介绍了系统管理的相关内容,希望对大家有所帮助,知识点比较多,希望大家可以耐心看完。有好多命令没有直观的呈现出来,希望大家可以边看边尝试,实践是检验真理的唯一标准!愿大家学习完本篇博客之后能够有很多收获!我们下一篇博客再见!

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

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

相关文章

hive复杂数据类型Array Map Struct 炸裂函数explode

1、Array的使用 create table tableName( ...... colName array<基本类型> ...... ) 说明&#xff1a;下标从0开始&#xff0c;越界不报错&#xff0c;以null代替 arr1.txtzhangsan 78,89,92,96 lisi 67,75,83,94 王五 23,12 新建表&#xff1a; create table arr1(n…

基于Python实现的HDR图像处理算法

此代码会读取两张图片&#xff0c;一张用于保留高光细节&#xff0c;另一张用于保留暗部细节。两张图片按指定比例进行像素融合&#xff0c;最终生成一张合成的HDR图片。 import cv2 import numpy as npdef hdr_fusion(highlight_img_path, shadow_img_path, output_path, alp…

网络协议(4)拥塞控制

之前已经说过了tcp也是会考虑网络的情况的&#xff0c;也就是当网络出现问题的时候tcp不会再对报文进行重传。当所有的用户在网络不好的时候都不会对丢失的报文进行重传。这样就会防止网络瘫痪。 这样的机制也就是tcp会进行拥塞控制。 拥塞控制 所谓的慢启动看下面这张图就能…

解决 IDEA 修改代码重启不生效的问题

前言 在使用 IntelliJ IDEA 进行 Java 项目开发时&#xff0c;有时会遇到一个令人头疼的问题&#xff1a;修改了代码后&#xff0c;重启服务却发现更改没有生效。通常情况下&#xff0c;解决这个问题需要通过 Maven 的 clean 和 compile 命令来强制重新编译&#xff0c;但这显…

git使用及上线流程(仅为我工作中常用)

推荐软件或者直接终端 ⚠️注意&#xff1a;在确保远程和本地分支都可使用的情况下 git常见使用命令 ls---查看所有目录 pwd---本机密码 cd 目录名---进入目录 Touch ---创建文本文件 git status---查看状态 git branch---查看分支 git pull---拉取远程最新代码 git checkou…

12.C++内存管理1(C/C++内存分布,C语言动态内存管理)

⭐本篇重点&#xff1a;C/C内存分布&#xff0c;C语言动态内存管理 ⭐本篇代码&#xff1a;c学习/04.c-动态内存管理 橘子真甜/c-learning-of-yzc - 码云 - 开源中国 (gitee.com) 目录 一. C/C内存分布&#xff08;C/C内存地址空间&#xff09; 二. C语言动态内存管理 2.1 …

游戏引擎学习第15天

视频参考:https://www.bilibili.com/video/BV1mbUBY7E24 关于游戏中文件输入输出&#xff08;IO&#xff09;操作的讨论。主要分为两类&#xff1a; 只读资产的加载 这部分主要涉及游戏中用于展示和运行的只读资源&#xff0c;例如音乐、音效、美术资源&#xff08;如 3D 模型和…

JavaWeb——JS、Vue

目录 1.JavaScript a.概述 b.引入方式 c.JS的基础语法 d.JS函数 e.JS对象 f.JS事件监听 2.Vue a.概述 b.Vue常用指令 d.生命周期 1.JavaScript a.概述 JavaScript是一门跨平台、面向对象的脚本语言。是用来控制网页行为的&#xff0c;它能使网页可交互。JavaScript和…

HarmonyOs鸿蒙开发实战(16)=>沉浸式效果第一种方案一窗口全屏布局方案

1.沉浸式效果的目的 开发应用沉浸式效果主要指通过调整状态栏、应用界面和导航条的显示效果来减少状态栏导航条等系统界面的突兀感&#xff0c;从而使用户获得最佳的UI体验。 2.窗口全屏布局方案介绍 调整布局系统为全屏布局&#xff0c;界面元素延伸到状态栏和导航条区域实现沉…

spi 回环

///tx 极性0 &#xff08;sclk信号线空闲时为低电平&#xff09; /// 相位0 (在sclk信号线第一个跳变沿进行采样) timescale 1ns / 1ps//两个从机 8d01 8d02 module top(input clk ,input rst_n,input [7:0] addr ,input …

CF862B Mahmoud and Ehab and the bipartiteness(二分图的性质)

思路&#xff1a;一个二分图是由两个集合组成的&#xff0c;同一个集合中的节点间不能连边&#xff0c;所以一个二分图最多有cnt[1]*cnt[2]条边&#xff0c;题目给出一个树的n-1条边&#xff0c;要我们添加最多的边数使他成为二分图&#xff0c;添加的边数就是cnt[1]*cnt[2]-n1…

docker:基于Dockerfile镜像制作完整案例

目录 摘要目录结构介绍起始目录package目录target目录sh目录init.sh脚本start.sh脚本stop.sh脚本restart.sh脚本 config目录 步骤1、编写dockerfilescript.sh脚本 2、构件镜像查看镜像 3、保存镜像到本地服务器4、复制镜像文件到指定目录&#xff0c;并执行init.sh脚本5、查看挂…

Redis自学之路—基础数据结构具体方法解析(五)

目录 简介 数据结果具体方法解析 字符串(String) 操作命令 set设置值 setex setnx get获取值 del删除key mset批量设置值 incr数字运算 append追加指令 strlen字符串长度 getset设置并返回原值 setrange设置指定位置的字符 getrange截取字符串 命令的时间复杂…

通过华为鲲鹏认证发行上市的集成平台产品推荐

华为鲲鹏认证是技术实力与品质的权威象征&#xff0c;代表着产品达到了高标准的要求。从技术层面看&#xff0c;认证确保产品与华为鲲鹏架构深度融合&#xff0c;能充分释放鲲鹏芯片的高性能、低功耗优势&#xff0c;为集成平台的高效运行提供强大动力。在安全方面&#xff0c;…

使用 AMD GPU 实现 Segment Anything

Segment Anything with AMD GPUs — ROCm Blogs 作者&#xff1a; Sean Song 发布日期&#xff1a;2024年6月4日 介绍 分割任务——识别图像中哪些像素属于某对象——是计算机视觉中的一个基础任务&#xff0c;应用广泛&#xff0c;从科学图像分析到照片编辑。Segment Anyth…

Spring Cloud Stream实现数据流处理

1.什么是Spring Cloud Stream&#xff1f; 我看很多回答都是“为了屏蔽消息队列的差异&#xff0c;使我们在使用消息队列的时候能够用统一的一套API&#xff0c;无需关心具体的消息队列实现”。 这样理解是有些不全面的&#xff0c;Spring Cloud Stream的核心是Stream&#xf…

无人机飞手入门指南

无人机飞手入门指南旨在为初学者提供一份全面的学习路径和实践建议&#xff0c;帮助新手快速掌握无人机飞行技能并了解相关法规知识。以下是一份详细的入门指南&#xff1a; 一、了解无人机基础知识 1. 无人机构造&#xff1a;了解无人机的组成部分&#xff0c;如机身、螺旋桨…

使用Mac下载MySQL修改密码

Mac下载MySQL MySQL官网链接MySQL​​​​​​ 当进入到官网后下滑到community社区&#xff0c;进行下载 然后选择community sever下载 这里就是要下载的界面&#xff0c;如果需要下载之前版本的话可以点击archives&#xff0c; 可能会因为这是外网原因&#xff0c;有时候下…

两大新兴开发语言大比拼:Move PK Rust

了解 Move 和 Rust 的差异有助于开发者根据项目的具体需求选择最合适的语言。选择不恰当的语言可能会导致项目后期出现技术债务。不同语言有其独特的优势。了解 Move 和 Rust 的差异可以帮助开发者拓展技术视野&#xff0c;发现不同语言在不同领域的应用潜力。 咱们直奔主题&a…

three.js 对 模型使用 视频进行贴图修改材质

three.js 对 模型使用 视频进行贴图修改材质 https://threehub.cn/#/codeMirror?navigationThreeJS&classifyapplication&idvideoModel import * as THREE from three import { OrbitControls } from three/examples/jsm/controls/OrbitControls.js import { GLTFLoad…