(1)Linux高级命令简介

Linux高级命令简介

在安装好linux环境以后第一件事情就是去学习一些linux的基本指令,我在这里用的是CentOS7作演示。

首先在VirtualBox上装好Linux以后,启动我们的linux,输入账号密码以后学习第一个指令

简介

  • Linux高级命令简介
    • ip addr
    • touch
    • vi
      • linux文件意外退出
      • 查找
    • wc
    • sort
    • uniq
    • head
    • date
    • 进程相关指令
      • ps
      • netstat
      • jps
      • top
      • kill
      • grep查找

ip addr

这个指令是查看我们的ip地址

image-20250117145356259

这个ip地址受很多因素影响,当你连接的网段不一样,比如说我在图书馆连校园网运行这个指令就不会显示这个地址,在宿舍连个人的网络就会显示,大家可以把他配置成静态的ip地址,方便我们以后操作

Centos7 配置静态IP地址_centos7配置静态ip地址和网关-CSDN博客

可以参考这位博主的文章,写的很详细。

在获取到IP地址以后,我们要对他建立远程连接,因为我们直接操作这个小窗口十分不方便,复制粘贴,文件上传等十分受限,在这里我使用MobaXterm来建立SSH连接

image-20250117150000053

image-20250117150043628

image-20250117150100621

显示这样就成功连接了。

输入账号密码就成功登陆了

image-20250117150203901

image-20250117150303593

选择一些基本的配置方便我们的的使用

先学习以下如何查看当前目录下的各个文件

使用dir指令,这这指令在windows中也很常用

[root@localhost ~]# dir
anaconda-ks.cfg
[root@localhost ~]#

这里只有一个anaconda-ks.cfg文件

下面我们在学习一个命令 创建文件

touch

例如

touch hello.txt

创建一个hello.txt文件

[root@localhost ~]# touch hello.txt
[root@localhost ~]# dir
anaconda-ks.cfg  hello.txt
[root@localhost ~]#

这样我们发现新增了一个文件,我们创建的hello.txt文件,下面这是一个删除文件的指令,以我的理解来看rm就是remove移除

rf就是remove file移除文件。

rm -rf hello.txt

vi

这是一个十分重要的指令,用来打开我们的文件,比如说我们打开hello.txt

vi hello.txt

image-20250117151252167

我们就来到了这样一个界面。**按“i”**就可以在里面写入内容意为insert,就是插入

我们在这里插入一个hello world;下面介绍几个有趣的指令

复制粘贴:
首先按esc键回到命令界面,再按两下y键,按一下p键就会复制粘贴到下面:

image-20250117151709805

删除:

按两下d就可以删除一行,这还是不是很方便,比如说我们想要批量删除,就按两下9,再按两下d就可以实现批量删除。

这是删除之前,我们先对它就行标号,,再按两下9,再按两下d就可以实现批量删除。

image-20250117152114946

当我们想要退出的时候有三种方法

在这之前首先确保自己在指令模式,按一下esc键然后,按shift+:就会在最下面输出一个冒号

:wq(保存并退出)
:q(不保存退出)
:q!(强制退出,不保存)

linux文件意外退出

在这里介绍一个文件未保存强制退出的情况

比如说我们在对一个文件就行了编辑但是没有保存就强制退出(这里指的不是!q指令是直接关闭了窗口)

当我们再次用vi指令打开它以后就会显示

image-20250117154112019

他也说明了主要原因就是有一个后缀为.swp的文件的存在,虽然我们点击回车键或者空格键都可以退出这个模式,继续编辑,但是这对强迫症来说是很痛苦的,我们可以尝试删除这个.swp文件

[root@localhost ~]# ll -a
总用量 44
dr-xr-x---.  2 root root   174 1月  17 15:43 .
dr-xr-xr-x. 17 root root   224 11月 23 20:37 ..
-rw-------.  1 root root  1258 1月  17 11:51 anaconda-ks.cfg
-rw-------.  1 root root  3370 1月  17 15:40 .bash_history
-rw-r--r--.  1 root root    18 12月 29 2013 .bash_logout
-rw-r--r--.  1 root root   176 12月 29 2013 .bash_profile
-rw-r--r--.  1 root root   176 12月 29 2013 .bashrc
-rw-r--r--.  1 root root   100 12月 29 2013 .cshrc
-rw-r--r--.  1 root root    85 1月  17 15:30 hello.txt
-rw-r--r--.  1 root root 12288 1月  17 15:40 .hello.txt.swp
-rw-r--r--.  1 root root   129 12月 29 2013 .tcshrc
[root@localhost ~]#

使用ll -a指令我们就可以看到所有被隐藏的文件

我们就找到了.hello.txt.swp文件

老办法remove它

在这里我们打开了复制粘贴的设置只要我们用鼠标左键选中了文件名,右键就可以把他粘贴下来。

[root@localhost ~]# rm -rf hello.txt.swp
[root@localhost ~]# ll -a
总用量 32
dr-xr-x---.  2 root root  152 1月  17 15:45 .
dr-xr-xr-x. 17 root root  224 11月 23 20:37 ..
-rw-------.  1 root root 1258 1月  17 11:51 anaconda-ks.cfg
-rw-------.  1 root root 3370 1月  17 15:40 .bash_history
-rw-r--r--.  1 root root   18 12月 29 2013 .bash_logout
-rw-r--r--.  1 root root  176 12月 29 2013 .bash_profile
-rw-r--r--.  1 root root  176 12月 29 2013 .bashrc
-rw-r--r--.  1 root root  100 12月 29 2013 .cshrc
-rw-r--r--.  1 root root   85 1月  17 15:30 hello.txt
-rw-r--r--.  1 root root  129 12月 29 2013 .tcshrc
[root@localhost ~]#

像这样我们就成功的删除了.swp文件。再打开就不用有那个界面了。

查找

在我们回到主页面以后,可以通过cat指令来查看刚才写的内容

[root@localhost ~]# cat hello.txt
hello world8
hello world7
hello world6
hello world5
hello world4
[root@localhost ~]#

再介绍一线查找和定位的指令

[root@localhost ~]# cat hello.txt
1hello world8
2hello world7
3hello world6
4hello world5
5hello world4
longest String

首先这是待查找文件

我们在命令模式下,输入“/”

比如说“/2”就会自动定位到开头为2的那一行,这就是简单的查找。

在我们查看比较长的文件时,没有下拉框是很痛苦的,设计者也想到了这一点。

在命令模式下,切换到大写模式。按“h”就会定位到第一行,按“g”就会定位到最后一行。

wc

wc指令通常是用来统计单词或者字符个数的指令

首先我们输入help指令来查看一下说明文件

image-20250117152833721

  • -c或–bytes或–chars 只显示Bytes数。
  • -l或–lines 显示行数。
  • -w或–words 只显示字数。
  • –help 在线帮助。
  • –version 显示版本信息。
[root@localhost ~]# wc -c hello.txt
85 hello.txt
[root@localhost ~]# wc -l hello.txt
6 hello.txt
[root@localhost ~]# wc -w hello.txt
12 hello.txt
[root@localhost ~]#

我们通过仔细阅读帮助文件也可以学到很多东西。

sort

首先也是读一下help文件

image-20250117155307283

要是看他不顺眼可以直接输入clear清屏。

  • -b 忽略每行前面开始出的空格字符。
  • -c 检查文件是否已经按照顺序排序。
  • -d 排序时,处理英文字母、数字及空格字符外,忽略其他的字符。
  • -f 排序时,将小写字母视为大写字母。
  • -i 排序时,除了040至176之间的ASCII字符外,忽略其他的字符。
  • -m 将几个排序好的文件进行合并。
  • -M 将前面3个字母依照月份的缩写进行排序。
  • -n 依照数值的大小排序。
  • -u 意味着是唯一的(unique),输出的结果是去完重了的。
  • -o<输出文件> 将排序后的结果存入指定的文件。
  • -r 以相反的顺序来排序。
  • -t<分隔字符> 指定排序时所用的栏位分隔字符。
  • +<起始栏位>-<结束栏位> 以指定的栏位来排序,范围由起始栏位到结束栏位的前一栏位。
  • –help 显示帮助。
  • –version 显示版本信息。
  • [-k field1[,field2]] 按指定的列进行排序。

别看他这么多其实我们常用的也就是这些,甚至有些时候直接sort也就够了。

-n 依照数值的大小排序。

-r 以相反的顺序来排序。

[root@localhost ~]# cat num.txt
1
2
3
4
6
10
20
30
21
[root@localhost ~]# sort num.txt
1
10
2
20
21
3
30
4
6
[root@localhost ~]#

sort的排序法更类似于基数排序,把第一个字母排序以后才会继续排序。

想要传统的排序方法也很简单

[root@localhost ~]# sort -n num.txt
1
2
3
4
6
10
20
21
30
[root@localhost ~]#

也可以逆序排列

[root@localhost ~]# sort -n -r num.txt
30
21
20
10
6
4
3
2
1
[root@localhost ~]#

uniq

学习这个指令,首先查看他的帮助文档

image-20250129145733551

其中我们用的比较多的就是-c和-u两个指令

  1. 不加:返回重复的行
  2. -c:返回重复行数的统计
  3. -u:返回未重复的行

下面演示一下uniq的用法

image-20250129145932349

说明一个工作中会遇到的坑:

[root@localhost ~]# cat test.txt
hello
hello
hello
world
hello
hello
hello
hello
[root@localhost ~]# uniq test.txt
hello
world
hello

当我们对无序的文本内容进行排序的时候,就会返回这种奇怪的结果,这个时候,我们需要用到

管道命令:

“|”是Linux管道命令操作符,简称管道符。使用此管道符“|”可以将两个命令分隔开,“|”左边命令的输出就会作为“|”右边命令的输入,此命令可连续使用,第一个命令的输出会作为第二个命令的输入,第二个命令的输出又会作为第三个命令的输入,依此类推。

[root@localhost ~]# sort test.txt
hello
hello
hello
hello
hello
hello
hello
world
[root@localhost ~]# sort test.txt|uniq
hello
world

head

默认返回前10条数据,我们也可以指定

image-20250129151653878

演示:

[root@localhost ~]# head -3 num.txt
1
2
3

也可以使用管道命令来先排序后输出

[root@localhost ~]# cat num.txt|sort -n|head -3
1
2
[root@localhost ~]# cat num.txt|sort -n|head -4
1
2
3

date

日期命令:获取当前日期。它的帮助文帝其实已经说的很清楚了,因为他返回的默认格式,有时候我们并不理解,所以提供了格式化工具

[root@localhost ~]# date --help
用法:date [选项]... [+格式]或:date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]
Display the current time in the given FORMAT, or set the system date.Mandatory arguments to long options are mandatory for short options too.-d, --date=STRING         display time described by STRING, not 'now'-f, --file=DATEFILE       like --date once for each line of DATEFILE-I[TIMESPEC], --iso-8601[=TIMESPEC]  output date/time in ISO 8601 format.TIMESPEC='date' for date only (the default),'hours', 'minutes', 'seconds', or 'ns' for dateand time to the indicated precision.-r, --reference=文件          显示文件指定文件的最后修改时间-R, --rfc-2822RFC 2822格式输出日期和时间例如:200687日,星期一 12:34:56 -0600--rfc-3339=TIMESPEC   output date and time in RFC 3339 format.TIMESPEC='date', 'seconds', or 'ns' fordate and time to the indicated precision.Date and time components are separated bya single space: 2006-08-07 12:34:56-06:00-s, --set=STRING          set time described by STRING-u, --utc, --universal    print or set Coordinated Universal Time (UTC)--help            显示此帮助信息并退出--version         显示版本信息并退出给定的格式FORMAT 控制着输出,解释序列如下:%%    一个文字的 %%a    当前locale 的星期名缩写(例如: 日,代表星期日)%A    当前locale 的星期名全称 (如:星期日)%b    当前locale 的月名缩写 (如:一,代表一月)%B    当前locale 的月名全称 (如:一月)%c    当前locale 的日期和时间 (如:200533日 星期四 23:05:25)%C    世纪;比如 %Y,通常为省略当前年份的后两位数字(例如:20)%d    按月计的日期(例如:01)%D    按月计的日期;等于%m/%d/%y%e    按月计的日期,添加空格,等于%_d%F    完整日期格式,等价于 %Y-%m-%d%g    ISO-8601 格式年份的最后两位 (参见%G)%G    ISO-8601 格式年份 (参见%V),一般只和 %V 结合使用%h    等于%b%H    小时(00-23)%I    小时(00-12)%j    按年计的日期(001-366)%k   hour, space padded ( 0..23); same as %_H%l   hour, space padded ( 1..12); same as %_I%m   month (01..12)%M   minute (00..59)%n    换行%N    纳秒(000000000-999999999)%p    当前locale 下的"上午"或者"下午",未知时输出为空%P%p 类似,但是输出小写字母%r    当前locale 下的 12 小时时钟时间 (如:11:11:04 下午)%R    24 小时时间的时和分,等价于 %H:%M%s    自UTC 时间 1970-01-01 00:00:00 以来所经过的秒数%S(00-60)%t    输出制表符 Tab%T    时间,等于%H:%M:%S%u    星期,1 代表星期一%U    一年中的第几周,以周日为每星期第一天(00-53)%V    ISO-8601 格式规范下的一年中第几周,以周一为每星期第一天(01-53)%w    一星期中的第几日(0-6)0 代表周一%W    一年中的第几周,以周一为每星期第一天(00-53)%x    当前locale 下的日期描述 (如:12/31/99)%X    当前locale 下的时间描述 (如:23:13:48)%y    年份最后两位数位 (00-99)%Y    年份%z +hhmm              数字时区(例如,-0400)%:z +hh:mm            数字时区(例如,-04:00)%::z +hh:mm:ss        数字时区(例如,-04:00:00)%:::z                 数字时区带有必要的精度 (例如,-04+05:30)%Z                    按字母表排序的时区缩写 (例如,EDT)

%S返回秒,%s返回时间戳

[root@localhost ~]# date +%Y-%m-%d_%H:%M:%S
2025-01-29_15:25:52
[root@localhost ~]# date +"%Y-%m-%d %H:%M:%S"
2025-01-29 15:26:06

当我们要求的返回值里面有空格的时候就需要加引号了,没有空格的时候可以直接返回。

有时候我们需要返回当前时间或者两个时间之间的时间差,我们一般先返回时间戳,再计算他们之间的间隔

[root@localhost ~]# date --date="2026-01-01 00:00:00"
20260101日 星期四 00:00:00 CST
//仔细观察这里的%s前丢了一个空格,需要注意哦。
[root@localhost ~]# date --date="2026-01-01 00:00:00"+%s
date: 无效的日期"2026-01-01 00:00:00+%s"
[root@localhost ~]# date --date="2026-01-01 00:00:00" +%s
1767196800

我们也可以返回昨天的时间

[root@localhost ~]# date --date="1 day ago" +%Y-%m-%d
2025-01-28
[root@localhost ~]# date +%Y-%m-%d
2025-01-29

我们还可以知道一个月具体有多少天

[root@localhost ~]# date --date="2025-03-01 1day ago" +%d
28

进程相关指令

ps

[root@localhost ~]# ps --help simple
Usage:ps [options]
Basic options:-A, -e               all processes-a                   all with tty, except session leadersa                   all with tty, including other users-d                   all except session leaders-N, --deselect       negate selectionr                   only running processesT                   all processes on this terminalx                   processes without controlling ttys

我们比较常用的比如说:ps -ef显示所有的进程

image-20250129160404207

我们可以使用 ps -ef|grep (进程名)来过滤进程

[root@localhost ~]# ps -ef|grep python
root       675     1  0 14:47 ?        00:00:00 /usr/bin/python2 -Es /usr/sbin/firewalld --nofork --nopid
root      1027     1  0 14:47 ?        00:00:00 /usr/bin/python2 -Es /usr/sbin/tuned -l -P
root      1767  1613  0 16:05 pts/0    00:00:00 grep --color=auto python

最下面的是grep本身,上面的两条就是python相关的进程。

netstat

查看端口信息,这个默认是是没有安装的,我们需要yum命令安装下。

我们需要下载一个工具叫做net-tools,我们可能会遇到一个这样的问题:

image-20250129191939955

这时代理出错了,我们需要去访问阿里云镜像站阿里巴巴开源镜像站-OPSX镜像站-阿里云开发者社区

image-20250129192142597

image-20250129192234384

根据官方的说明运行对应的指令

我这里用的是centOS07的

curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo

image-20250129192346117

它会自动找到合适的镜像,非常的人性。

image-20250129192453428

一路yes就下载好了。

netstat -anp

通过这个命令可以查看,指定的端口是否被占用比如说

[root@localhost ~]# netstat -anp | grep 22
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      987/sshd
tcp        0      0 192.168.8.10:22         192.168.8.2:15146       ESTABLISHED 1470/sshd: root@not
tcp        0     48 192.168.8.10:22         192.168.8.2:15113       ESTABLISHED 1466/sshd: root@pts
tcp6       0      0 :::22                   :::*                    LISTEN      987/sshd

可以查到22端口的使用情况

jps

显示用户当前启动的Java进程信息。在装好Java环境以后才能使用

top

主要作用在于动态的显示系统消耗资源最多的进程信息,包括进程ID,内存占用,CPU占用等

和ps命令基本相同,但是top是动态的

image-20250129205440951

按Q键就退出了

kill

可以使用ps命令先找到进程再用kill结束进程

kill PID 杀掉进程,自杀

kill -9 PID 强制杀掉进程

grep查找

查找文件中符合条件的字符串

-i:忽略大小写

-n:显示该行的行号

-v:忽略包含指定字符串的内容

[root@localhost ~]# cat hello.txt
hello world
hello world
hello world
hello world
hello world
longest String
[root@localhost ~]# grep long hello.txt
longest String
[root@localhost ~]# cat hello.txt |grep long
longest String

有两种写法

  1. grep (目标字符串) (文件名)
  2. cat (文件名)| grep (目标字符串)

他也是支持正则表达式的,例如查找以l开头的行

[root@localhost ~]# grep ^l hello.txt
longest String

image-20250129211141703

[root@localhost ~]# grep -i  LOng hello.txt
longest String

这里的-i表示忽略大小写。

[root@localhost ~]# grep -i  LOng -n hello.txt
6:longest String

这里的-n表示显示行号

[root@localhost ~]# ps -ef |grep python |grep -v grep
root       679     1  0 20:42 ?        00:00:00 /usr/bin/python2 -Es /usr/sbin/firewalld --nofork --nopid
root       989     1  0 20:42 ?        00:00:00 /usr/bin/python2 -Es /usr/sbin/tuned -l -P

grep -v后面过滤含有指定字符串的信息;

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

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

相关文章

【ArcMap零基础训练营】03 常用数据网站的数据下载及处理

03 常见数据网站的数据下载及处理 230108直播录像 常见数据下载及nc文件批处理 数据源网站汇总 名称网址备注RESDChttps://www.resdc.cn/中科院地理科学与资源研究所&#xff0c;非会员用户每日5次下载&#xff0c;大部分有用的资源均收费。TPDChttps://data.tpdc.ac.cn/国家青…

MySQL数据库(二)

一 DDL (一 数据库操作 1 查询-数据库&#xff08;所有/当前&#xff09; 1 所有数据库&#xff1a; show databases; 2 查询当前数据库&#xff1a; select database(); 2 创建-数据库 可以定义数据库的编码方式 create database if not exists ax1; create database ax2…

步入响应式编程篇(三)之spring webFlux与R2DBC

spring webFlux与R2DBC 前言Spring webFlux与spring mvc的对比spring mvcspring webFluxSSE的demo R2DBC 前言 前面介绍响应式编程主要用到基于Stream API的Reactor API的方式&#xff0c;但如今业务操作需结合springboot&#xff0c;所以spring webFlux使用的更多&#xff0c…

19.Word:小马-校园科技文化节❗【36】

目录 题目​ NO1.2.3 NO4.5.6 NO7.8.9 NO10.11.12索引 题目 NO1.2.3 布局→纸张大小→页边距&#xff1a;上下左右插入→封面&#xff1a;镶边→将文档开头的“黑客技术”文本移入到封面的“标题”控件中&#xff0c;删除其他控件 NO4.5.6 标题→原文原文→标题 正文→手…

redis数据安全与性能保障

数据安全与性能保障 1、持久化1.1 快照持久化1.2 AOF持久化1.3 重写/压缩AOF文件 2、复制2.1 Redis复制的启动过程2.2 主从链 3、处理系统故障3.1 验证快照文件和AOF文件 4、事务4.1 java中的redis事务使用 如有侵权&#xff0c;请联系&#xff5e; 如有错误&#xff0c;也欢迎…

【AI非常道】二零二五年一月(二),AI非常道

经常在社区看到一些非常有启发或者有收获的话语&#xff0c;但是&#xff0c;往往看过就成为过眼云烟&#xff0c;有时再想去找又找不到。索性&#xff0c;今年开始&#xff0c;看到好的言语&#xff0c;就记录下来&#xff0c;一月一发布&#xff0c;亦供大家参考。 有关AI非…

从巫师求雨说起

树上停着一只猫头鹰&#xff1a; 你相信吗&#xff1f;这不是一般的鸟&#xff0c;猫头鹰其实是一个人&#xff0c;它是一个巫师变的。 你不相信&#xff1f;那我问你&#xff0c;为什么猫头鹰和乌鸦一样&#xff0c;那叫声&#xff0c;常常让人瘆得慌&#xff1f;(owl&#x…

【C++】类和对象

面向对象编程 学习过C语言的小伙伴知道&#xff1a;C语言是面向过程的&#xff0c;关注的是过程&#xff0c;分析出求解问题的步骤&#xff0c;通过函数调用逐步解决问题。 面向过程编程也叫结构化编程。虽然结构化编程的理念提高了程序的清晰度&#xff0c;可靠性&#xff0c…

21.3-启动流程、编码风格(了解) 第21章-FreeRTOS项目实战--基础知识之新建任务、启动流程、编码风格、系统配置 文件组成和编码风格(了解)

21.3-启动流程、编码风格(了解) 启动流程 第一种启动流程(我们就使用这个): 在main函数中将硬件初始化、RTOS系统初始化&#xff0c;同时创建所有任务&#xff0c;再启动RTOS调度器。 第二种启动流程&#xff1a; 在main函数中将硬件初始化、RTOS系统初始化&#xff0c;只…

富文本 tinyMCE Vue2 组件使用简易教程

参考官方教程 TinyMCE Vue.js integration technical reference Vue2 项目需要使用 tinyMCE Vue2 组件(tinymce/tinymce-vue)的第 3 版 安装组件 npm install --save "tinymce/tinymce-vue^3" 编写组件调用 <template><Editorref"editor"v-m…

vue框架技术相关概述以及前端框架整合

vue框架技术概述及前端框架整合 1 node.js 介绍&#xff1a;什么是node.js Node.js就是运行在服务端的JavaScript。 Node.js是一个事件驱动I/O服务端JavaScript环境&#xff0c;基于Google的V8引擎。 作用 1 运行java需要安装JDK&#xff0c;而Node.js是JavaScript的运行环…

【AI】Deepseek本地部署探索,尝试联网搜索

前言 1月下旬&#xff0c;Deepseek-R1横空出世&#xff0c;其依靠堪比GPT-o1的推理能力&#xff0c;训练成本及使用成本均只有gpt几十分之一甚至百分之一的超高性价比&#xff0c;以及它足够“OPEN”的特性直接暴打人工智能的资本行业&#xff0c;本着求实求新的精神&#xff…

DeepSeek介绍

目录 前言 1.介绍一下你自己 2.什么是CUDA CUDA的核心特点&#xff1a; CUDA的工作原理&#xff1a; CUDA的应用场景&#xff1a; CUDA的开发工具&#xff1a; CUDA的局限性&#xff1a; 3.在AI领域&#xff0c;PTX是指什么 1. PTX 的作用 2. PTX 与 AI 的关系 3. …

WGCLOUD服务器资源监控软件使用笔记 - Token is error是什么错误

[wgcloud-agent]2025/01/30 10:41:30 WgcloudAgent.go:90: 主机监控信息上报server开始 [wgcloud-agent]2025/01/30 10:41:30 WgcloudAgent.go:99: 主机监控信息上报server返回信息: {"result":"Token is error"} 这个错误是因为agent配置的wgToken和serv…

OpenAI-Edge-TTS:本地化 OpenAI 兼容的文本转语音 API,免费高效!

文本转语音&#xff08;TTS&#xff09;技术已经成为人工智能领域的重要一环&#xff0c;无论是语音助手、教育内容生成&#xff0c;还是音频文章创作&#xff0c;TTS 工具都能显著提高效率。今天要为大家介绍的是 OpenAI-Edge-TTS&#xff0c;一款基于 Microsoft Edge 在线文本…

Leetcode 131 分割回文串(纯DFS)

131. 分割回文串https://leetcode.cn/problems/palindrome-partitioning/https://leetcode.cn/problems/palindrome-partitioning/ 给你一个字符串 s&#xff0c;请你将 s 分割成一些子串&#xff0c;使每个子串都是 回文串 。返回 s 所有可能的分割方案。 示例 1&#xff1a…

服务器虚拟化技术详解与实战:架构、部署与优化

&#x1f4dd;个人主页&#x1f339;&#xff1a;一ge科研小菜鸡-CSDN博客 &#x1f339;&#x1f339;期待您的关注 &#x1f339;&#x1f339; 引言 在现代 IT 基础架构中&#xff0c;服务器虚拟化已成为提高资源利用率、降低运维成本、提升系统灵活性的重要手段。通过服务…

记录一次,PyQT的报错,多线程Udp失效,使用工具如netstat来检查端口使用情况。

1.问题 报错Exception in thread Thread-1: Traceback (most recent call last): File "threading.py", line 932, in _bootstrap_inner File "threading.py", line 870, in run File "main.py", line 456, in udp_recv IndexError: list…

【PyTorch】6.张量运算函数:一键开启!PyTorch 张量函数的宝藏工厂

目录 1. 常见运算函数 个人主页&#xff1a;Icomi 专栏地址&#xff1a;PyTorch入门 在深度学习蓬勃发展的当下&#xff0c;PyTorch 是不可或缺的工具。它作为强大的深度学习框架&#xff0c;为构建和训练神经网络提供了高效且灵活的平台。神经网络作为人工智能的核心技术&…

线段树 算法

文章目录 基础知识适用场景小结 题目概述题目详解300.最长递增子序列2407.最长递增子序列 II 基础知识 线段树和树状数组都只是一个工具来的&#xff0c;题目并不会一下子就告诉你这个题目用到线段树和树状数组&#xff0c;这个取决于你想使用的数据结构以及所要优化的方向 线…