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

【Linux学习】(3)Linux的基本指令操作

前言

  1. 配置Xshell登录远程服务器
  2. Linux的基本指令——man、cp、mv、alias&which、cat&more&less、head&tail、date、cal、find、grep、zip&tar、bc、uname
  3. Linux常用热键

一、配置Xshell登录远程服务器

以前我们登录使用指令:

ssh 用户名@你的公网IP

其实可以不用指令登录,通过Xshell新建会话也可以登录。

配置步骤如下:

  • 选择左上角的+号(新建)在这里插入图片描述

  • 在窗口配置你的公网IP,配置完成之后确定即可在这里插入图片描述

  • 配置成功之后:点击文件——》打开 就可以看到我们刚才新建的会话了在这里插入图片描述

  • 选择我们要登录的用户,点连接,第一次登录需要输入用户名(输入存在的用户名,并点击记住用户名)
    在这里插入图片描述

  • 现在就全部配置完成了,以后打开Xshell它就会弹出会话窗口,选择你要登录的会话即可在这里插入图片描述

    tip:今后我们学习一般都是使用普通账号登录了,不再使用root了,因为①root权限高没有什么报错,你的误操作他也不提示你;②你以后公司使用也一般是普通用户等。

二、Linux的基本指令

1、man指令

引入:Linux的命令有很多参数,我们不可以全记住,我们可以通过man指令查看联机手册获取帮助。

语法: man [选项] 命令

常用选项:

  • -k 根据关键字搜索联机帮助
  • num 只在第num章节找
  • -a 将与命令匹配的所有章节文档的都显示出来(缺省从第一章开始搜索,搜到就停止,按q它会继续往后面搜索,直到所有章节都搜索完)


tip:

  1. 左上角的命令(num)中的num表示命令在num号手册查到的在这里插入图片描述
  2. man手册是有编号的,分为1~8章,我们做应用开发一般只用到1 ~3章(第3章是查库函数的,我们一般只有来查C语言的库函数。为什么一般只查C语言——①Linux操作系统本身是由C语言写的,所以它带C语言的标准文档;②man说是在线的,其实是有点离线)在这里插入图片描述
  3. 如果man不能查2~8章的命令,我们就需要安装man
    • 例如:查不到C语言库函数printf在这里插入图片描述
    • 安装man:在root账号下输入指令安装:install -y man-pages
  4. 当我们不太清楚man手册的使用时,也可以man man来查(man也是一条指令)
  5. 按q退出man手册

使用示例:

  • 一般我们使用就不携带选项了,直接man后面跟命令即可在这里插入图片描述
  • man num 命令:在指定的num章下搜索命令,使用场景:例如printf即是Linux的一条基本指令在第1章也是C语言的库函数在第3章,如果我们直接man printf想查的是它作为C语言库函数的文档是查不到,查到的是它作为Linux命令的文档,因为man默认从第1章开始查,查到就停止,想查printf作为C语言库函数的文档,需要指定在第3章查找在这里插入图片描述

2、cp指令

前置准备:在讲解cp指令之前,我们先了解几条指令

  1. echo 字符串:在显示器打印字符串
  2. echo 字符串 > 目标文件:输出重定向——把本来应该打印到显示器的内容,打印到目标文件中
  3. cat 文件:在显示器打印文件内容
  4. 示例:在这里插入图片描述

有了前置准备,我们正式开始学习cp指令

语法: cp [选项] 源文件或目录 目标文件或目录

功能: 复制文件或目录

常用选项:

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

使用示例:

  • 拷贝一个普通文件,可以拷贝到当前目录下,也可以拷贝到其他任意目录下。(注意:拷贝到同一目录下时,源文件名与目标文件必须不一样)
    • 同一目录下的拷贝在这里插入图片描述
    • 不同目录下的拷贝在这里插入图片描述
    • 常识告诉我们不管是Linux还是Windows,同一个目录下,都不能存在同名文件(从应用角度解释:名字一样就不能标识该目录下的唯一性了)
  • 拷贝一个目录:因为目录是递归定义的,所以不能直接拷贝目录,需要携带-r选项在这里插入图片描述
  • cp携带-i选项时,当目标文件不为空覆盖目标文件之前会先询问用户在这里插入图片描述
  • 复制多个文件到目录:如果你同时指定两个以上源文件或目录,并且目标是一个已经存在的目录,则 cp 会将前面指定的所有源文件复制到目标目录中。若同时指定多个文件或目录,而最后的目的地并非一个已存在的目录,则会出现错误信息。(拷贝一个文件或目录是,目标文件或目录可以不存在)在这里插入图片描述

3、mv指令

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

语法: mv [选项] 源文件或目录 目标目录或文件名

功能: ①重命名文件或目录;②剪切文件或目录

常用选项:

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

使用示例:

  • 重命名:mv 源文件或目录 新文件名或目录名(即不存在)
    • 重命名文件在这里插入图片描述
    • 重命名目录在这里插入图片描述
  • 剪切:mv 源文件或目录 路径
    • 剪切文件在这里插入图片描述
    • 剪切目录在这里插入图片描述
  • 剪切并重命名:mv 源文件或目录 路径+新文件名或目录名
    • 剪切并重命名文件在这里插入图片描述
    • 总结:可以认为所有的mv行为都是剪切并重命名,没有指定新名字就默认使用你自己原来的名字,路径后跟了新名字就使用你新的名字。

4、alias&which指令

补充:

  1. 如何看待指令?
    • 指令和可执行程序都是可以被执行的——指令就是可执行程序!
  2. 我们在执行指令之前我们应该先做什么?
    • 先在系统中查找对应的指令,指令一定是在系统的某一个位置存在的(存在于/usr/bin/目录下)。在这里插入图片描述


tip:

  • 指令是在系统中特定的路径下存在的,一定是某种可执行程序——C/C++/Python/shell……
  • 指令的本质就是可执行程序和我们自己写的代码编译好的程序,没有本质区别


总结:指令的本质就是文件——可执行文件,直接安装到了系统的某种路径下

alias&which指令:

  1. alias给指令取别名。

    • 语法: alias 别名=‘命令’
    • tip: ①alias在shell会话中定义的别名只会在当前会话有效,即alias具有临时性;②单纯的alias可以查看当前定义的所有别名;③别名持久化:为了使别名在每次新的 shell 会话中自动加载,你需要将 alias 命令添加到你的 shell 配置文件中,如 .bashrc 或 .bash_profile(对于 Bash shell)。
  2. which查看命令在哪(它用于查找并显示给定命令的完整路径。当你在终端输入一个命令时,操作系统会根据环境变量 PATH 来查找命令的可执行文件。which 命令正是用来显示这个搜索过程的结果。)

    • 语法: which [选项] 命令
    • 一般我们使用不携带选项

使用示例:

  • 之前我们学过ls -l等价于ll,这个ll就是ls -l的别名在这里插入图片描述
  • 取别名演示(虽然指令可以取别名,但是学习阶段尽量少用,因为我们是目的学习指令)在这里插入图片描述

5、cat&more&less指令

补充:

  1. Linux下一切皆文件,凡是具有读写方法(方法为空也可以)的都可以视为文件。 例如:显示器——显示器只负责写,不负责读,所以它的读方法为空;键盘——键盘只负责读,不负责写,所以它的写方法为空;普通文件——一般都具有读写方法
  2. echo 字符串:默认把字符串写入到显示器文件中(tip:echo指令默认带回车换行,如果不想换行可以使用printf指令)
  3. 输出重定向:
    • echo 字符串 > 目标文件:输出重定向——把本来应该写入到显示器文件的内容,写入到了普通文件中,这种行为我们称之为输出重定向。
    • 注意:向目标文件进行写入的时候,覆盖写入(即分为两步:①清空文件;②写入新内容)在这里插入图片描述
    • 清空目标文件:> 目标文件
  4. 追加重定向:
    • echo 字符串 >> 目标文件:追加重定向——打开文件,向文件尾追加写入,不会清空文件在这里插入图片描述
  5. 输入重定向:
    • 单纯的cat指令,后面什么都不写,它默认从键盘文件读取内容在这里插入图片描述
    • cat < 目标文件:输入重定向——本来应该从键盘文件读取,现在不用从键盘文件读取,从指定的文件读取在这里插入图片描述
  6. 无论是输出重定向还是追加重定向时,如果写入的目标文件不存在,它会默认帮你创建文件。(输入重定向不可以)在这里插入图片描述
  7. 生成大文本文件的脚本:
    $ cnt=1; while [ $cnt -le 100000 ]; do echo "Hello! $cnt"; let cnt++; done > large.txt

cat指令:

语法: cat [选项] [文件]

功能: 查看目标文件的内容

常用选项:

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


tip:

  • 区分echo&cat&ls
    • echo:向显示器文件写入字符串
    • cat:向显示器文件写入文件内容
    • ls:向显示器文件写入文件属性
  • cat不适合看大文本,适合看小文本

使用示例:

  • 常用选项使用示例在这里插入图片描述
  • cat不适合看大文本,因为cat会将文件所有内容一下全打印,会造成刷屏,不方便我们查看在这里插入图片描述

more指令:

语法: cat [选项] [文件]

功能: 查看大文本的内容

常用选项:

  • -n 跳到文件的前 n 行,如 more -5 会显示文件的前 5 行
  • q 退出more


tip:

  • more打印占满一屏就停止,然后,你可以按空格键向下滚动一页,或者按回车键向下滚动一行
  • more 只能向后单向滚动(tip:针对文件可以按b返回上一页,但对管道无用)

使用示例:

  • more打印占满一屏就停止,按回车继续向下打印在这里插入图片描述
  • 可以通过/子串从文件当前位置向后定位子串这个关键字在这里插入图片描述

less指令:

语法: less [选项] [文件]

功能: less与more类似,也可以查看大文本的内容,但使用less可以随意浏览文件,而more仅能向后单向滚动,而且less在查看之前不会加载整个文件

常用选项:

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


tip:

  • more VS less:
    • 加载方式:more是一次性全部把文件加载,只是一部分一部分的显示,而less在查看之前不会全部加载,而是根据用户的需要动态的加载内容,因此less在查看大文件时的初始响应熟读通常比more快
    • 翻页:more可以向下翻页、翻行,但不支持向上翻页、翻行。less不仅可以使用上下方向键逐行滚动内容,还可以使用pageup和pagedown或空格键进行上下翻页。
    • 搜索:more只能向下搜索,而在 less 里头可以拥有更多的搜索功能,不止可以向下搜,也可以向上搜。
    • 阅读到文件结束时,less不会退出,而more会
    • less提供了更多的功能和更好的用户体验,所以一般在查看大文本时我们使用less
  • less工具也是对文件或其它输出进行分页显示的工具,应该说是Linux正统查看文件内容的工具,功能及其强大

6、head&tail指令

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

head指令:

  • 语法: head [选项] [文件]
  • 功能: head用来来显示档案的开头至标准输出中,默认head命令打印其相应文件的开头10行
  • 选项:
    • -n<行数> 指定显示的行数


tail指令:

  • 语法: tail [选项] [文件]
  • 功能: 用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。
  • 选项:
    • -n<行数> 指定显示的行数(如果不指定 行数,则默认显示最后 10 行)
    • -f 循环读取(实时跟踪文件的新增内容,类似于 tail -n 1 -f,常用于日志文件)

使用示例:

  • head的使用示例:在这里插入图片描述
  • tail后指定文件,打印指定文件末尾内容:在这里插入图片描述
  • tail后不指定文件,管道的使用——假设你想查看某个命令的最后几行输出,可以将该命令的输出通过管道传递给 tail。例如我想查看d.txt文件中间行1000~1020内容。
    • 临时文件法:

      在这里插入图片描述
    • 管道使用:在这里插入图片描述

补充:管道

  • | 是一种符号,后面会被系统解释称为管道文件(输入内存级)
  • 管道有一个入口一个出口,管道是用来传输资源的在这里插入图片描述
    管道可以级联多个命令,所以可以支持流水线工作在这里插入图片描述

7、date指令

在讲解date时间指令之前,我们先来了解一下日志:

平时我们生活中的日记就是日志记录着我们生活中的点点滴滴,其中时间最重要。

在计算机世界中时间也非常重要,因为时间他可以在我们出现问题时,可以根据产生问题的时间点——时间会记录下你对应的行为从而很好的复原(即从时间我们可以知道这个问题是什么原因导致的,是什么人导致的)

所以日志在计算机中很重要,程序运行到自己的每一个关键时候,都要自己打日志。

日志:时间+日志等级+日志具体信息+其他信息,日志信息以行位单位打印,写入到文件中,这个文件就是日志文件。

date 指定格式显示时间:date +%Y-%m-%d_%H:%M:%S

date用法:date [OPTION]… [+FORMAT]

  1. 在显示方面,使用者可以设定显示的格式,格式设定为一个加号后接数个标记,其中常用的标记列表如下:
  • %H : 小时(00…23)
  • %M : 分钟(00…59)
  • %S : 秒(00…61)
  • %X : 相当于 %H:%M:%S
  • %d : 日 (01…31)
  • %m : 月份 (01…12)
  • %Y : 完整年份 (0000…9999)
  • %F : 相当于 %Y-%m-%d
  1. 在设定时间方面
  • date -s //设置当前时间,只有root权限才能设置,其他只能查看
  • date -s 20080523 //设置成20080523,这样会把具体时间设置成空00:00:00
  • date -s 01:01:01 //设置具体时间,不会对日期做更改
  • date -s “01:01:01 2008-05-23″ //这样可以设置全部时间
  • date -s “01:01:01 20080523″ //这样可以设置全部时间
  • date -s “2008-05-23 01:01:01″ //这样可以设置全部时间
  • date -s “20080523 01:01:01″ //这样可以设置全部时间
  1. 时间戳

Unix时间戳(英文为Unix epoch, Unix time, POSIX time 或 Unix timestamp)是从1970年1月1日(UTC/GMT的的午夜)开始所经过的秒数,不考虑闰秒。

  • 时间是人为定义的
  • 时间存在时差,例如美国和中国
  • 时间戳单调递增,方便范围查找

时间->时间戳:date +%s
时间戳->时间:date -d @1508749502

使用示例:

  • date显示当前时间,但是它显示的格式我们看着不太习惯,所以我们可以自己设定显示的格式,格式设定为一个加号后接数个标记(tip:标记之间不以空格做分隔符,会把它当做两个参数。一般年月日的分隔符我们喜欢用-时分秒的分隔符我们喜欢用:)在这里插入图片描述
  • 时间与时间戳之间的相互转换在这里插入图片描述

8、cal指令

cal命令可以用来显示公历(阳历)日历。公历是现在国际通用的历法,又称格列历,通称阳历。“阳历”又名“太阳历”,系以地球绕行太阳一周为一年,为西方各国所通用,故又名“西历”。

命令格式: cal [参数][月份][年份]

功能: 用于查看日历等时间信息,如只有一个参数,则表示年份(1-9999),如有两个参数,则表示月份和年份

常用选项:

  • -3 显示系统前一个月,当前月,下一个月的月历
  • -j 显示在当年中的第几天(一年日期按天算,从1月1号算起,默认显示当前月在一年中的天数)
  • -y 显示当前年份的日历

使用示例:

  • cal查看当前月的日历,cal year查看当前年的日历在这里插入图片描述
  • -3 显示系统前一个月,当前月,下一个月的月历在这里插入图片描述

9、find指令

语法: find 路径 选项

功能: 用于在文件树中查找文件,并做出相应的处理(可能访问磁盘)

常用选项:

  • -name 按照文件名查找文件


tip:

  • Linux下find命令在目录结构中搜索文件,并执行指定的操作
  • Linux下find命令提供了相当多的查找条件,功能很强大、由于find具有强大的功能,所以它的选项也很多,其中大部分选项都值得我们花时间来了解一下
  • 即使系统中含有网络文件系统( NFS),find命令在该文件系统中同样有效,只你具有相应的权限
  • 在运行一个非常消耗资源的find命令时,很多人都倾向于把它放在后台执行,因为遍历一个大的文件系统可能会花费很长的时间(这里是指30G字节以上的文件系统)
  • 注意:普通用户只能在自己家目录下查找自己的文件,不在自己家目录中查找时可能会受权限约束,不让你查找(可以切换root),因为目录是一棵多叉树,它的查找时深度优先遍历方式。
  • find&which&whereis
    • find可以在自己的家目录下(指定路径)找任意的文件
    • which只在系统指令所在路径下(/usr/bin/)找指令文件
    • whereis在系统特定的路径下查找,即可以找到可执行程序,又可以找到手册,安装包压缩包等之类(介于find与which之间)

使用示例:

  • find ~ -name 指定文件名:在家目录下查找所有与指定文件名相同的文件在这里插入图片描述
  • 普通用户只能在自己家目录下查找自己的文件,不在自己家目录中查找时可能会受权限约束,不让你查找(可以切换root),因为目录是一棵多叉树,它的查找时深度优先遍历方式在这里插入图片描述

10、grep指令

语法: grep [选项] 搜索字符串 文件

功能: 行过滤工具——把文件打开,按行为单位把这个文件的内容读取到显示器文件中,不过有条件。即在文件中搜索子串,将找到的行打印出来。

常用选项:

  • -i 忽略大小写的不同,即大小写视为相同
  • -n 输出行号
  • -v 反向选择,即显示出没有‘搜索字符串’内容的那一行

使用示例:

  • -n 输出行号在这里插入图片描述
  • -i 忽略大小写的不同,即大小写视为相同在这里插入图片描述
  • -v 反向选择,即显示出没有‘搜索字符串’内容的那一行在这里插入图片描述
  • 与管道一起使用在这里插入图片描述
  • 多个文件过滤在这里插入图片描述

11、zip&unzip和tar指令

什么是打包和压缩?

打包:如我们大学生每次回家就需要将所有东西打包到一个行李箱中;压缩:把东西放到行李箱中时,我们会尽量将其放得有规律,多放一些行李。

为什么要打包压缩?

  • 能被打包压缩的,一定是一个整体,有多个文件组成的一个文件,不容易造成文件缺失
  • 打包压缩,文件体积变小,下载时间变短 (储存占据空间变小)

打包和压缩的方案有很多种,这里我们就介绍zip和tar两种。

zip&unzip:

语法: zip 压缩文件.zip(打包和压缩之后的文件名) 目录或文件(即打包的文件)(unzip 压缩文件.zip -d 指定解压路径)

功能: 将目录或文件压缩成zip文件(unzip将zip压缩文件解压和解包)

常用选项:

  • -r 递归处理,将指定目录下的所有文件和子目录一并处理


tar指令:

语法: tar [-cxtzjvf] 文件与目录 … 参数

功能: 打包/解包,不打开它,直接看内容——Linux最常用!

常用选项:

  • -c 建立一个压缩文件的参数指令(create的意思)
  • -x 解开一个压缩文件的参数指令
  • -t 查看tarfile里面的文件
  • -z 是否同时具有gzip的属性?即是否需要用gzip压缩?
  • -j 是否同时具有bzip2的属性?即是否需要用bzip2压缩?
  • -v 压缩的过程中显示文件!这个常用,但不建议用在背景执行过程!
  • -f 使用档名,请留意,在f之后要立即接档名!不要再加参数!
  • -C 解压到指定目录

使用示例:

  • 注意:zip默认打包和压缩普通文件,不能直接打包和压缩目录
    • 错误示例:直接打包目录,解压之后只能得到一个空目录在这里插入图片描述
    • 正确示例:打包目录需要携带选项-r,并且可以同时打包多个文件在这里插入图片描述
    • 注意:当我们输入zip/unzip指令时,如果出现command not found,即OS没有安装zip/unzip,①以root方式登录;②su/su-+root密码——》yum install -y zip unzip
  • tar的选项很多,我们一般记住以下三个组合即可:
    • tar czf xxx.tgz 需要打包的目录和文件(.tar.gz可省略为.tgz,.tar打包后缀,.gz压缩后缀)——打包压缩
    • tar tzf xxx.tgz——预览
    • tar xzf xxx.tgz——解压与解包在这里插入图片描述
  • tar携带-C选项,解压到指定目录在这里插入图片描述

12、bc指令

Linux中可以使用bc命令很方便进行浮点数运算,相当与计算器

使用示例:

  • bc——》计算器——》quit退出
  • echo “运算” | bc
    在这里插入图片描述

13、uname -r指令

语法: uname [选项]

功能: uname用来获取电脑和操作系统的相关信息

补充说明: uname可显示Linux主机所用的操作系统的版本、硬件的名称等基本信息

常用选项:

  • -a或–all 详细输出所有信息,依次为内核名称,主机名,内核版本号,内核版本,硬件名,处理器类型,硬件平台类型,操作系统名称
  • -r 输出体系结构

tip:x86_64==x64,x86==32

使用示例:
在这里插入图片描述

了解:

  • free 查内存(-k以KB为单位,-m以MB为单位,-g以GB为单位)
  • df -h 查磁盘
  • lscpu 查CPU
    在这里插入图片描述

14、常用热键

  • [Tab]按键——具有命令补全和档案补齐的功能在这里插入图片描述
  • [Ctrl+c]按键——让当前的程序停掉
  • [Ctrl+r]按键——历史命令搜索在这里插入图片描述
  • [Ctrl+d]按键——退出终端登录或退出用户(可以用于取代exit)

补充:

  • nano:Linux下的记事本
    • nano – version:检测是否安装了nano
    • yum install -y nano:在root用户下安装nano
    • nano 文件名:打开文件,在记事本下编写
  • ctrl+r搜索历史命令,决定了,Linux系统一定记录了历史命令!history指令可以查看历史命令。
    • Linux会默认记录最新的1000条历史命令

15、关机

语法: shutdown [选项]

常用选项:

  • -h : 将系统的服务停掉后,立即关机
  • -r : 在将系统的服务停掉之后就重新启动
  • -t sec : -t 后面加秒数,亦即『过几秒后关机』的意思

tip:Linux操作系统(服务器),永远不关机!

16、以下命令作为扩展:(后期遇到再讲)

  • 安装和登录命令:login、shutdown、halt、reboot、install、mount、umount、chsh、exit、last;
  • 文件处理命令:file、mkdir、grep、dd、find、mv、ls、diff、cat、ln;
  • 系统管理相关命令:df、top、free、quota、at、lp、adduser、groupadd、kill、crontab;
  • 网络操作命令:ifconfig、ip、ping、netstat、telnet、ftp、route、rlogin、rcp、finger、mail、 nslookup;
  • 系统安全相关命令:passwd、su、umask、chgrp、chmod、chown、chattr、sudo ps、who;
  • 其它命令:tar、unzip、gunzip、unarj、mtools、man、unendcode、uudecode。

相关文章:

【Linux学习】(3)Linux的基本指令操作

前言 配置Xshell登录远程服务器Linux的基本指令——man、cp、mv、alias&which、cat&more&less、head&tail、date、cal、find、grep、zip&tar、bc、unameLinux常用热键 一、配置Xshell登录远程服务器 以前我们登录使用指令&#xff1a; ssh 用户名你的公网…...

Mac 使用脚本批量导入 Apple 歌曲

最近呢&#xff0c;买了一个 iPad&#xff0c;虽然家里笔记本台式都有&#xff0c;显示器都是 2个&#xff0c;比较方便看代码&#xff08;边打游戏边追剧&#xff09;。 但是在床上拿笔记本始终还是不方便&#xff0c;手机在家看还是小了点&#xff0c;自从有 iPad 之后&…...

全桥PFC电路及MATLAB仿真

一、PFC电路原理概述 PFC全称“Power Factor Correction”&#xff08;功率因数校正&#xff09;&#xff0c;PFC电路即能对功率因数进行校正&#xff0c;或者说是能提高功率因数的电路。是开关电源中很常见的电路。功率因数是用来描述电力系统中有功功率&#xff08;实际使用…...

【安当产品应用案例100集】025-确保数据安全传输——基于KMS与HSM的定期分发加密解决方案

引言&#xff1a; 在当今快速发展的数字化时代&#xff0c;企业面临着前所未有的信息安全挑战。尤其是在需要向供应商定期分发敏感数据的情况下&#xff0c;如何保证这些数据在传输过程中的安全性变得至关重要。为此&#xff0c;我们推出了结合安当KMS密钥管理平台与HSM密码机…...

十 缺陷检测解决策略之三:频域+空域

十 缺陷检测解决策略之三:频域空域 read_image (Image, 矩形) * 中间低频&#xff0c;四周高频 fft_image (Image, ImageFFT) * 中间低频&#xff0c;四周高频 fft_generic (Image, ImageFFT1, to_freq, -1, sqrt, dc_center, complex) * 中间高频&#xff0c;四周低频 rft_ge…...

有望第一次走出慢牛

A股已走完30多年历程。 大约每十年&#xff0c;会经历一轮牛熊周期。特点是每一轮周期&#xff0c;大约九成的时间都是熊市主导。就是我们常说的 快牛慢熊。 这一次&#xff0c;会不会重复历史? 历史不会简单重复。已经感受到了盘面的变化。 有人说&#xff0c;股市爆涨爆…...

计算机网络(十二) —— 高级IO

#1024程序员节 | 征文# 目录 一&#xff0c;预备 1.1 重新理解IO 1.2 五种IO模型 1.3 非阻塞IO 二&#xff0c;select 2.1 关于select 2.2 select接口参数解释 2.3 timeval结构体和fd_set类型 2.4 socket就绪条件 2.5 select基本工作流程 2.6 简单select的服务器代…...

电力行业 | 等保测评(网络安全等级保护)工作全解

电力行业为什么要做网络安全等级保护&#xff1f; 电力行业是关系到国家安全和社会稳定的基础性行业&#xff0c;电力行业信息化程度相对较高&#xff0c;是首批国家信息安全等级保护的重点行业。 01 国家法律法规的要求 1994《计算机信息系统安全保护条例》&#xff08;国务…...

总裁主题CeoMax-Pro主题7.6开心版

激活方式&#xff1a; 1.授权接口源码ceotheme-auth-api.zip搭建一个站点&#xff0c;绑定www.ceotheme.com域名&#xff0c;并配置任意一个域名的 SSL 证书。 2.在 hosts 中添加&#xff1a;127.0.0.1 www.ceotheme.com 3.上传class-wp-http.php到wp-includes目录&#xff…...

深入探讨编程的核心概念、学习路径、实际应用以及对未来的影响

在当今这个数字化时代&#xff0c;编程已成为连接现实与虚拟世界的桥梁&#xff0c;它不仅塑造了我们的生活方式&#xff0c;还推动了科技的飞速发展。从简单的网页制作到复杂的人工智能系统&#xff0c;编程无处不在&#xff0c;其重要性不言而喻。本文旨在深入探讨编程的核心…...

IDEA如何将一个分支的代码合并到另一个分支(当前分支)

前言 我们在使用IDEA开发Java应用时&#xff0c;经常是和git一起使用的。我们对于git常用的操作包括提交&#xff0c;推送&#xff0c;拉取代码等。还有一个重要的功能是合并代码。 那么&#xff0c;我们应该如何合并代码呢&#xff1f; 如何合并代码 首先&#xff0c;我们…...

Python实现基于WebSocket的stomp协议调试助手工具

stomp协议很简单&#xff0c;但是搜遍网络竟没找到一款合适的客户端工具。大多数提供的都是客户端库的使用。可能是太简单了吧&#xff01;可是即便这样&#xff0c;假如有一可视化的工具&#xff0c;将方便的对stomp协议进行抓包调试。网上类似MQTT的客户端工具有很多&#xf…...

基于neo4j的旅游知识图谱维护与问答系统

你还在为毕业设计发愁吗&#xff1f;试试这个基于Neo4j的旅游知识图谱维护与问答系统吧&#xff01;这套系统不仅功能强大&#xff0c;而且几乎涵盖了你需要的一切&#xff0c;完美助力你的毕业项目&#xff01; 系统介绍 该系统是专门针对旅游景点信息的知识图谱工具&#x…...

竞赛学习路线推荐(编程基础)

关于学习路线的推荐&#xff0c;总体上&#xff0c;分两步学习&#xff0c;第一步学习编程语言&#xff08;C、C、java&#xff09;&#xff0c;第二步是学习数据结构和算法 不少初学者会选择C语言或C作为首选&#xff0c;笔者这里也推荐C或C作为入门&#xff0c;需要注意的是&…...

webRTC搭建:STUN 和 TURN 服务器 链接google的有点慢,是不是可以自己搭建

如果使用 Google 提供的 STUN/TURN 服务器速度较慢&#xff0c;你完全可以自己搭建 STUN 和 TURN 服务器。这有助于提升网络连接速度和稳定性&#xff0c;特别是在需要穿透 NAT 或防火墙的网络环境下。 下面是如何自己搭建 STUN 和 TURN 服务器的具体步骤&#xff1a; 1. 选择…...

利用Pix4D和ArcGIS计算植被盖度

除了水文分析和沟道形态分析之外&#xff0c;在实际工作中还要计算植被盖度&#xff01; 植被盖度&#xff0c;也称为植被覆盖率或植物覆盖度&#xff0c;是指某一地表面积上植物冠层垂直投影面积占该地表面积的比例。它通常以百分比的形式表示&#xff0c;是描述地表植被状况的…...

用docker Desktop 下载使用thingsboard/tb-gateway

1、因为正常的docker pull thingsboard/tb-gateway 国内不行了&#xff0c;所以需要其它工具来下载 2、在win下用powershell管理员下运行 docker search thingsboard/tb-gateway 可以访问到了 docker pull thingsboard/tb-gateway就可以下载了 3、docker Desktop就可以看到…...

从视频中学习的SeeDo:VLM解释视频并生成规划、代码(含通过RGB视频模仿的人形机器人OKAMI、DexMV)

前言 在此文《UMI——斯坦福刷盘机器人&#xff1a;从手持夹持器到动作预测Diffusion Policy(含代码解读)》的1.1节开头有提到 机器人收集训练数据一般有多种方式&#xff0c;比如来自人类视频的视觉演示 有的工作致力于从视频数据——例如YouTube视频中进行策略学习 即最常见…...

项目集群部署定时任务重复执行......怎么解决???

项目集群部署在不同服务器&#xff0c;导致定时任务重复执行 1、可以在部署时只让一个服务器上有定时任务模块&#xff0c;不过这样如果这台服务器宕机&#xff0c;就会导致整个定时任务崩溃 2、使用分布式锁&#xff0c;使用redis setNX命令加lua脚本在定时任务执行的时候只…...

使用JUC包的AtomicXxxFieldUpdater实现更新的原子性

写在前面 本文一起来看下使用JUC包的AtomicXxxxFieldUpdater实现更新的原子性。代码位置如下&#xff1a; 当前有针对int&#xff0c;long&#xff0c;ref三种类型的支持。如果你需要其他类型的支持的话&#xff0c;也可以照葫芦画瓢。 1&#xff1a;例子 1.1&#xff1a;普…...

vue3组件通信--props

目录 1.父传子2.子传父 最近在做项目的过程中发现&#xff0c;props父子通信忘的差不多了。下面写个笔记复习一下。 1.父传子 父组件&#xff08;FatherComponent.vue&#xff09;&#xff1a; <script setup> import ChildComponent from "/components/ChildComp…...

leetcode-75-颜色分类

题解&#xff08;方案二&#xff09;&#xff1a; 1、初始化变量n0&#xff0c;代表数组nums中0的个数&#xff1b; 2、初始化变量n1&#xff0c;代表数组nums中0和1的个数&#xff1b; 3、遍历数组nums&#xff0c;首先将每个元素赋值为2&#xff0c;然后对该元素进行判断统…...

【嵌入式原理设计】实验三:带报警功能的数字电压表设计

目录 一、实验目的 二、实验环境 三、实验内容 四、实验记录及处理 五、实验小结 六、成果文件提取链接 一、实验目的 熟悉和掌握A/D转换及4位数码管、摇杆、蜂鸣器的联合工作方式 二、实验环境 Win10ESP32实验开发板 三、实验内容 1、用摇杆传感器改变接口电压&…...

C#中的接口的使用

定义接口 public interface IMyInterface {int MyProperty { get; set; }void MyMethod(); } 实现类 internal class MyClass : IMyInterface {public int MyProperty { get; set; }public void MyMethod(){Console.WriteLine("MyMethod is called");} } 目录结构…...

记一次真实项目的性能问题诊断、优化(阿里云redis分片带宽限制问题)过程

前段时间&#xff0c;接到某项目的压测需求。项目所有服务及中间件&#xff08;redis、kafka&#xff09;、pg库全部使用的阿里云。 压测工具&#xff1a;jmeter(分布式部署)&#xff0c;3组负载机&#xff08;每组1台主控、10台linux 负载机&#xff09; 问题现象&#xff1…...

LeetCode - 4. 寻找两个正序数组的中位数

. - 力扣&#xff08;LeetCode&#xff09; 题目 给定两个大小分别为 m 和 n 的正序&#xff08;从小到大&#xff09;数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。 算法的时间复杂度应该为 O(log (mn)) 。 示例 1&#xff1a; 输入&#xff1a;nums1 …...

算法设计与分析——动态规划

1.动态规划基础 1.1动态规划的基本思想 动态规划建立在最优原则的基础上&#xff0c;在每一步决策上列出可能的局部解&#xff0c;按某些条件舍弃不能得到最优解的局部解&#xff0c;通过逐层筛选减少计算量。每一步都经过筛选&#xff0c;以每一步的最优性来保证全局的最优性…...

【实战篇】GEO是什么?还可以定义新的数据类型吗?

背景 之前&#xff0c;我们学习了 Redis 的 5 大基本数据类型&#xff1a;String、List、Hash、Set 和 Sorted Set&#xff0c;它们可以满足大多数的数据存储需求&#xff0c;但是在面对海量数据统计时&#xff0c;它们的内存开销很大&#xff0c;而且对于一些特殊的场景&…...

SpringBoot最佳实践之 - 项目中统一记录正常和异常日志

1. 前言 此篇博客是本人在实际项目开发工作中的一些总结和感悟。是在特定需求背景下&#xff0c;针对项目中统一记录日志(包括正常和错误日志)需求的实现方式之一&#xff0c;并不是普适的记录日志的解决方案。所以阅读本篇博客的朋友&#xff0c;可以参考此篇博客中记录日志的…...

【Flutter】状态管理:高级状态管理 (Riverpod, BLoC)

当项目变得更加复杂时&#xff0c;简单的状态管理方式&#xff08;如 setState() 或 Provider&#xff09;可能不足以有效地处理应用中状态的变化和业务逻辑的管理。在这种情况下&#xff0c;高级状态管理框架&#xff0c;如 Riverpod 和 BLoC&#xff0c;可以提供更强大的工具…...

免费网站模板库/三叶草gy5987

展开全部用“”替换文件中的内32313133353236313431303231363533e78988e69d8331333337626137容达到删除目的import java.io.InputStream;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.FileReader;import java.io.FileWriter;import java.util.…...

做页面设计的网站/宁波seo推广推荐

"将一个类的接口转换成客户希望的另一个接口,Adapter模式使原本由于接口不兼容而不能一起工作的类可以一起工作" 。简单的说,就是利用现有的接口去包装一个第三方的接口, 使其能象现有接口一样被程序调用,而不考虑实际使用类的差异 意图将一个类的接口转换成客户希望…...

随州便宜做网站/谷歌关键词优化怎么做

...

未来的门户网站/线上推广引流渠道

三维在理解了如何绘制2D元素之后&#xff0c;我们尝试绘制3D元素。 其实多个三角形也能够成四面体&#xff0c;多个长方形也能够成六面体&#xff0c;所以绘制3D元素的时候&#xff0c;只要顶点数量匹配就行了 这里我们尤其注意&#xff0c;我把绘制之前的三个平移和三个旋转单…...

北京 网站设计 公司/市场营销推广方案模板

目录 1.循环神经网络的介绍 2.LSTM和GRU 2.1 LSTM的基础介绍 2.2 LSTM的核心 2.3 逐步理解LSTM 2.3.1 遗忘门 2.3.2 输入门 2.3.3 输出门 2.4 GRU—LSTM的变形 3.双向LSTM 1.循环神经网络的介绍 2.LSTM和GRU 2.1 LSTM的基础介绍 2.2 LSTM的核心 2.3 逐步理解LSTM 2.…...

代做网站在哪找活/北京百度竞价托管公司

2020年疫情爆发之初&#xff0c;雷神山和火神山在10天内迅速建立&#xff0c;在这惊人的速度背后&#xff0c;BIM技术功不可没&#xff0c;今天我们就一起来了解下BIM工程师。BIM是什么&#xff1f;BIM的中文名称为&#xff1a;建筑信息模型&#xff08;Building Information M…...