【Linux】常见指令(下)

【Linux】常见指令(下)

  • 通配符 '*'
  • man指令
  • cp指令
    • echo指令
    • cat指令(简单介绍)
    • cp指令
  • mv指令
    • alias指令
      • which
  • ctrl + c
  • cat指令
    • linux下一切皆文件
  • more指令
  • less指令
  • head指令
  • tail指令
    • 管道

通配符 ‘*’

  • 通配符’ *‘,'是可以匹配匹配任意名字的文件。

例如:
ls *.c 可以找到该目录下的所有.c文件

在这里插入图片描述

ls test.*可以找到该目录下的所有test开头的文件。

在这里插入图片描述

同时,也可以使用其他指令搭配通配符’*'。

在这里插入图片描述

关于rm指令,一般推荐rm -rf XXX 这样的方式进行指令操作,不推荐 rm XXX -rf的原因是这种指令在其他Linux环境中可以不适应。

【注意】关于rm指令在root账号和普通用户的使用可能会不同:
1.如果是root账号在使用rm指令时,一般会去询问,所以对于root账号来说,rm选项中的-i选项是没有意义的。
2.但是对于普通账户来说,直接使用rm指令,一般不会询问,这是系统默认普通用户所建立和删除的文件或者目录不重要,如果想要在删除时被询问,需要在rm后面添加选项 -i。

man指令

Linux的命令有很多参数,我们一般都很难记住,我们可以通过查看联机手册来获取帮助。访问Linux手册页的命令是man
【语法】:man [选项]命令
【常用选项】:

  • -k 根据关键字搜索联机帮助
  • num 只在第num章节找
  • -a 将所有章节的都显示出来,比如 man printf 它缺省从第一章开始搜索,默认会停留在第一章节;当使用-a选项,当按下q时退出,他会继续往后面搜索,知道所有章节都搜素完毕。
    【解释手册】手册被分为八章(重点在前三章):

1.是普通的命令
2.是系统调用,如open,write,之类的(通过这个,至少可以很方便的查到调用这个函数,需要加什么头文件)
3.是库函数,如printf,fread
4.是特殊文件,也就是/dev下的各种设备文件
5.是指文件的格式,比如passward,就会说明这个文件各个字段的含义
6.是给游戏留的,由各个游戏自己定义
7.是附件还有一些变量,比如向environ这种全局变量在这里就有说明
8.是系统管理用的命令,这些命令只能由root使用,如ifcoming

  • Linux操作系统由于是使用C语言写的,所以Linux操作系统的很多接口都是C的。

在这里插入图片描述
我们使用man man指令更加详细的了解指令(部分截图)(按q离开):

在这里插入图片描述
man ls指令(部分截图):

在这里插入图片描述

man pwd指令(部分截图):

在这里插入图片描述

man rm指令(部分截图)
在这里插入图片描述

在man man指令中的八章中,现阶段需要注意的就是前三章:

在这里插入图片描述

  • 在使用man指令查询时,上下建进行翻阅,按q离开。

【注意】我们在使用man指令查看printf的时候,可能会进入第一章(普通的命令)或者进入第三章(是库函数),系统会按照顺序默认进入第一章。
这是因为printf在Linux操作系统中不仅是作为C语言的一种库函数,同是Linux中的一种命令,用于打印无换行符的数据。

  • 使用man printf默认会进入第一章查看printf这个命令

在这里插入图片描述

在这里插入图片描述

  • 想要特定查看printf的库函数,可以添加选项 man 3 printf
    在这里插入图片描述

【注意】可以部分操作系统没有添加关于C的库函数,此时可以更新一下man手册:yum install man-pages

cp指令

在了解cp指令之前需要先对echo和cat俩个指令有一定的了解:

echo指令

  • echo 指令,可以将后面的字符串原生打印。

现在可以执行echo “hello linux”,将字符串打印在屏幕上。

在这里插入图片描述

使用输出重定向,将输出到显示屏上的内容输出到文件上。
echo “hello linux” > test.txt

在这里插入图片描述

  • 输出重定向:现阶段的理解,就是本来应该显示到显示器的内容,打印到文件中去。

【注意】指令echo与指令printf俩个指令都是输出到一定位置,但是printf是没有换行符的,而echo是有换行符的。

cat指令(简单介绍)

  • cat:打印文件内容

我们可以将上面echo输出重定向文件的内容打印出来:

在这里插入图片描述
我们可以注意到,这个数据已经被写入到文件中了。

cp指令

【语法】:cp [选项] 源文件或目录 目标文件或目录
【功能】:复制文件或目录
【说明】:cp指令用于复制文件或目录,如同时指定俩个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或者目录复制到此目录中。若同时指定多个文件或者目录,而最后的目的地并非一个已存在的目录,则会出现错误信息。
【常用选项】:

  • -f 或 - -force 强行复制文件或目录,不论目的文件或目录是否已经存在。
  • -i 或 - -ineractive 覆盖文件之前先询问用户
  • -r 递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链接,则一律视为普通文件处理。
  • -R 或 - -recursive递归处理,将指定目录下的文件及子目录一并处理。

【例子】

将test.txt文件备份一份

在这里插入图片描述

./test_backup1.txt 与 test_backup.txt的位置相同,系统会默认将文件拷贝该目录下。

在这里插入图片描述

也可以将文件拷贝到上级目录下。

在这里插入图片描述

我们发现,在上次目录中可以设置和此目录中相同的文件名,经过我们对Windows系统的了解,同一个目录下,不能出现同名文件,不同目录下,可以出现同名文件,这在Linux操作系统中同样适用。

进行选项操作-p可以进行递归处理。

在这里插入图片描述

同样的,-i 与 -f 的选项操作只对普通用户起作用

mv指令

mv命令是move的缩写,可以用来移动文件或者将文件改名(move(rename)files),是Linux系统下常用的命令,经常用来备份文件或者目录。

【语法】:mv [选项] 源文件或目录 目标文件或目录
【功能】:
1.视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命令或将其移至一个新的目录中。
2.当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给帝国的目标文件名。
3.当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各个参数指定的源文件均移至目标目录中。
【常用选项】:

  • -f:force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖
  • -i:若目标文件(destination)已经存在,就会询问是否满意

【详解】:

首先,mv指令是可以进行重命名的。

在这里插入图片描述

同时,mv指令也可以进行剪切,下面将tt.txt剪切到上级目录中去。

在这里插入图片描述

下面将上级目录中的tt.txt文件截切到当前目录中去。

在这里插入图片描述

那么,mv指令到底是重命名还是剪切呢?可以观察下面这个例子:

在这里插入图片描述

通过这种方式,我们可以了解到,mv的作用是重命名,剪切,剪切并重命名。
怎么理解这样的操作呢?

mv的所有指令行为都可以理解为剪切并重命名,如果指令后面有文件名和文件名后面的. .,可以看作是将文件剪切到上级目录中去,并将名字设置成默认名字,即mv后面的第一个名字;

如果mv和后面不仅有文件名,还有路径加文件名,可以看作是将文件剪切到该路径目录上,并设置为路径后面的名字;

而所谓的重命名行为。可以看作是将文件剪切到该目录下,并设置成修改的文件名。

在这里插入图片描述

仔细观察上面指令:mv d1 …/d1/dd1
这条指令是将该目录下的d1剪切到上一级目录下的d1目录下,并重命名为dd1,同时此条指令也可以写成:mv d1 d1/dd1

【例子】:

我们知道,在Windows中删除之后,可以将垃圾放在回收站中,而我们现阶段所学的rm是直接删除,没有回收站保留删除的数据。而实际上,回收站也是一种目录,只不过在Windows环境下,将回收站这个目录设置成图形化界面进行美化;在Linux中,我们也可以设置一个回收站的目录,并将rm指令设置成mv,这样就可以在Linux环境中设置一个类似回收站的目录。

将rm改造成mv
vim ~/.bashrc #修改这个文件
mkdir -p ~/.trash
alias rm=trash
alias ur=undelfile
undelfile() {
mv -i ~/.trash/$@ ./
}
trash() {
mv $@ ~/.trash/
}

【注意】在现阶段,先不做尝试,因为现在我们所处在root账户,且未学vim等指令。

alias指令

在上述例子中,我们现在除了了解已经学过的mv和rm指令,也需要对alias指令有一定的了解。

  • alias指令:重命名,起别名

我们都知道,执行一个指令时,可以有多个选项,而多个选项也可以进行简写,例如:ls -l 可以简写成 ll。

那么,为什么可以这样简写呢?
我们可以使用man指令查询一下是否有ll指令:

在这里插入图片描述
可以了解到,man手册中并没有ll指令。

  • 我们应该如何看待指令?
    当我们写出一个.c文件并生成一个.out的可执行文件,直接在命令行输入可执行程序,可以发现可以被运行,所以指令和可执行程序都是可以被执行的——指令本质上就是可执行程序。

  • 我们在执行指令之前,应该先进行什么操作?
    我们应该在系统中查找对应的指令,如果随意输入一段指令,则会显示command not found,意思是没有发现该条指令,所以指令一定是在系统中的某一个位置存在的。

在这里插入图片描述

当我们在命令行输入ls /usr/bin指令,可以显示出系统所有的指令。

【结论】所以指令是在系统中特定的路径中存在的,这些指令一定是某种可执行程序——C/C++/python/shell(脚本语言)。

我们可以在命令行设置:cp mycmd /usr/bin指令来设置属于自己专属指令,但是不推荐这样做。

【指令的本质】指令的本质就是可执行程序,和我们自己写的代码编译成功的程序没有本质区别,指令的本质就是文件,只不过是可执行文件,就是将这种可执行文件直接安装到系统的某种路径下面。

我们回到刚才的话题,系统中只有ls指令,没有ll指令。

在这里我们可以新学习一个指令which

which

  • which指令:可以查看指令的路径。

那么我们可以使用which指令来查看ll指令是怎么来的。

在这里插入图片描述

我们通过观察可以发现,指令ll是通过alias指令将ls -l缩写成ll的。

即alias将ls -l进行重命名的;后面–color=auto是配色方案。

这里教大家设置重命名:
假设我需要设置lsl为ls -l -i -a -n选项的指令,可以在命令输入:alias lsl=‘ls -l -i -a -n’;。如果想要取消重命名,可以在命令行输入:alias lsl=’ ';。 如果想撤销该重命名,可以在命令行输入:unalias lsl;

ctrl + c

  • ctrl + c是用来终止因为程序或者指令异常,而导致我们无法进入输出。

当我们出现问题时,先无脑ctrl+c。

如果对某条指令不想继续进行此操作,除了可以使用删除键,也可以使用ctrl+c,执行下一条指令。

在这里插入图片描述

就例如上述例子,在执行mv指令时,感觉输入不对或者输入错误可以无脑ctrl+c跳过此条指令。

cat指令

【语法】:cat [选项] [文件]
【功能】:查看目标文件的内容
【常用选项】:

  • -b 对非空输出行编号
  • -n 对输出的所有行编号
  • -s 不输出多行空行

linux下一切皆文件

在介绍下一条指令前,需要先有一个这样的概念:

  • Linux下一切皆文件——例如:显示器,键盘,普通文件…

显示器:向显示器写入数据->fwrite,而显示器并没有读取数据的功能,所以fread(){ }是空的。
键盘:可以从键盘中进行读取数据->fread,而键盘并没有其他设备向键盘写入数据的功能,所以fread(){ }是空的。
普通文件:普通文件时可以进行读取数据,和写入数据的。

我们以这样的角度再次了解一下echo指令和输出重定向:

在这里插入图片描述
通过观察这俩句指令,echo指令本来应该将字符串写道显示屏上面的,但是通过输出重定向 > 写到test.txt文件中去,这种方式叫做重定向。

  • echo 与cat的区别:

在echo看来,其后面所跟的都是字符串,不过你写什么。
在这里插入图片描述
而cat后面跟的只能是文件名。

  • cat 与 ll 指令的区别:

cat 指令可以打印文件内容,而ll指令打印的是文件的属性:

在这里插入图片描述
【注意】cat是将文件内容写到显示器文件中;而ll是将文件属性写到显示器文件中。

  • 输出重定向:向目标文件进行写入的时候覆盖写入,其主要的方式分成俩种,第一步:清空文件;第二步:写入新内容。

在这里插入图片描述
如果只在命令行输入指令:> test.txt指令,可以达到清空文件的效果。

【扩展】:
如果我们在输入文件时,并不是想清空文件,而是在原有文件的内容下,继续输入文件,可以使用追加重定向。

  • 追加重定向: >>

在这里插入图片描述

同时,使用echo是可以将输入的数据直接进行换行处理的,如果想不换行处理,可以使用printf指令。

在这里插入图片描述

cat指令后面如果什么都不跟,那么就会默认从键盘上读取数据(使用ctrl+c结束操作)

在这里插入图片描述

  • 输入重定向:输入重定向 < ,是本来应该从键盘文件读取,现在不用从键盘读取,从指定的文件读取,这种方式叫做输入重定向。

在这里插入图片描述
【注意】cat test.txt 与cat > text.txt虽然在现阶段二者都是读取数据,但是在后续的学习中还是有所差距的。

假设使用重定向时,目标文件原本并没有出现在目录中,即没有新文件,此时可以新建一个文件,然后再向该文件中写入字符串。

在这里插入图片描述

那么,如果没有输出字符串,仅仅是使用重定向,就可以被用来创造新文件,但里面的内容是空的。

在这里插入图片描述

了解了这些知识,我们也就基本可以了解如何使用cat指令。

cat指令 用来打印文件内容

在这里插入图片描述

cat -n可以对打印的数据进行编号

在这里插入图片描述

more指令

【语法】:more [选项] [文件]
【功能】:more命令,功能类似cat
【常用选项】:

  • -n 对输出的所有行编号
  • q 退出more

我们在了解这些指令之前,现需要有一个非常大的文本:可以执行下面这条指令:

cnt=1; while [ $cnt -le 10000 ]; do echo “hello linux $cnt”; let cnt++; done > test.txt

当使用cat指令去查看这个大本文时会发现,cat指令不适合看这类型的大文本。

  • 我们为什么需要有一个大文本呢?什么也属于大文本?
    在实际的使用过程中,我们所见到的项目和日志都属于大文本。

在这里插入图片描述

cat指令会直接到文本的底本,这会导致当我们想要查看中间内容变得复杂。

而more指令会打印一面的数据:

在这里插入图片描述
然后后面可以选择性的看第几行

在这里插入图片描述

执行选项,可以找到文本前num行
在这里插入图片描述
但是,more的使用也是有缺点的,more只能向下翻阅。

less指令

【语法】:less [参数] [文件]
【功能】:less与more类似,但使用less可以随意浏览文件,而more仅能向前移动,却不能向后移动,而且less在查看之前不会加载整个文件。
【常用选项】:

  • -i :忽略搜索时的大小写
  • -N:显示每行的行数
  • /字符串:向下搜索“字符串”的功能
  • ?字符串:向上搜索“字符串”的功能
  • n:重复前一个搜索(与/或?有关)
  • N:反向重复前一个搜索(与/或?有关)
  • q:quit

【说明】:

  • less 工具也是对文件或其它输出进行分页显示的工具,应该说是Linux正统查看文件内容的工具,功能及其强大。
  • less 的用法比起more 更加的有弹性。在more的时候,我们并没有办法向前翻阅,只能往后看。
  • 但若使用了less时,就可以使用[pageup][pagedown]等按键的功能来往前往后翻看文件,更加容易用来查看一个文件的内容。
  • 除此之外,在less里面可以拥有更多的搜索功能,不止可以向下搜索,也可以向上搜索。

【注意】less的使用较more来讲更加合适,也是可以进行上下翻阅的。

head指令

head与tail就像它的名字一样的浅显易懂,它是来显示开头或结尾某个数量的文字区块,head用来显示档案的开头至标准输出中,而tail就是看档案的结尾。

【语法】:head [参数]…[文件]…
【功能】:head用来显示档案的开头至标准输出中,默认head命令打印其相应文件的开头10行。
【常用选项】:

  • -n< 行数 > 显示的行数

head的指令可以查看前n行

在这里插入图片描述

tail指令

taii命令从指定点开始将文件写到标准输出,使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail -f filename 会把filename里最尾部的内容显示在屏幕上,并且不但刷新,使你看到最新的文件内容。

【语法】:tail [必要参数] [选择参数] [文件]
【功能】:用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用来查看日志文件。
【常用选项】:

  • -f 循环读取
  • -n< 行数 >显示行数

tail指令可以查看后n行

在这里插入图片描述
合理利用head指令和tail指令可以很好的查看中间某行的内容。

如果要查找第1000行-第1020行,可以用head指令将前1020行保存在一个tmp.txt文件中,然后在tmp.txt文件中使用tail指令查找后21行即可找到第1000行-第1020行。

在这里插入图片描述

管道

在上述例子中,我们需要建立一个文件来存储前1020个数据,这样会比较繁琐。

可以执行这条指令:head -1020 test.txt | tail -21

在这里插入图片描述

’ | ':这条竖线就是管道,这是一种符号,后面会被“系统”解释称为管道文件(内存级的文件)。

  • 管道文件将管道左边的程序输出到管道文件中,让右侧的程序将管道文件中的数据读到程序中,这种被称为管道。

怎么理解管道呢?
自来水管道,天然气管道,下水管道等等,类似于这些有入口,而且有出口的管道。计算机中的管道时资源数据的输入和输出。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

怎样去除视频上的水印和文字,视频水印文本移除教程

在观看和分享视频时&#xff0c;我们经常会遇到带有水印或额外文字的情况。这些标记有时是为了版权保护&#xff0c;有时则是平台的标识&#xff0c;但在某些情况下&#xff0c;它们可能会干扰视频的观赏体验。本文将向你介绍常见的视频水印类型以及如何使用简鹿水印助手去除这…

ARM功耗管理之功耗数据与功耗收益评估

安全之安全(security)博客目录导读 思考&#xff1a;功耗数据如何测试&#xff1f;功耗曲线&#xff1f;功耗收益评估&#xff1f; UPF的全称是Unified Power Format&#xff0c;其作用是把功耗设计意图&#xff08;power intent&#xff09;传递给EDA工具&#xff0c; 从而帮…

05 以物品与用户为基础个性化推荐算法的四大策略

《易经》&#xff1a;“九二&#xff1a;见龙在田&#xff0c;利见大人”。九二是指阳爻在卦中处于第二位&#xff0c;见龙指龙出现在地面上&#xff0c;开始崭露头角&#xff0c;但是仍须努力&#xff0c;应处于安于偏下的位置。 本节是模块二第一节&#xff0c;模块二讲解传…

[Linux+git+Gitee+Jenkins]持续集成实验安装配置详细

首先理解持续集成原理&#xff0c;看懂并理解图 1。 图 1 持续集成原理结构 图 1 中&#xff0c;版本控制服务器指远程代码仓库&#xff0c;本实验使用 GitEE 作为远程代码仓库&#xff1b;Jenkins 自动化部署服务器为虚拟机&#xff0c;操作系统为 Linux &#xff1b…

人工智能与伦理挑战:多维度应对策略

人工智能技术近年来取得了迅猛发展&#xff0c;广泛应用于医疗诊断、金融分析、教育辅助、自动驾驶等各个领域&#xff0c;极大地提升了生产效率和服务质量&#xff0c;推动了科技进步和商业创新。然而&#xff0c;伴随其普及和应用的泛滥&#xff0c;AI也带来了数据隐私侵犯、…

C语言 | Leecode C语言题解之第229题多数元素II

题目&#xff1a; 题解&#xff1a; /*** Note: The returned array must be malloced, assume caller calls free().*//*假定 num1&#xff0c;num2 为出现次数大于 nums.length / 3 的两个数。&#xff08;最多出现两个&#xff09;遍历 nums&#xff0c; 若出现 num1、num2…

2024年高职云计算实验室建设及云计算实训平台整体解决方案

随着云计算技术的飞速发展&#xff0c;高职院校亟需构建一个与行业需求紧密结合的云计算实验室和实训平台。以下是针对2024年高职院校云计算实验室建设的全面解决方案。 1、在高职云计算实验室的建设与规划中&#xff0c;首要任务是立足于云计算学科的精准定位&#xff0c;紧密…

如何通过SSH协议使用WinSCP实现Windows与Linux之间的远程公网文件传输

目录 ⛳️推荐 前言 1. Windows传输文件至Linux 2. WinSCP使用公网TCP地址连接 3. WinSCP使用固定公网TCP地址访问服务器 ⛳️推荐 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站 前…

2.5 计算机网络

声明&#xff1a;文章参考的《系统架构设计师教程&#xff08;第二版&#xff09;》&#xff0c;如有侵权&#xff0c;本人将立即修改和删除。 利用通信线路将地理上分散的、具有独立功能的计算机系统和通信设备按不同的形式连接起来&#xff0c;并依靠网络软件以及通信协议实现…

深入Python网络编程:基础、工具和实践

深入Python网络编程&#xff1a;基础、工具和实践 网络编程是Python应用领域中的一个强大且核心的部分&#xff0c;它为开发者提供了与互联网或其他网络设备进行交互的能力。无论是构建Web服务、APIs&#xff0c;还是创建网络客户端&#xff0c;Python都提供了丰富的库来简化这…

【学习笔记】无人机(UAV)在3GPP系统中的增强支持(九)-无人机服务区分离

引言 本文是3GPP TR 22.829 V17.1.0技术报告&#xff0c;专注于无人机&#xff08;UAV&#xff09;在3GPP系统中的增强支持。文章提出了多个无人机应用场景&#xff0c;分析了相应的能力要求&#xff0c;并建议了新的服务级别要求和关键性能指标&#xff08;KPIs&#xff09;。…

Go语言--广播式并发聊天服务器

实现功能 每个客户端上线&#xff0c;服务端可以向其他客户端广播上线信息&#xff1b;发送的消息可以广播给其他在线的客户支持改名支持客户端主动退出支持通过who查找当前在线的用户超时退出 流程 变量 用户结构体 保存用户的管道&#xff0c;用户名以及网络地址信息 typ…

使用mybatis的statementHander拦截器监控表和字段并发送钉钉消息

新建mybatis的statementHander拦截器拦截器 类 面试题&#xff1a; 2.实现 解析Sql时引入JSqlParser JSqlParser 是一个 SQL 语句解析器。 它将 SQL转换为可遍历的 Java 类层次结构。 <dependency><groupId>com.github.jsqlparser</groupId><artifac…

正则表达式怎么控制匹配的字符串更近的一个

http((?!http).)*m3u8 正则表达式怎么控制匹配的字符串更近的一个 正则如何匹配最近的字符 正则如何匹配最近的两个字符 怎么控制只要离字符串b匹配更近一点的字符串a 解释 a.b&#xff0c;它将会匹配最长的以a开始&#xff0c;以b结束的字符串 a.?b匹配最短的&#xff…

7/13 - 7/15

vo.setId(rs.getLong("id"))什么意思&#xff1f; vo.setId(rs.getLong("id")); 这行代码是在Java中使用ResultSet对象&#xff08;通常用于从数据库中检索数据&#xff09;获取一个名为"id"的列&#xff0c;并将其作为long类型设置为一个对象…

【区块链 + 智慧政务】涉税行政事业性收费“e 链通”项目 | FISCO BCOS应用案例

国内很多城市目前划转至税务部门征收的非税收入项目已达 17 项&#xff0c;其征管方式为行政主管部门核定后交由税务 部门征收。涉税行政事业性收费受限于传统的管理模式&#xff0c;缴费人、业务主管部门、税务部门、财政部门四方处于 相对孤立的状态&#xff0c;信息的传递靠…

MySQL-日志-优化

目录 介绍一下mysql 的日志 redo log 和binlog 的区别及应用场景 redo log 和 binlog 在恢复数据库有什么区别? redo log 是怎么实现持久化的? redo log除了崩溃恢复还有什么其他作用? &#xff08;顺序写&#xff09; redo log 怎么刷入磁盘的知道吗&#xff1f; 两阶…

STM32+TMC2209控制步进电机正反转。

STM32F103ZET6TMC2209控制步进电机正反转 1. 步进电机介绍2 驱动器TMC2209介绍2.1 引脚图及其功能2.2 细分介绍2.3 TMC控制驱动器接法 3 控制器介绍3.1 确定控制引脚3.2 UBEMX配置3.2.1 GPIO配置3.2.2 NVIC配置3.2.3 RCC配置3.2.4 SYS配置3.2.5 USRAT2配置&#xff08;PS:没用上…

Ubuntu 22.04.4 LTS (linux) 安装certbot 免费ssl证书申请 letsencrypt

1 安装certbot sudo apt update sudo apt-get install certbot 2 申请letsencrypt证书 sudo certbot certonly --webroot -w 网站目录 -d daloradius.域名.com 3 修改nginx 配置ssl 证书 # 配置服务器证书 ssl_certificate /etc/letsencrypt/live/daloradius.域名.com/f…

Hadoop3:动态扩容之新增一台机器的初始化工作

一、需求描述 给Hadoop集群动态扩容一个节点 那么&#xff0c;这个节点是全新的&#xff0c;我们需要做哪些准备工作&#xff0c;才能将它融入集群了&#xff1f; 二、初始化配置 1、修改IP和hostname vim /etc/sysconfig/network-scripts/ifcfg-ens33 vim /etc/hostname2、…