当前位置: 首页 > news >正文

Linux基础指令介绍与详解——原理学习

        前言:本节内容标题虽然为指令,但是并不只是讲指令, 更多的是和指令相关的一些原理性的东西。 如果友友只想要查一查某个指令的用法, 很抱歉, 本节不是那种带有字典性质的文章。但是如果友友是想要来学习的, 那么本篇文章很适合, 而且非常适合初入linux的小白(没错, 就是我)。

目录

基本指令

常见指令

文件的属性与类型

.文件的作用

路径

..文件的作用

其他基本指令

基本指令2

如何看待指令

重定向与阅读文本


基本指令

常见指令

ls、 cd、 pwd、mkdir、 touch

  • ls:显示当前目录下的文件信息
  • cd:进入某一个文件夹
  • pwd:查看当前路径
  • mkdir:创建文件夹
  • touch:创建普通文件

文件的属性与类型

        在linux中, 可以将文件分为两类, 一类是普通文件, 也就是touch出来的; 一类是文件夹, 也就是mkdir出来的。 对应我们windows中的文件夹(如图红框框)和普通文件(如图蓝框框)

另外, 指令也可以携带选项。 比如ls -a就是显示隐藏文件。 ls -l就是详细的显示文件的属性。 

        第一个红框框是显示隐藏文件,是的, 文件也是有隐藏文件和非隐藏文件的区别的。“."这个其实就是一个隐藏文件夹, 表示当前目录。 ".."也是一个隐藏文件夹, 表示上级目录。

        第二个红框框是详细的显示文件属性。 文件 = 文件的数据 + 文件的属性。 文件的属性也是数据, 是数据就要存储, 那么就要占用空间。 所以当我们创建一个空文件, 里面即使没有保存任何信息, 这个文件也要占用磁盘空间。所以, ls显示文件信息, 本质上就是在显示文件的属性。

        同时, 文件的操作 = 文件内容的操作 + 文件属性的操作

        现在来看一下下面这张图中前面的一个长条红框框。 框起来的部分就是文件的类型。 

文件的类型分为: 文件目录——以d开头、 普通文件——以-开头。

        第三个红框框是ls -al, 这个指令是将ls -a 和ls -l的后面的选项合起来。 这样用是没有问题的。 结果就是既显示隐藏文件, 也会详细的将文件属性显示出来。

.文件的作用

在linux中, 任何文件目录下面都有两个隐藏文件"."和".."为什么? 他们有什么用?

        首先来看".", 这个隐藏文件是表示当前目录。 我们在执行某些程序或者操作(本质上都是文件, linux下一切皆文件)时, 可能需要确定是哪个路径下的程序或者操作。 这个时候, 如果要执行当前目录下的程序或者文件, 我们就要用到".", 表示执行当前目录下的某些操作。如图a.out是一个可执行文件:

路径

        在了解“..”的作用之前, 我们要先了解路径的相关概念:

        这里可以思考一个问题, 那就是对于一个文件夹来说, 它可以放另一个目录或者放普通文件。 那么就决定了我们的目录结构, 我们的目录结构一定是一个多叉树的样子。

        linux的目录结构的叶子节点一定是一个空目录或者一个普通文件。而它路上的节点, 一定是一个非空目录。所以 我们对于文件目录的增删查改, 实际上都是对这棵多叉树的增删查改。 

        对于一个文件来说, 我们找到这个文件就要有这个文件的路径。 也就是多叉树上面的路径。那么为什么可以使用路径呢? 

        这是因为路径具有唯一性。 对于一棵多叉树来说, 每一个根节点都只有一个父亲节点。 那么就是说这个根节点回推到某一节点, 只有一条路可以走。 所以路径具有唯一性。

        接下来看一下路径分隔符, 这个小斜杠就是路径分隔符:

   路径分为绝对路径和相对路径 

  •          绝对路径:绝对路径就是从我们的根目录下(/), 定位到某一个特定位置, 具有唯一性的路径叫做绝对路径, 如图:

  •         相对路径:如果我们目前在dir2目录下, 如果_mian_yang目录下还有一个dir3.那么../dir3就是dir3相对于dir2的相对路径。

    两个路径的比较

  • 绝对路径通常比较长, 但是永远不会变, 一般在一定场景, 如文件配置。

  • 相对路径往往比较短, 一般命令行输入, 比较常用相对路径。

..文件的作用

         而"..", 就可以用在相对路径中, 比如cd ../dir3路径, 意思是进入上级目录中的dir3兄弟文件夹中。 

其他基本指令

//ls -F

ls -F能够显示文件的类型, 在最后显示/代表文件夹, 在最后显示*代表可执行文件, 什么都不带代表普通文件。

//whoami

查看自己当前的账户

在linux中, 所有普通用户账号都会放到home目录下面, 进入路径是: /home

 home目录对应着windows中的用户:


//cd~

cd~的作用是返回当前账户的家目录:

普通用户返回家目录:

root用户返回家目录:

//mkdir -p 一串文件

//cd -, cd - 可以返回到上一级的路径中

基本指令2

rm

rm是删除指令,后面什么都不加时, 可以删除普通文件。 但是如果要删除一个目录文件就会删除失败。

rm -r 可以删除目录文件, r的意思是递归。 这条指令也就是递归删除。 

在默认情况下, 我们的普通用户删除东西时, 系统不会确认我们是否删除 

但是如果是root账户, 我们删文件(这个的所有者是root)时, 系统就会确认我们是否删除, 并且如果删除一个目录文件, 还会一层一层的问我们是否删除。 

那如果我们普通用户下想要让系统问我们就要使用 rm -i。

如果我们root账户下不想让系统问我们就要使用 rm -f。

//man手册

使用方式 man + 指令

man man就是询问自己的功能, 查看自己的详细信息。

man有版本的说法, man1一般就是指令接口, man2一般就是系统接口,man3一般就是c语言接口。

man手册在查找的时候, 如果不加编号, 那么默认会从第一号手册开始, 一个手册一个手册往下找, 直到找到或者所有手册找完也没有找到。(退出用q)

//先来简单的说一说echo,和cat

echo可以将后面的字符串默认加上换行符并打印到显示器上。

但是, 当我们在字符串的后面加 > 文件名的时候, 就会发生输出重定向, 原本应该打印到显示器上的内容就会被打印到文件里。 

然后要看到hl.txt文件里面的内容就要使用cat, cat + 文件名 是在文件里面读取数据打印到显示器上面。

//cp

cp的功能是拷贝,就是用一个文件拷贝出另一个文件, 文件名可以不同, 但内容相同。相当于windows里面的cv。

        cp 文件1 文件2, 这里的文件1就是原版本, 这里的文件2就是要拷贝出来的文件。 文件2默认被拷贝在当前目录, 但是尝试告诉我们相同目录不能又相同名字的文件, 所以当前目录如果又和它同名的文件, 这个文件就会被覆盖。

        cp 文件1 路径, 将文件1拷贝到相应路径上, 这个更加灵活,根据上面所学的相对路径或者绝对路径, 可以随便拷贝到一个路径下面。 需要注意的是, 如果路径的末尾是目录, 那么就会拷贝到目录下面,并且文件名默认就是文件1的名称。但是如果路径的末尾是普通文件, 那么就会生成这个文件, 如果存在同名, 就把它覆盖掉。(这个应该是常识, 和windows上一样, 这里只是梳理一下, 其实文件1也可以是一条路径, 就是将某个路径下的文件拷贝到某个路径下

        需要注意的是, 当cp在覆盖的时候, 系统会确认我们的操作, 如果我们不想看到这个确认, 就可以加上-f选项。 同理, -i选项就是想要被他询问。 

//mv

mv是剪切并重命名, 有了上面学习cp的基础, mv就比较简单了。 我们可以直接这样记

        mv 路径1/文件名1 路径2/文件名2 其实就是将一个路径下的文件, 剪切到一个路径下。 就是将路径1里面的文件1剪切到路径2里面并且重命名。 需要注意的是如果有重名的,同样会将原本的那个覆盖掉。 还有, 如果文件2是一个目录, 那么就是将文件文件1剪切到文件2里面。 名字是默认的文件1的名称。 

知道了剪切, 我们就可以做一些操作了。

如何看待指令

        我们应该如何去看待指令呢?

        其实, 指令和我们写的可执行程序a.out都是可执行的, 所以指令的本质其实就是一个可执行程序

        那么看这样一个例子:

这里我乱写了一串指令, 很显然, 系统中不存在这条指令。 那么它为什么知道不存在?是不是因为系统查找了所有指令,但是找不到一条和我要的相同的? 所以, 我们就可以推断, 指令在执行之前, 系统会先寻找指令。 那么这个指令在哪里寻找呢? 答案就是/usr/bin里面。 这里就是系统查找指令的地方, 所有指令都在这里放着————即:指令是在系统的特定路径下存在的, 它一定是某种可执行程序。

 

那么, 如果我们将我们自己写的程序,放到这里面, 是不是就相当于我们自己写的程序也是一条指令了? 这个过程, 其实就是安装程序。 现在我们来自己写一个a.out并把它放在/usr/bin里面, 下次我们使用的时候就不需要加./了:

所以, 指令的本质就是可执行程序, 和我们自己写的代码, 编译好的程序, 没有本质区别。 但是如果我们不想要这个指令的时候还可以把他从/usr/bin里面移出来, 这个过程就是卸载程序:

综上,我们可以得到, 指令的本质就是一个可执行文件, 只不过这个可执行文件被自动安装到了系统的搜索目录下面。

-----------------------下面接着讲其他指令

//alias取别名

alias的用法是: alias 取的别名='指令'

ll其实就是一个别名, 要查看这个别名, 我们可以使用which,这里会告诉我们ll的原型是什么。

 我们可以自己给某个指令取一下别名:

然后取消别名就是将这个la的别名变成空指令的别名:

------------------

重定向与阅读文本

现在先来了解一个概念:linux下一切皆文件, 显示器, 键盘, 磁盘文件。 都是文件

 我们使用cat指令,如果我们cat后面什么都没加, 那么cat就会默认在键盘上面读取:

        注意, 这里我们虽然输入字符s, 显示器上就有一个s, 回车又会打印一个s。 为什么是从键盘上读取, 而不是从显示器上读取?因为这里本质上其实就是从键盘上读取字符, 而我们之所以输入一个字符, 能够在显示器上显示出来, 是因为我们在键盘上输入后, 显示器给我们回显到了屏幕上。 所以本质还是从键盘上读取。

        对于显示器来说, 它没有读方法(NULL), 只有写方法(fwrite)。 对于键盘来说, 他只有读方法(fread), 没有写方法(NULL)。 而普通文件读方法和写方法都有。 而在linux的视角下,NULL也是有, 所以linux下面所有文件都有读写方法。 

        所以, 这里可以重新来理解一下重定向: 把本应该写到显示器文件上的内容写到了普通的磁盘文件中, 这就叫做重定向。

 

关于重定向, 我们还要了解到就是, 其实我们使用重定向, 它一共做了两个步骤:

1、清空文件

2、向文件中写入内容。

比如下面这个例子, 就是什么都没写, 只清空了文件。

//>>追加重定向

        >是先清空再向文件中写入内容。但是如果我们不想要清空文件, 就要是用>>, 这个是在文件的后面追加内容。

        这里echo默认后面会添加换行符, 如果不想添加换行符, 就要使用printf

//<输入重定向

cat当什么都不加的时候是默认从键盘上读取数据。但是如果我们cat < 文件名, 就相当于cat 文件名, 意思是从文件中读取数据。另外, cat还有一些选项:

cat -n 文件名, 对文件打印, 并且打印行号。

cat -b 文件名, 对文件带你, 并且对非空行打印行号。

cat -s 文件名, 对文件打印, 如果有多个空行连起来, 那么只打印一个空行。

//more和less读取大文件 

cat不适合读取大文件,more和less更适合读取大文件。 当我们用cat读取大文件时:

我们智能使用鼠标向上滑动地翻找。

我们使用more读取大文件, 文件会只将屏幕打满, 我们向下翻找只需要按空格。

并且可以输入行号跳转到相应行数:

但是还有一些问题, 那就是不能上翻。 所以我们通常很少使用more, 更多的是使用less阅读大文件, less阅读大文件, 按上就是向上翻, 按下就是向下翻。

//head 和 tail 和 管道

head可以拿到文件中的前n行。 用法是 : head -行数 文件名:

tail 可以拿到文件中的倒数n行。 用法是: tail -行数 文件名:

        如果此时我们要拿到中间5000行左右的数据怎么办?

        我们可以先拿到前5000行数据放到一个新的文件中, 然后再对新的文件取后几十行, 就能拿到中间5000行左右的数据了。 但是这个方法有个问题, 就是必须创建中间文件, 但是我们不想创建中间文件。 怎么办?

        这里可以使用管道 | : 管道也是管道文件, 它是一种内存级文件(什么意思,博主也不懂)。

但是管道文件的作用就是将符号左边的数据结果放到自己里面, 再将数据交给右边进行计算。 相当于起到中转的作用。在计算机中, 数据就是资源, 而管道文件就是输送数据这种资源。 用法:

--------------

以上, 就是本节全部内容。

 //ps:下面都是一些对于操作系统的理解与一些课堂笔记, 友友们没有兴趣自行退出即可

        操作系统是管理软硬件资源的软件。 计算机中最底层的就是硬件——比如cpu、显卡、网卡、显示器、键盘等等。 这些硬件的上一层就是驱动器, 驱动器是用来驱动硬件进行工作的。 而这些驱动器的上一层就是操作系统, 操作系统通过管理驱动器, 进而管理硬件。最上层其实就是应用软件。 应用软件提出需求, 操作系统根据需求间接管理硬件, 让硬件做出相应的工作。

        综上, 操作系统, 驱动器, 硬件就是三层软硬件资源, 提供了一套软硬件服务。

        如图:

        对于如图四层资源, 我们可以这样理解:

  •         操作系统: 管理和决策——相当于boss
  •         设备驱动: 沟通底层硬件, 接收操作系统的命令——相当于项目经理
  •         硬件: 执行工作, 办事——相当于程序员
  •         应用程序: 向操作系统提出需求——相当于用户

在日常中, 需要有各种各样服务的软件,来满足用户各种各样的需求。       

        个人笔记:

那么, 一个好的操作系统的衡量指标是什么, 为什么要有操作系统呢?

        首先一个好的操作系统, 不能用着用着蓝屏——要稳定; 其次, 一个好的操作系统不能用着非常卡, 体验不好——要快, 流畅; 最后, 一个好的操作系统, 用户的信息要安全, 否则信息很容易被盗取, 用户的体验不好——要安全

        至于为什么要有操作系统, 这就涉及到了操作系统的核心工作, 操作系统的核心工作就是通过对下管理好软硬件资源的手段, 达到对上提供良好的, 稳定快速安全的操作环境

        个人笔记:

        那么, 我们如何理解我们在计算机中执行的各种操作呢?

        比如我们使用printf在显示器上打印, 向磁盘中写入数据, 玩游戏时像网络中发送请求等等这些操作。 这些软件操作其实最终都会被转化为硬件操作。

        也就是说, 我们日常在计算机上面执行的各种行为, 最终都会被转化为硬件行为。

        比如说我们使用printf, printf最终会打印到我们的显示器上。 其实本质就是通过软件将内容打印到了硬件上。        我们向磁盘中写入数据, 其实就是将代码——软件, 写到了磁盘——硬件上。         还有我们打网络游戏时, 为什么我们能够同步的看到别人的状态情况,其实就是因为我们每个人的电脑都在向服务端推送数据, 而这个推送的过程中, 就要先将数据输入到网卡上面。

         综上, 我们任何软件的行为, 最终都会转换为硬件行为。 并且这个过程自顶向下, 贯穿整个计算机软硬件结构, 而软件的下层挨着的就是操作系统。所以未来我们进行各种计算机操作, 都和操作系统直接或者间接的相关

        个人笔记:

----------

下面是本节全部的笔记(个人笔记,整理很乱, 友友们自行选择是否观看):

相关文章:

Linux基础指令介绍与详解——原理学习

前言&#xff1a;本节内容标题虽然为指令&#xff0c;但是并不只是讲指令&#xff0c; 更多的是和指令相关的一些原理性的东西。 如果友友只想要查一查某个指令的用法&#xff0c; 很抱歉&#xff0c; 本节不是那种带有字典性质的文章。但是如果友友是想要来学习的&#xff0c;…...

【代码随想录算法训练Day52】LeetCode 647. 回文子串、LeetCode 516.最长回文子串

Day51 动态规划第十三天 LeetCode 647. 回文子串 dp数组的含义&#xff1a;i到j的子串是否是回文的&#xff0c;是的话dp[i][j]1 递推公式&#xff1a;if(s[i]s[j]) i j 一个元素 是回文的 |i-j|1 两个元素 是回文的 j-i>1 判断dp[i1][j-1] 初始化&#xff1a;全部初始化成…...

VUE项目安全漏洞扫描和修复

npm audit 1、npm audit是npm 6 新增的一个命令,可以允许开发人员分析复杂的代码并查明特定的漏洞。 2、npm audit名称执行&#xff0c;需要包package.json和package-lock.json文件。它是通过分析 package-lock.json 文件&#xff0c;继而扫描我们的包分析是否包含漏洞的。 …...

Nginx主配置文件---Nginx.conf

nginx主配置文件的模块介绍 全局块&#xff1a; 全局块是配置文件从开始到 events 块之间的部分&#xff0c;其中指令的作用域是 Nginx 服务器全局。主要指令包括&#xff1a; user&#xff1a;指定可以运行 Nginx 服务的用户和用户组&#xff0c;只能在全局块配置。例如&…...

IOS Swift 从入门到精通:写入 Firestore数据库

文章目录 FirestoreManager 类创建文档更新文档更新 Firestore 权限规则现在,我们想要在 Firestore 中添加或更新文档。如果您还没有,我建议您阅读有关设置 Firebase Auth 和从 Firestore 读取的部分。您必须在应用程序中启用 Firebase,并在项目中启用 Firestore 数据库,才…...

维克日记 v0.4.2:开发者友好的数字化笔记工具

维克日记&#xff0c;专为技术开发者和笔记爱好者设计的数字化笔记工具&#xff0c;以其强大的功能和灵活的配置赢得了用户的好评。软件采用Markdown语法&#xff0c;提供实时预览功能&#xff0c;让您的笔记编辑更加高效和直观。维克日记的用户界面简洁而功能齐全&#xff0c;…...

语音房平台交友,语聊APP系统开发线上语音交友平台成熟案例源码出售

随着移动互联网的快速发展&#xff0c;人们对于社交方式的需求也在不断变化&#xff0c;语音房平台交友语助APP作为一种新兴的社交方式&#xff0c;以其独特的语音交流模式和实时互动的特点&#xff0c;受到了越来越多用户的喜爱本文将详细介绍语音房平台交友语聊APP系统的开发…...

VMamba: Visual State Space Model论文笔记

文章目录 VMamba: Visual State Space Model摘要引言相关工作Preliminaries方法网络结构2D-Selective-Scan for Vision Data(SS2D) VMamba: Visual State Space Model 论文地址: https://arxiv.org/abs/2401.10166 代码地址: https://github.com/MzeroMiko/VMamba 摘要 卷积神…...

探索哈希函数:数据完整性的守护者

引言 银行在处理数以百万计的交易时&#xff0c;如何确保每一笔交易都没有出错&#xff1f;快递公司如何跟踪成千上万的包裹&#xff0c;确保每个包裹在运输过程中没有丢失或被替换&#xff1f;医院和诊所为庞大的患者提供有效的医疗保健服务&#xff0c;如何确保每个患者的医疗…...

解析Kotlin中的Unit【笔记摘要】

1. Kotlin的Unit 和 Java的void 的区别 // Java public void sayHello() {System.out.println("Hello!") }// Kotlin fun sayHello(): Unit {println("Hello!") }Unit 和 Java 的 void 真正的区别在于&#xff0c;void 是真的表示什么都不返回&#xff0c…...

仿论坛项目--初识Spring Boot

1. 技术准备 技术架构 • Spring Boot • Spring、Spring MVC、MyBatis • Redis、Kafka、Elasticsearch • Spring Security、Spring Actuator 开发环境 • 构建工具&#xff1a;Apache Maven • 集成开发工具&#xff1a;IntelliJ IDEA • 数据库&#xff1a;MySQL、Redi…...

Spring boot 更改启动LOGO

在resources目录下创建banner.txt文件&#xff0c;然后编辑对应的图案即可 注释工具 Spring Boot Version: ${spring-boot.version},-.___,---.__ /|\ __,---,___,- \ -.____,- | -.____,- // -., | ~\ /~ | …...

python变成几个小程序

专家系统 需要建立‘capital_data.txt’ 空文件 from tkinter import Tk, simpledialog, messageboxdef read_from_file():with open(capital_data.txt) as file:for line in file:line line.rstrip(\n)country, city line.split(/)the_world[country] citydef write_to_fi…...

nginx配置stream代理

项目中遇到某些服务在内网&#xff0c;需要外网访问的情况&#xff0c;需要配置代理访问。可用nginx搭建代理服务。 TCP代理 通过nginx的stream模块可以直接代理TCP服务&#xff0c;步骤如下&#xff1a; 在/etc/nginx/下新建proxy文件夹&#xff0c;用于存放代理配置。此处…...

【瑞吉外卖 | day01】项目介绍+后台登录退出功能

文章目录 瑞吉外卖 — day011. 所需知识2. 软件开发整体介绍2.1 软件开发流程2.2 角色分工2.3 软件环境 3. 瑞吉外卖项目介绍3.1 项目介绍3.2 产品原型展示3.3 技术选型3.4 功能架构3.5 角色 4. 开发环境搭建4.1 数据库环境搭建4.2 Maven项目构建 5. 后台系统登录功能5.1 创建需…...

关于批量采集1688商品主图及链接的方式:软件采集/1688官方API接口数据采集

关于批量采集&#xff0c;我们通常用到的是软件 采集&#xff0c;或者通过1688官方API数据采集的形式&#xff1a;用户输入一组1688商品ID&#xff0c;一行一个&#xff0c;流程会自动逐个打开对应的1688商品详情页&#xff0c;采集主图的所有链接。 结果保存为表格的一行&…...

Shell 获取Hive表的location 信息

用shell 获取建表语句&#xff1a; hive -e "show create table ods_job.ods_job_tb"得到结果&#xff1a; CREATE TABLE ods_job.ods_job_tb(id bigint COMMENT id, auto int COMMENT job开启/关闭&#xff1a;0-关闭&#xff1b;1-开启, ....timeout_kill string…...

从零搭建教育管理系统:Java + Vue.js 教学-02

第三步:创建实体类和 Mapper 接口 现在我们已经设计好了数据库表,接下来使用 MyBatis-Plus 将这些表映射到 Java 对象,以便在代码中轻松地进行操作。 1. 创建实体类 在 src/main/java/<your_package>/entity 目录下 (如果没有该目录,请手动创建),创建与数据库表对应…...

VSCode + GDB + J-Link 单片机程序调试实践

VSCode GDB J-Link 单片机程序调试实践 本文介绍如何创建VSCode的调试配置&#xff0c;如何控制调试过程&#xff0c;如何查看修改各种变量。 安装调试插件 在 VSCode 扩展窗口搜索安装 Cortex-Debug插件 创建调试配置 在 Run and Debug 窗口点击 create a launch.json …...

grpc学习golang版( 五、多proto文件示例 )

系列文章目录 第一章 grpc基本概念与安装 第二章 grpc入门示例 第三章 proto文件数据类型 第四章 多服务示例 第五章 多proto文件示例 第六章 服务器流式传输 第七章 客户端流式传输 第八章 双向流示例 文章目录 一、前言二、定义proto文件2.1 公共proto文件2.2 语音唤醒proto文…...

LeetCode 106 从中序与后序遍历序列构造二叉树

根据中序遍历和后序遍历的性质&#xff0c;还原二叉树&#xff0c;详细见注释 TreeNode* buildTree(vector<int>& inorder, vector<int>& postorder) {//空&#xff0c;直接返回nullif(inorder.size() 0) return nullptr;//一个&#xff0c;返回一个nod…...

Vue Router的深度解析

引言 在现代Web应用开发中&#xff0c;客户端路由已成为实现流畅用户体验的关键技术。与传统的服务器端路由不同&#xff0c;客户端路由通过JavaScript在浏览器中控制页面内容的更新&#xff0c;避免了页面的全量刷新。Vue Router作为Vue.js官方的路由解决方案&#xff0c;以其…...

YOLO-V2

一、V2版本细节升级 1、YOLO-V2&#xff1a; 更快&#xff01;更强 1.1 做的改进内容 1. YOLO-V2-Batch Normalization V2版本舍弃Dropout&#xff0c;卷积后每一层全部加入Batch Normalization网络的每一层的输入都做了归一化&#xff0c;收敛相对更容易经过Batch Norma…...

pmp考试的通过标准是什么?

PMP考试的是否通过并不是依据类似其他考试的数值成绩&#xff0c;是通过考生收到邮件通知后去主动查询具体的页面得知的。查询页除了电子证书的下载方式&#xff0c;还有成绩报告单的选项以及成绩饼状图&#xff0c;具体如下&#xff1a; 页面中显示“PASS”表示考试通过。 显…...

不懂PyQt5垂直布局?只需3分钟即可学会

PyQt5中实现垂直布局&#xff0c;主要使用QVBoxLayout类。该布局管理器将子控件垂直排列&#xff0c;并可以根据需要自动调整大小。使用QVBoxLayout可以方便地构建从上到下排列的界面元素。 import sys from PyQt5.QtWidgets import QApplication, QVBoxLayout, QWidget, QPus…...

从零开始实现大语言模型(二):文本数据处理

1. 前言 神经网络不能直接处理自然语言文本&#xff0c;文本数据处理的核心是做tokenization&#xff0c;将自然语言文本分割成一系列tokens。 本文介绍tokenization的基本原理&#xff0c;OpenAI的GPT系列大语言模型使用的tokenization方法——字节对编码(BPE, byte pair en…...

生物分子生物学实验过程的自动化与智能监控系统设计

开题报告&#xff1a;生物分子生物学实验过程的自动化与智能监控系统设计 一、引言 随着生物科学技术的飞速发展&#xff0c;生物分子生物学实验在科研、医疗、农业等领域的应用日益广泛。然而&#xff0c;传统的生物分子生物学实验过程大多依赖于人工操作&#xff0c;存在操…...

linux的shell脚本编程详解

Shell 脚本是一种用于自动化任务的脚本语言&#xff0c;在 Linux 和其他类 Unix 操作系统中非常流行。它通常用于任务自动化、系统管理和批处理。编写 Shell 脚本并使其自动化编译过程&#xff08;例如使用 gcc 编译 C/C 程序&#xff09;是一种常见的任务。 以下是一个详细的…...

Redis 7.x 系列【11】数据类型之位图(Bitmap)

有道无术&#xff0c;术尚可求&#xff0c;有术无道&#xff0c;止于术。 本系列Redis 版本 7.2.5 源码地址&#xff1a;https://gitee.com/pearl-organization/study-redis-demo 文章目录 1. 概述2. 基本命令2.1 SETBIT2.2 GETBIT2.3 BITCOUNT2.4 BITPOS2.5 BITFIELD2.6 BITF…...

如何评定旅游卡的品质与服务?

评定旅游卡的品质与服务&#xff0c;可以从以下几个关键方面进行综合考量&#xff1a; 公司实力与资质&#xff1a;选择有实力、资质齐全的公司发行的旅游卡。查看公司背景&#xff0c;确认其是否长期稳定运营&#xff0c;是否具有旅游行业的专业资质&#xff0c;如旅行社许可证…...

适合学生暑假适用的护眼大路灯有哪些?五款好用护眼灯分享!

在护眼领域&#xff0c;护眼大路灯已经成为越来越多人的选择。这种具备实力的工具可以有效地缓解用眼疲劳、改善光线环境&#xff0c;是学生党和办公族的必备神器。然而&#xff0c;市面上的护眼大路灯品牌众多&#xff0c;如何选择一款性价比高、品质优良的产品呢&#xff1f;…...

linux服务器 部署jenkins

在 Linux 服务器上部署 Jenkins 通常包括以下几个步骤&#xff1a; 更新系统软件包&#xff1a; sudo apt update sudo apt upgrade 安装 Java&#xff1a; Jenkins 需要 Java 运行时环境。推荐使用 OpenJDK 11。 sudo apt install openjdk-11-jdk 添加 Jenkins 软件源并导入…...

电商控价:系统监测的必要性与优势

在品牌的发展进程中&#xff0c;会遭遇各种各样的渠道问题&#xff0c;控价乃是其中颇为关键的一环。品牌进行控价的目的无疑是为了妥善治理低价链接&#xff0c;低价链接的发现途径可以是人工&#xff0c;也可以是系统。力维网络在为上百个品牌提供服务的过程中察觉到&#xf…...

港股下半年能恢复上涨趋势吗?

今日港股两大指数涨跌不一&#xff0c;早盘盘初恒指冲高&#xff0c;涨幅一度扩大至1%。截至收盘&#xff0c;香港恒生指数涨0.57%。板块方面&#xff0c;电力、航空、石油、内险股、燃料电池、环保等板块涨幅居前&#xff1b;互动媒体与服务、生物科技、汽车零部件、新经济概念…...

软件测试项目实战:银行贷款业务测试介绍-2

1、利息计算 正常利息贷款本金*借款天数*贷款年利率/360 罚息逾期本金*逾期天数*逾期年利率/360 复利逾期利息*逾期天数*逾期年利率/360 2、贷款五级分类 正常贷款&#xff1a;正常及逾期60天以内 关注贷款&#xff1a;逾期60天及以上&#xff0c;不足90天 次级贷款&#xff1…...

如何将Hive表的分区字段插入PG表对应的时间戳字段?

文章目录 1、背景描述2、场景分析 1、背景描述 数据仓库的建设通常是为业务和决策服务的。在数仓开发的应用层阶段&#xff0c;BI可以直接从主题层/业务层取数&#xff0c;而前端需要根据具体的作图需求通过后端查询数据库 作图的指标需要根据主题层/业务层做查询计算&#xf…...

Spring Boot与MyBatis的集成应用

Spring Boot与MyBatis的集成应用 大家好&#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01;今天我们来聊聊Spring Boot与MyBatis的集成应用。MyBatis是一款优秀的持久层框…...

在昇腾服务器上使用llama-factory对baichuan2-13b模型进行lora微调

什么是lora微调 LoRA 提出在预训练模型的参数矩阵上添加低秩分解矩阵来近似每层的参数更新&#xff0c;从而减少适配下游任务所需要训练的参数。 环境准备 这次使用到的微调框架是llama-factory。这个框架集成了对多种模型进行各种训练的代码&#xff0c;少量修改就可使用。 …...

Kafka 管理TCP连接

生产者管理TCP连接 Kafka生产者程序概览 Kafka的Java生产者API主要的对象就是KafkaProducer。通常我们开发一个生产者的步骤有4步&#xff1a; 第1步&#xff1a;构造生产者对象所需的参数对象。 第2步&#xff1a;利用第1步的参数对象&#xff0c;创建KafkaProducer对象实例…...

electron教程(一)创建项目

一、方式① 根据官网描述将electron/electron-quick-start项目克隆下来并启动 electron/electron-quick-start地址&#xff1a; GitHub - electron/electron-quick-start: Clone to try a simple Electron app git clone https://github.com/electron/electron-quick-start…...

如何在Oracle、MySQL、PostgreSQL上终止会话或取消SQL查询

How to Kill session or Cancel SQL query on Oracle , MySQL, PostgreSQL 数据库维护过程中难免会遇到一些不正常的SQL或会话进程正在占用系统大量资源&#xff0c;临时需要终止查询或kill会话&#xff0c;在Oracle, MySQL, Postgresql数据库中不同的操作。 Oracle KILL会话…...

3、FTL基本工作过程

上文描述了FTL的四大功能&#xff0c;这里简述一下每个功能的含义。 地址转换简述 FTL要维护一个地址转换表&#xff0c;这个转换表是主机读/写硬盘的逻辑地址到硬盘实际物理地址的转换关系。 假如SSD的容量是128G&#xff0c;SSD逻辑块的大小是4KB&#xff0c;那SSD的逻辑块…...

微信小程序的跳转页面

在微信小程序中&#xff0c;要实现从当前页面返回到指定页面的功能&#xff0c;通常不直接使用“返回上一页”的逻辑&#xff0c;而是利用小程序的页面栈管理和navigateBack或者重新定向到目标页面的API。下面我将介绍两种主要的方法&#xff1a; 方法一&#xff1a;使用 navi…...

深入理解 Java 中的线程间通信:`wait()`, `notify()`, `notifyAll()`

引言 在多线程编程中&#xff0c;线程间通信是一个重要且复杂的主题。Java 提供了一套基本的机制来实现线程间通信&#xff0c;即使用 wait(), notify(), 和 notifyAll() 方法。这些方法由 Object 类提供&#xff0c;用于协调多个线程对共享资源的访问。本文将详细介绍这些方法…...

23种设计模式【创建型模式】详细介绍之【单例模式】

23种设计模式【创建型模式】详细介绍之【单例模式】 设计模式的分类和应用场景总结单例模式1. 概述2. 实现方式2.1 饿汉式单例模式2.2 懒汉式单例模式&#xff08;非线程安全&#xff09;2.3 懒汉式单例模式&#xff08;线程安全&#xff09; 3. 单例模式的优缺点3.1 优点3.2 缺…...

某汽车配件制造公司任职资格体系项目成功案例纪实

——基于岗位特点和核心能力要求&#xff0c;分层分级能力测评&#xff0c;实现个性化人才培养 【客户行业】生产制造&#xff1b;汽车配件制造 【问题类型】任职资格体系建立&#xff1b;人才管理系统 【客户背景】 某汽车配件制造公司是一家专注于汽车配件研发、生产和销…...

【Linux】生物信息学常用基本命令

wget网址用于直接从网上下载某个文件到服务器&#xff0c;当然也可以直接从网上先把东西下到本地然后用filezilla这个软件来传输到服务器上。 当遇到不会的命令时候&#xff0c;可以使用man “不会的命令”来查看这个命令的详细信息。比如我想要看看ls这个命令的详细用法&…...

React Native V0.74 — 稳定版已发布

嗨,React Native开发者们, React Native 世界中令人兴奋的消息是,V0.74刚刚在几天前发布,有超过 1600 次提交。亮点如下: Yoga 3.0New Architecture: Bridgeless by DefaultNew Architecture: Batched onLayout UpdatesYarn 3 for New Projects让我们深入了解每一个新亮点…...

Python面试宝典第4题:环形链表

题目 给你一个链表的头节点 head &#xff0c;判断链表中是否有环。如果存在环 &#xff0c;则返回 true 。 否则&#xff0c;返回 false 。 如果链表中有某个节点&#xff0c;可以通过连续跟踪 next 指针再次到达&#xff0c;则链表中存在环。 为了表示给定链表中的环&#xf…...

Kubernetes (K8s) 底层原理

Kubernetes (K8s) 的底层原理涉及多个关键组件和概念&#xff0c;确保容器化应用程序的自动化部署、扩展和管理。以下是 Kubernetes 的底层原理及其关键组件的详细描述。 核心组件 Etcd 功能&#xff1a;分布式键值存储&#xff0c;用于存储集群的所有数据&#xff0c;包括配置…...