【Linux】软件包管理器 yum和编辑器-vim的基本使用

news2024/12/23 18:15:18

文章目录

  • 一、yum背景知识
    • 1.商业生态
    • 2.开源生态
    • 3.Linux软件生态本土化
  • 二、yum的基本使用
    • 1.什么是软件包
    • 2.查看软件包
    • 3.安装软件
    • 4.卸载软件
    • 5.rzsz
  • 三、vim的基本使用
    • 1.vim的基本概念
    • 2.vim的基本操作
    • 3.vim命令模式命令集
    • 4.vim末(底)行模式命令集
    • 5.操作总结
  • 四、简单vim配置
    • 1.vim配置原理
    • 2.简单vim配置
    • 3.vim一键配置
  • 五、配置sudo权限

一、yum背景知识

1.商业生态

我们在安装一个软件之前,需要先下载其对应的软件安装包,但是这个软件安装包并不存在于我们本地电脑的磁盘上,而是存在于远端的服务器上,对此,我们可能就有疑问,那么我们的计算机是如何得知我们下载的软件在哪个服务器上呢?

对于我们的电脑来说,我们可以到对应软件的官网获得对应的安装包进行下载,而对手机来说,我们可以直接在应用商店里直接下载,但实际上手机的应用商店里并不存在软件包,而是只有对应软件官网的链接,所以看似我们是直接在应用商店里下载的,其实最后我们的软件包还是从官网里下载的!此时,我们可能又有疑问,那么这些软件包又是由谁给我们提供的呢?

其实,我们应该知道软件包是由一些企业,组织或者个人给我们提供的,他们将软件开发出来了之后,在经过一系列的过程之后发现软件没有问题之后就把软件放在了对应的服务器上,然后就支持我们对其进行下载。

对于这个过程我们进行详细的讲解,他们编写出了软件包提供给我们使用,与此同时,他们也会通过收取费用或者内置广告的方式从中获取利益,此外,对于手机来说,他们需要向手机厂商支付一定的费用,然后他们的软件就能够在对应的手机应用商店中被别人下载,电脑则是在第三方进行下载,此时,就形成了一条商业生态链

2.开源生态

我们知道Linux系统是一款开源的操作系统,在托瓦兹编写了Linux操作系统并且开源之后,世界上有很多人参与到Linux的完善和扩展当中,但是Linux也需要软件,此时也有许多人为Linux编写免费的软件,这些人加入了对应的社区,在社区中进行交流学习,他们在将自己编写的软件完成之后,会放在对应的服务器上,而不同的社区会在自己的Linux版本中内置服务器和软件对应的下载链接,而用于存放下载链接的软件就是yum

yum(Yellow dog Updater, Modifified)是Linux下非常常用的一种包管理器. 主要应用在Fedora, RedHat,

Centos等发行版上,软件包和软件包管理器, 就好比 “App” 和 “应用商店” 这样的关系

再次之后,不同的Linux发行版创建对应的Linux社区,社区拥有一个公共账户,用于接受世界各地的捐款,用于购买服务器,举行各种峰会等等,世界各地具有开源精神的人会将自己编写好的软件放在社区的服务器上,社区然后再将这些软件的下载链接拷贝到对应的Linux发行版的软件包管理器中,使得我们能够在在Linux中通过软件包管理器进行安装各种软件

3.Linux软件生态本土化

Linux下有许多开源的软件,然而开源软件社区在国外居多**(服务器在国外)**,在国内访问国外很不方便;因此国内一些企业(阿里、百度)以及一些高效(清华、北大),它们会做一些事情让改用欸人员使用起来更方便,即镜像了国外的软件服务,即把国外服务器上的软件拷贝到国内自己公司的服务器上,使得我们可以直接访问国内的服务器进行下载,对于国内的计算机,当然可以访问国内外的服务器,但是国内的要稳定的多。镜像完后的下载链接的配置文件还是国外的链接,因此提供一套国内的下载链接–yum 源文件

在Linux中,yum源配置文件存在于/etc/yum/repos.d/目录下的CentOS-Base.repo文件中

在这里插入图片描述

如果我们使用的是云服务器,那么yum源一般都是配置好的,不需要我们进行配置,如果我们使用的是虚拟机,此时,我们就需要打开CentOS-Base.repos查看是否为国内的链接,如果不是,我们就需要自己进行配置,配置方法很多,我们直接在网上搜索对应的Linux发行版yum源配置即可

二、yum的基本使用

1.什么是软件包

在Linux下安装软件, 一个通常的办法是下载到程序的源代码, 并进行编译, 得到可执行程序,但是这样太麻烦了, 于是有些人把一些常用的软件提前编译好, 做成软件包(可以理解成windows上的安装程序)放在一个服务器上, 通过包管理器可以很方便的获取到这个编译好的软件包, 直接进行安装,软件包和软件包管理器, 就好比 “App” 和 “应用商店” 这样的关系,yum(Yellow dog Updater, Modifified)是Linux下非常常用的一种包管理器. 主要应用在Fedora, RedHat, Centos等发行版上

软件的执行:下载程序源代码—>编译—>得到可执行程序

但这样过于麻烦:提前编译好—>放在服务器上:管理编译好的软件包

软件包和软件包管理器<—>APP和APP Store

2.查看软件包

当我们知道部分要装的软件名时,可以通过yum来搜索查看:通过 yum list 命令可以罗列出当前一共有哪些软件包. 由于包的数目可能非常之多, 这里我们需要使用 grep 命令只筛选出我们关注的包

1.列出当前yum源对应的远端服务器上所有的软件

yum list

在这里插入图片描述

2.假设我们知道软件的部分名字,可以通过如下方式搜索软件:使用grep命令来筛选我们需要的软件包

yum list | grep sl

在这里插入图片描述

【注意】

  • 软件包名称: 主版本号.次版本号.源程序发行号-软件包的发行号.主机平台.cpu架构
  • “x86_64” 后缀表示64位系统的安装包, “i686” 后缀表示32位系统安装包. 选择包时要和系统匹配
  • “el7” 表示操作系统发行版的版本. “el7” 表示的是 centos7/redhat7. “el6” 表示 centos6/redhat6
  • 最后一列, base 表示的是 “软件源” 的名称, 类似于 “小米应用商店”, “华为应用商店” 这样的概

3.安装软件

通过 yum, 我们可以通过很简单的一条命令完成软件的安装,yum 会自动找到都有哪些软件包需要下载, 这时候敲 “y” 确认安装.出现 “complete” 字样, 说明安装完成,其中,我们加上-y选项之后就不会询问,而是直接完成安装

yum install -y 软件名

有一些软件没有被列入CentOS,Ubuntu,Kai等相关生态平台的官方软件集合中,如果我们需要使用这些软件,需要安装非官方软件集合列表–epel-release,安装命令如下:

yum -y install epel-release

【注意】

  • 安装软件时由于需要向系统目录中写入内容, 一般需要 sudo 或者切到 root 账户下才能完成
  • yum安装软件只能一个装完了再装另一个. 正在yum安装一个软件的过程中, 如果再尝试用yum安装另一个软件, yum会报错
  • 软件和软件之间是有关联的,具有一定的耦合性,yum为了解决软件之间相互依赖的问题,安装软件的时候将该软件需要的其他软件一同进行安装

4.卸载软件

卸载软件命令如下(-y表示不询问直接卸载):

yum remove -y 软件名

在这里插入图片描述

【注意】

关于 yum 的所有操作必须保证主机(虚拟机)网络畅通!!!可以通过 ping 指令验证

ping www.baidu.com

在这里插入图片描述

5.rzsz

这个工具用于 windows 机器和远端的 Linux 机器通过 XShell 传输文件.安装完毕之后可以通过拖拽的方式将文件上传过去

下面我们通过yum工具下载安装rzsz,步骤如下:

yum list | grep lrzsz     

在这里插入图片描述

rz用于 windows 机器通过 XShell 向远端的 Linux 机器传输文件

语法: rz

在这里插入图片描述

语法:sz 【文件名】

例如我们要上传test.txt至windows机器:

sz test.txt

在这里插入图片描述

此外,我们还可以通过拖拽的方式将windows的文件上传到Linux中

三、vim的基本使用

1.vim的基本概念

vi/vim的区别简单点来说,它们都是多模式编辑器,不同的是vim是vi的升级版本,它不仅兼容vi的所有指令,而且

还有一些新的特性在里面。例如语法加亮,可视化操作不仅可以在终端运行,也可以运行于x window、 macos、

windows

vim一共有12种模式,我们目前掌握三种模式即可,分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下:

  • 正常/普通/命令模式(Normal mode)

控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode

  • 插入模式(Insert mode)

只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。该模式是我们后面用的最频繁

的编辑模式

  • 末行模式(last line mode)

文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。 在命令模式下,shift+: 即可进入该模

式。

要查看你的所有模式:打开vim,底行模式直接输入:help vim-modes

2.vim的基本操作

我们使用vim打开文件时默认处于命令模式,然后我们可以通过如下指令切换到其他模式

  • [命令模式]切换至[插入模式]:输入i/o/a,其中使用i进入时光标处于第一个字符之前,使用a进入时光标处于第一个字符之后,使用o进入时光标处于第一行之后空白的行首

  • [插入模式]切换至[命令模式]

    目前处于[插入模式],就只能一直输入文字,如果发现输错了字,想用光标键往回移动,将该字删除,可以先按一下「ESC」键转到[命令模式]再删除文字。当然,也可以直接删除

  • [命令模式]切换至[末行模式]

「shift + ;」, 其实就是输入 :

  • [末行模式]切换到[命令模式]

[Esc]

  • 退出vim及保存文件
在[正常模式]下,按一下「:」冒号键进入「Last line mode」,例如:

w (保存当前文件)

wq (输入「wq」,存盘并退出vim)

q! (输入q!,不存盘强制退出vim)

在这里插入图片描述

3.vim命令模式命令集

插入模式

  • 按「i」切换进入插入模式「insert mode」,按“i”进入插入模式后是从光标当前位置开始输入文件;
  • 按「a」进入插入模式后,是从目前光标所在位置的下一个位置开始输入文字
  • 按「o」进入插入模式后,是插入新的一行,从行首开始输入文字

从插入模式切换为命令模式

按「ESC」键

移动光标

vim可以直接用键盘上的光标来上下左右移动,但正规的vim是用小写英文字母「h」、「j」、「k」,「l」,分别控制光标左、下、上、右移一格

按「G」:移动到文章的最后

按「 $ 」:移动到光标所在行的“行尾”

按「^」:移动到光标所在行的“行首”

按「w」:光标跳到下个字的开头

按「e」:光标跳到下个字的字尾

按「b」:光标回到上个字的开头

按「nl」:光标移到该行的第n个位置,如:5l,56l

按[gg]:进入到文本开始

按[shift+g]:进入文本末端

按「ctrl」+「b」:屏幕往“后”移动一页

按「ctrl」+「f」:屏幕往“前”移动一页

按「ctrl」+「u」:屏幕往“后”移动半页

按「ctrl」+「d」:屏幕往“前”移动半页

删除文字

「x」:每按一次,删除光标所在位置的一个字符

「nx」:例如,「6x」表示删除光标所在位置的“后面(包含自己在内)”6个字符

「X」:大写的X,每按一次,删除光标所在位置的“前面”一个字符

「nX」:例如,「20X」表示删除光标所在位置的“前面”20个字符

「dd」:删除光标所在行

「ndd」:从光标所在行开始删除n行

复制

「yw」:将光标所在之处到字尾的字符复制到缓冲区中。

「nyw」:复制n个字到缓冲区

「yy」:复制光标所在行到缓冲区。复制当前行的内容

「nyy」:例如,「6yy」表示拷贝从光标所在的该行“往下数”6行文字。复制从当前行开始想下的n行

「p」:将缓冲区内的字符贴到光标所在位置。注意:所有与“y”有关的复制命令都必须与“p”配合才能完

成复制与粘贴功能· np复制n次

替换

「r」:替换光标所在处的字符

「R」:替换光标所到之处的字符,直到按下「ESC」键为止

撤销上一次操作

「u」:如果您误执行一个命令,可以马上按下「u」,回到上一个操作。按多次“u”可以执行多次回复。(后退一步)

「ctrl + r」: 撤销的恢复,取消撤销操作(前进一步)

更改

「cw」:更改光标所在处的字到字尾处,和R一样,此命令会让我们跳转到插入模式

「cnw」:例如,「c3w」表示更改3个字

跳至指定的行

「ctrl」+「g」列出光标所在行的行号。

「nG」:例如,「15G」,表示移动光标至文章的第15行行首

文本编辑

~ 切换光标所在字符的大小写,(长按~:从光标所在字符开始往后切换所有字符的大小写,直到遇到行尾)

rx 将光标所在字符替换为x字符,(nrx:将光标所在字符开始往后的n个字符都替换为x字符)

R 批量化替换,即切换为替换模式,用键盘输入的字符替换光标所在的字符,且替换之后光标自动后移,等到替换下一个字符,我们最后输入esc从替换模式切回命令模式

x 删除光标所在字符(nx:删除光标所在字符开始往后的n个字符)

X 删除光标所在字符前的一个字符,(nX:删除光标所在字符的前n个字符)

w 将光标跳转到下一个字的第一个字符处,(nw:将光标跳转到下n个字的第一个字符处)

cw 更改光标所在处的字的字尾处,和R一样,次命令会让我们跳转到插入模式(cnw:更改n个字符)

4.vim末(底)行模式命令集

在使用末行模式之前,请记住先按「ESC」键确定您已经处于正常模式,再按「:」冒号即可进入末行模式

列出行号

「set nu」: 输入「set nu」后,会在文件中的每一行前面列出行号

跳到文件中的某一行

「\n」:「\n」号表示一个数字,在冒号后输入一个数字,再按回车键就会跳到该行了,如输入数字15,

再回车,就会跳到文章的第15行

查找字符

「/关键字」: 先按「/」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」会往后寻找到您要的关键字为止。

「?关键字」:先按「?」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」会往前寻找到您要的关键字为止

保存文件

「w」: 在冒号输入字母「w」就可以将文件保存起来

离开vim

「q」:按「q」就是退出,如果无法离开vim,可以在「q」后跟一个「!」强制离开vim。

「wq」:一般建议离开时,搭配「w」一起使用,这样在退出的时候还可以保存文件

其他操作

vs 分屏 注意,无论我们分几个屏,光标只有一个,它代表我们正在哪个屏幕进行操作

ctrl + ww 切换光标到不同屏幕(此命令在命令模式下执行)

%s/mark1/mark2/g 将文件中的所有mark1替换为mark2(s代表替换,g代表全局)

5.操作总结

  • 三种模式 : 正常模式, 插入模式, 底行模式

  • vim操作 : 打开,关闭,查看,查询,插入,删除,替换,撤销,复制等等操作

上面的指令我们并不是都需要完全的记住,我们需要对下面的指令熟练掌握:

在这里插入图片描述

在这里插入图片描述

此外,我这里推荐几篇大佬写的vim的文章:Github-Vim从入门到精通 简明 VIM 练级攻略| 酷壳-collshell

给程序员的VIM速查卡|库壳-collshell

四、简单vim配置

1.vim配置原理

1.vim的配置是一人一份的,一个用户配置的是自己的,不影响别人

2.每个人虽然用的是同一个vim程序,但是,大家用的是不同的vim配置,因为每个用户在自己的家目录下都有一个属于自己的vim配置文件—.vimrc

3.所谓的vim基本配置,就是修改自己的.vimrc,我们不能动任何一个不属于我们自己的文件

2.简单vim配置

配置文件的位置

在目录 /etc/ 下面,有个名为vimrc的文件,这是系统中公共的vim配置文件,对所有用户都有效。而在每个用户的主目录下,都可以自己建立私有的配置文件,命名为:“.vimrc”。例如,/root目录下,通常已经存在一个.vimrc文件,如果不存在,则创建之。切换用户成为自己执行 su ,进入自己的主工作目录,执行 cd ~打开自己目录下的.vimrc文件,执行 vim .vimrc

常用配置选项

设置语法高亮: syntax on

显示行号: set nu

设置缩进的空格数为4: set shiftwidth=4

3.vim一键配置

由于vim配置的选项十分繁杂,所以我们自己一个一个的进行配置将很浪费直接,所以我在gitee上找到了一个目前只支持 Centos7 x86_64vim一键配置的方法–VimForCpp

在这里插入图片描述

我们只需要在用户目录底下输入一下指令即可:

curl -sLf https://gitee.com/HGtz2222/VimForCpp/raw/master/install.sh -o ./install.sh && bash ./install.sh

在这里插入图片描述

然后我们输入"source ~/.bashrc"或者重启终端,就可以使vim配置失效。

这样我们的vim配置就配置好了,但是这个配置的默认缩进是2个字符,而我们在写C/C++代码时要求缩进为4个字符,那么我们需要打开.vimrc文件对默认缩进进行修改:

在这里插入图片描述

这样我们的vim配置就完成了,如果我们需要了解vim的具体细节,我们可以去阅读该项目的README.md文件-VimForCpp:快速将vim打造成c++IDE(gitee.com)

我们显示文件的时候,多了许多隐藏文件,这些隐藏文件一定不能删除,产生的非隐藏文件-install.sh可以删除,但是不建议大家删除

在这里插入图片描述

五、配置sudo权限

我们在使用某些指令的时候需要用sudo指令对普通用户进行提权,从而使得普通用户可以以root用户的身份去执行指令,但是前提是该用户必须是受信任度用户,即该用户必须处于sudoers中:

在这里插入图片描述
在这里插入图片描述

学习了vim的使用了之后,我们就可以在root下将自己添加到在/etc/sudoers文件中

在这里插入图片描述

在这里插入图片描述

这样,我们就可以在普通用户下使用sudo指令对指令进行提权了

在这里插入图片描述

注意,只有拥有sudo权限的用户才能执行该命令并进入该文件进行修改。

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

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

相关文章

C++学习day--10 条件判断、分支

1、if语句 if 语句的三种形态 形态1&#xff1a;如果。。。那么。。。 #include <iostream> using namespace std; int main( void ) { int salary; cout << " 你月薪多少 ?" ; cin >> salary; if (salary < 20000) { cout <&…

浅谈整除分块

例题一 ∑ i 1 n ⌊ n i ⌋ \sum_{i1}^n \lfloor\frac n i\rfloor\\ i1∑n​⌊in​⌋ 首先很容易想到直接求解&#xff0c;对于较大的数据&#xff0c; O ( n ) O(n) O(n)做法无法通过。 注意到函数 y ⌊ n x ⌋ y\lfloor\dfrac n x\rfloor y⌊xn​⌋的图像如下&#xff1a…

Hive语言

一、Hive的DDL语言&#xff08;数据库、数据表的增删改查操作) 二、Hive的DQL语言&#xff08;数据库查询语言&#xff09; 2.1Hive七子句 聚合函数&#xff1a;count()、sum()、max()、min()、avg()可以单独使用。(缩写&#xff1a;cs mm a) 2.1.1 分区查询与分区裁剪 SELEC…

OpenGL(九)——颜色

目录 一、前言 二、简单光源 三、光照场景 3.1 创建光源 3.2 光源顶点着色器 3.3 光源片段着色器 3.4 物体片段着色器 3.5 光源位置 一、前言 我们看到的物体颜色是通过光照在物体&#xff0c;然后反射到人眼成像&#xff0c;具体而言是物体不能吸收的颜色。如白光照射…

C++学习day--09 字符串比较、运算符

1、项目练习 第 1 节 项目需求、项目实现 项目实现&#xff1a; #include <iostream> #include <Windows.h> #include <string> using namespace std; int main( void ) { string name; string pwd; std::cout << " 请输入账号&am…

GPT-4的免费使用方法分享

目录 方法1&#xff1a;使用Ora.sh的LLM应用 方法2&#xff1a;使用https://steamship.com 方法3&#xff1a;使用https://nat.dev 方法4&#xff1a;http://tdchat.vip 方法5&#xff1a;使用Poe网站或App 方法6&#xff1a;使用 Opencat App 方法7:使用https://Huggin…

uniApp实现公农日历相互转换、公历、农历、阳历、阴历、calendar

文章目录 效果图1、组件1.1、html部分1.2、JavaScript部分1.3、style部分 2、使用组件3、总结 效果图 1、组件 1.1、html部分 <template><view v-if"isCalendar" class"calendar_box"><view v-show"!isTime" class"btn_ca…

Linux服务器使用supervisorctl命令部署Java服务详解

我们公司采用supervisorctl命令运行Java -jar包&#xff0c;觉得还是很方便的&#xff0c;此篇文章教你如何使用supervisorctl从零部署Java服务 安装jdk 首先肯定是下载安装Java的运行环境 jdk 下载地址&#xff1a;https://www.oracle.com/java/technologies/downloads/#jav…

WindowContainer相关类

WindowContainer类   从WindowContainer类的注释中可以看出该类中定义了一些公共的方法和属性给直接持有窗口的自己或者它的孩子使用&#xff0c;像RootWindowContainer、DisplayContent、DisplayArea、DisplayArea.Tokens、TaskDisplayArea、Task、ActivityRecord、WindowTok…

【话题讨论】-浅谈VR与AR

一、引言 随着ICT基础技术的发展&#xff0c;我们现在社会中的基础ict设施已经逐步完善&#xff0c;从而我们的社会也开始出现科幻片中才会有的场景&#xff0c;比如&#xff1a;我们可以构件一个虚拟3D沙盘。 还有我们熟悉的各类智能眼镜&#xff0c;已经进入到千家万户&…

干货 | Mendeley 的基础使用方法

Hello&#xff0c;大家好&#xff01; 这里是壹脑云科研圈&#xff0c;我是喵君姐姐~ 当阅读的文献越来越多&#xff0c;如何整理文献就成了一个大问题。文献管理软件则减轻了我们文献整理的负担。目前的文献管理软件使用较多的有Endnote、Notepress、Mendeley、Zotero等。 …

边无际首发ChatIoT:AI大模型从数字世界向物理世界迈进

将大模型的能力带到物理世界&#xff0c;除了微软、谷歌&#xff0c;还有一家中国的创业公司。边无际作为专注于物联网开发平台研发的科技公司&#xff0c;紧跟AI大模型带来的生产力变革&#xff0c;首发ChatIoT&#xff0c;率先将大模型的技术应用于物联网领域。 在微软、谷歌…

【高并发】网络模式

I/O 多路复用 多线程创建 服务器的主进程负责监听客户的连接&#xff0c;一旦与客户端连接完成&#xff0c;accept() 函数就会返回一个「已连接 Socket」&#xff0c;这时就通过 fork() 函数创建一个子进程&#xff0c;实际上就把父进程所有相关的东西都复制一份&#xff0c;…

多层感知器Multi-Layer Perception ,MLP

MLP神经网络的结构和原理 神经网络其实是对生物神经元的模拟和简化&#xff0c;生物神经元由树突、细胞体、轴突等部分组成。 生物神经元具有兴奋和抑制两种状态&#xff0c;当接受的刺激高于一定阈值时&#xff0c;则会进入兴奋状态并将神经冲动由轴突传出&#xff0c;反之则…

nginx配置文件nginx.conf的结构、各个指令(元素)的含义以及用法

nginx配置文件nginx.conf的结构、各个指令&#xff08;元素&#xff09;的含义以及用法 默认的nginx.confnginx.conf配置文件官方解释nginx.conf配置文件中每一条指令或指令快的含义是什么&#xff0c;以及用法&#xff08;使用范围&#xff1a;应该配置在什么地方&#xff09;…

今年的面试难度有点大....

大家好&#xff0c;最近有不少小伙伴在后台留言&#xff0c;又得准备面试了&#xff0c;不知道从何下手&#xff01; 不论是跳槽涨薪&#xff0c;还是学习提升&#xff01;先给自己定一个小目标&#xff0c;然后再朝着目标去努力就完事儿了&#xff01; 为了帮大家节约时间&a…

Selenium:利用select模块处理下拉框

目录 一、具体问题 二、解决方案 在UI自动化测试中&#xff0c;有时候会遇到页面元素无法定位的问题&#xff0c;包括xpath等方法都无法定位&#xff0c;是因为前端元素被设置为不可见导致。 这篇博客&#xff0c;介绍下如何通过JavaScript修改页面元素属性来定位的方法。。…

2021年科幻美剧和《人月神话》有啥渊源,书中有个小bug你知道吗

DDD领域驱动设计批评文集>> 《软件方法》强化自测题集>> 《软件方法》各章合集>> 《人月神话》1975版和1995版的封面是这样的&#xff1a; 图1 1975版“The Mythical Man-Month”封面 图2 1995版“The Mythical Man-Month”封面 书中第1章“焦油坑&…

【JS每N日一练】【自动化】gitcode创建子项目并导入git

▒ 目录 ▒ &#x1f6eb; 导读需求 1️⃣ 创建子项目手动操作编写代码 2️⃣ 导入github项目手动操作编写代码 &#x1f6ec; 文章小结&#x1f4d6; 参考资料 &#x1f6eb; 导读 需求 github访问时好时不好的&#xff0c;而且克隆代码及其麻烦&#xff0c;经常失败。所以小…

C语言 | 结构体

C语言 | 结构体 文章目录 C语言 | 结构体C语言结构体详解:1.实例&#xff08;多重嵌套&#xff09;1-1.定义1-2.初始化 2.结构体2-1、结构体2-1-1、结构体的类型定义&#xff1a;2-1-2、结构体变量的定义&#xff1a;2-1-3、结构体变量的初始化&#xff1a;2-1-4、使用&#xf…