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

(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后面过滤含有指定字符串的信息;

相关文章:

(1)Linux高级命令简介

Linux高级命令简介 在安装好linux环境以后第一件事情就是去学习一些linux的基本指令&#xff0c;我在这里用的是CentOS7作演示。 首先在VirtualBox上装好Linux以后&#xff0c;启动我们的linux&#xff0c;输入账号密码以后学习第一个指令 简介 Linux高级命令简介ip addrtou…...

LeetCode:96.不同的二叉搜索树

跟着carl学算法&#xff0c;本系列博客仅做个人记录&#xff0c;建议大家都去看carl本人的博客&#xff0c;写的真的很好的&#xff01; 代码随想录 LeetCode&#xff1a;96.不同的二叉搜索树 给你一个整数 n &#xff0c;求恰由 n 个节点组成且节点值从 1 到 n 互不相同的 二叉…...

Linux学习笔记——用户管理

一、用户管理命令 useradd #用户增加命令 usermod #用户修改命令 passwd #密码修改命令 userdel #用户删除命令 su #用户提权命令 1、useradd命令&#xff08;加用户&#xff09;&#xff1a; 创建并设置用户信息&#xff0c;使用us…...

Baklib揭示内容中台与人工智能技术的创新协同效应

内容概要 在当今信息爆炸的时代&#xff0c;内容的高效生产与分发已成为各行业竞争的关键。内容中台与人工智能技术的结合&#xff0c;为企业提供了一种新颖的解决方案&#xff0c;使得内容创造的流程更加智能化和高效化。 内容中台作为信息流动的核心&#xff0c;能够集中管…...

FreeRTOS从入门到精通 第十四章(队列集)

参考教程&#xff1a;【正点原子】手把手教你学FreeRTOS实时系统_哔哩哔哩_bilibili 一、队列集简介 1、队列集概述 &#xff08;1&#xff09;一个队列只允许任务间传递的消息为同一种数据类型&#xff0c;如果需要在任务间传递不同数据类型的消息时&#xff0c;那么就可以…...

Python实现U盘数据自动拷贝

功能&#xff1a;当电脑上有U盘插入时&#xff0c;自动复制U盘内的所有内容 主要特点&#xff1a; 1、使用PyQt5创建图形界面&#xff0c;但默认隐藏 2、通过CtrlAltU组合键可以显示/隐藏界面 3、自动添加到Windows启动项 4、监控USB设备插入 5、按修改时间排序复制文件 6、静…...

Vue.js 什么是 Composition API?

Vue.js 什么是 Composition API&#xff1f; 今天我们来聊聊 Vue 3 引入的一个重要特性&#xff1a;组合式 API&#xff08;Composition API&#xff09;。如果你曾在开发复杂的 Vue 组件时感到代码难以维护&#xff0c;那么组合式 API 可能正是你需要的工具。 什么是组合式 …...

关于产品和技术架构的思索

技术架构或者设计应该和产品设计分离&#xff0c;但是又不应该和产品架构独立。 听起来非常的绕并且难以理解。 下面我们用一个例子来解读这两者的关系 产品&#xff08;族谱图&#xff09; 如果把人类当作产品&#xff0c;那设计师应该是按照上面设计的(当然是正常的伦理道德)…...

Python设计模式 - 组合模式

定义 组合模式&#xff08;Composite Pattern&#xff09; 是一种结构型设计模式&#xff0c;主要意图是将对象组织成树形结构以表示"部分-整体"的层次结构。这种模式能够使客户端统一对待单个对象和组合对象&#xff0c;从而简化了客户端代码。 组合模式有透明组合…...

蓝桥杯模拟算法:蛇形方阵

P5731 【深基5.习6】蛇形方阵 - 洛谷 | 计算机科学教育新生态 我们只要定义两个方向向量数组&#xff0c;这种问题就可以迎刃而解了 比如我们是4的话&#xff0c;我们从左向右开始存&#xff0c;1&#xff0c;2&#xff0c;3&#xff0c;4 到5的时候y就大于4了就是越界了&…...

24_游戏启动逻辑梳理总结

首先这个项目从游戏根入口GameRoot.cs的初始化开始 分为 服务层初始化Svc.cs 与 业务系统层初始化Sys.cs 而服务层 分为 资源加载服务层ResSvc.cs 与 音乐播放服务层AudioSvc.cs 而在 资源加载服务层ResSvc.cs中 初始化了 名字的 配置文件 而音乐播放服务层AudioSvc.cs 暂时没…...

TikTok 推出了一款 IDE,用于快速构建 AI 应用

字节跳动(TikTok 的母公司)刚刚推出了一款名为 Trae 的新集成开发环境(IDE)。 Trae 基于 Visual Studio Code(VS Code)构建,继承了这个熟悉的平台,并加入了 AI 工具,帮助开发者更快、更轻松地构建应用——有时甚至无需编写任何代码。 如果你之前使用过 Cursor AI,T…...

如何运用python爬虫爬取百度贴吧动态加载的图片?

动态加载的图片通常是在页面加载后通过JavaScript异步请求获取的&#xff0c;而requests和BeautifulSoup只能获取页面的初始HTML内容&#xff0c;无法执行JavaScript代码。 要处理动态加载的图片&#xff0c;可以使用以下方法&#xff1a; 1. 使用Selenium Selenium是一个用…...

在Rust应用中访问.ini格式的配置文件

在Rust应用中访问.ini格式的配置文件&#xff0c;你可以使用第三方库&#xff0c;比如 ini 或 config. 下面是一个使用 ini 库的示例&#xff0c;该库允许你读取和解析.ini文件。 使用 ini 库 添加依赖 首先&#xff0c;你需要在你的 Cargo.toml 文件中添加 ini 库的依赖&am…...

Van-Nav:新年,将自己学习的项目地址统一整理搭建自己的私人导航站,供自己后续查阅使用,做技术的同学应该都有一个自己网站的梦想

嗨&#xff0c;大家好&#xff0c;我是小华同学&#xff0c;关注我们获得“最新、最全、最优质”开源项目和高效工作学习方法 Van-Nav是一个基于Vue.js开发的导航组件库&#xff0c;它提供了多种预设的样式和灵活的配置选项&#xff0c;使得开发者可以轻松地定制出符合项目需求…...

【某大厂一面】Map和Set区别

在 Java 中&#xff0c;Map 和 Set 都是集合框架中的重要接口&#xff0c;它们具有不同的特性和用途。虽然它们都用于存储一组元素&#xff0c;但它们之间有一些重要的区别。下面将详细介绍它们之间的差异。 1. Set 和 Map 的基本定义 Set 是一个集合接口&#xff0c;它用于存…...

Vue.js组件开发-使用Vue3如何实现上传word作为打印模版

使用Vue 3实现Word模板上传、解析和打印功能的完整解决方案&#xff1a; 一、实现步骤 安装依赖创建文件上传组件实现.docx文件解析创建打印预览组件实现打印功能样式优化 二、完整代码实现 1. 安装依赖 npm install mammoth axios2. 创建文件上传组件&#xff08;FileUploa…...

Consul持久化配置报错1067---consul_start

报错都是文件写的有问题或者格式问题&#xff0c;直接复制我的这个改改地址就行 先创建文本文件consul_start.txt--->再复制代码保存---->再把.txt改成.bat 持久化存储的地址在&#xff1a;mydata 注&#xff1a;D:\consul\consul_1.20.2_windows_386改成自己consul的…...

动态规划DP 最长上升子序列模型 总览

最长上升子序列模型 最长上升子序列 怪盗基德的滑翔伞...

如何解压7z文件?8种方法(Win/Mac/手机/网页端)

7z 文件是一种高效的压缩文件格式&#xff0c;由 7 - Zip 软件开发者所采用。它运用独特的压缩算法&#xff0c;能显著缩小文件体积&#xff0c;便于存储与传输各类数据&#xff0c;像软件安装包、大型资料集等。但要使用其中内容&#xff0c;就必须解压&#xff0c;因为处于压…...

2023年吉林省职业院校技能大赛网络系统管理样题-网络配置(华三代码)

目录 附录1:拓扑图 附录2:地址规划表 1.S1 2.S3 3.S4 4.S5 5.S7 6.S8 7.S9 8.R1 9.R2 10.R3 11.EG1 12.EG2 13.AC1 14.AC2 附录1:拓扑图 编号 型号...

Flutter使用Flavor实现切换环境和多渠道打包

在Android开发中通常我们使用flavor进行多渠道打包&#xff0c;flutter开发中同样有这种方式&#xff0c;不过需要在原生中配置 具体方案其实flutter官网个了相关示例&#xff08;https://docs.flutter.dev/deployment/flavors&#xff09;,我这里记录一下自己的操作 Android …...

【linux三剑客】grep练习题

题目 进入/lianxi目录&#xff0c;复制/etc/passwd到当前目录下&#xff0c;然后对passwd进行操作查找出当前passwd文件中以ftp或者mail开头的行&#xff0c;在屏幕上输出。查找出当前passwd文件中有没有以r、m、f开头的行&#xff0c;在屏幕上输出。查找出当前passwd文件中以…...

冬天适合养什么鱼?

各位鱼友们&#xff0c;冬天来了&#xff0c;是不是还在为养什么鱼而烦恼&#xff1f;别担心&#xff0c;今天就来给大家好好推荐一些适合冬天养的鱼&#xff0c;让你的水族箱在寒冷的冬天也能生机勃勃&#xff01; 一、金鱼&#xff1a;冬日里的“小暖男” 金鱼绝对是冬季养鱼…...

Effective C++ 规则43:学习处理模板化基类内的名称

1、背景 在 C 中&#xff0c;模板化基类为我们提供了强大的灵活性。然而&#xff0c;模板化基类的名称查找却经常会引发困惑&#xff0c;甚至导致编译错误。这是因为模板的名称查找规则与普通类不同。在普通类中&#xff0c;派生类可以直接访问基类的成员变量和成员函数&#…...

DeepSeek R1 linux云部署

云平台&#xff1a;AutoDL 模型加载工具&#xff1a;Ollama 参考&#xff1a;https://github.com/ollama/ollama/blob/main/docs/linux.md 下载Ollama 服务器上下载ollama比较慢&#xff0c;因此我使用浏览器先下载到本地电脑上。 https://ollama.com/download/ollama-linux…...

混合专家模型MoE的全面详解

什么是混合专家&#xff08;MoE&#xff09;&#xff1f; 混合专家&#xff08;MoE&#xff09;是一种利用多个不同的子模型&#xff08;或称为“专家”&#xff09;来提升LLM质量的技术。 MoE的两个主要组成部分是&#xff1a; 专家&#xff1a;每个前馈神经网络&#xff08…...

vue3相关知识点

title: vue_1 date: 2025-01-28 12:00:00 tags:- 前端 categories:- 前端vue3 Webpack ~ vite vue3是基于vite创建的 vite 更快一点 一些准备工作 准备后如图所示 插件 Main.ts // 引入createApp用于创建应用 import {createApp} from vue // 引入App根组件 import App f…...

【2025美赛D题】为更美好的城市绘制路线图建模|建模过程+完整代码论文全解全析

你是否在寻找数学建模比赛的突破点&#xff1f;数学建模进阶思路&#xff01; 作为经验丰富的美赛O奖、国赛国一的数学建模团队&#xff0c;我们将为你带来本次数学建模竞赛的全面解析。这个解决方案包不仅包括完整的代码实现&#xff0c;还有详尽的建模过程和解析&#xff0c…...

games101-(5/6)

光栅化 投影完成之后&#xff0c;视图区域被确定在从[-1,1]的单位矩阵中&#xff0c;下一步就是光栅化 长宽比&#xff1a;ratio 垂直的可视角度&#xff1a;fild-of-view 可以看到的y 轴的范围&#xff0c;角度越小 越接近正交投影 屏幕坐标系 、 将多边形转化成像素 显示…...

UE5.3 C++ CDO的初步理解

一.UObject UObject是所有对象的基类&#xff0c;往上还有UObjectBaseUtility。 注释&#xff1a;所有虚幻引擎对象的基类。对象的类型由基于 UClass 类来定义。 这为创建和使用UObject的对象提供了 函数&#xff0c;并且提供了应在子类中重写的虚函数。 /** * The base cla…...

前端——js高级25.1.27

复习&#xff1a;对象 问题一&#xff1a; 多个数据的封装提 一个对象对应现实中的一个事物 问题二&#xff1a; 统一管理多个数据 问题三&#xff1a; 属性&#xff1a;组成&#xff1a;属性名属性值 &#xff08;属性名为字符串&#xff0c;属性值任意&#xff09; 方…...

Python 魔术方法

1. 什么是魔术方法 在 Python 中&#xff0c;魔术方法&#xff08;Magic Methods&#xff09;&#xff0c;又叫 特殊方法 或 双下方法&#xff0c;是以两个下划线&#xff08;__&#xff09;开头和结尾的方法。 这些方法为 Python 提供了对类和对象的特殊操作功能&#xff0c…...

websocket webworker教程及应用

WebSocket 和 Web Workers 是两种不同的 Web 技术&#xff0c;分别用于实现实时通信和后台线程处理。以下是它们的简要教程&#xff1a; WebSocket 教程 1. 什么是 WebSocket&#xff1f; WebSocket 是一种在单个 TCP 连接上进行全双工通信的协议。它允许服务器主动向客户端推…...

qwen2.5-vl:阿里开源超强多模态大模型(包含使用方法、微调方法介绍)

1.简介 在 Qwen2-VL 发布后的五个月里&#xff0c;众多开发者基于该视觉语言模型开发了新的模型&#xff0c;并向 Qwen 团队提供了极具价值的反馈。在此期间&#xff0c;Qwen 团队始终致力于打造更具实用性的视觉语言模型。今天&#xff0c;Qwen 家族的最新成员——Qwen2.5-VL…...

PaddleSeg 从配置文件和模型 URL 自动化运行预测任务

git clone https://github.com/PaddlePaddle/PaddleSeg.git# 在ipynb里面运行 cd PaddleSegimport sys sys.path.append(/home/aistudio/work/PaddleSeg)import os# 配置文件夹路径 folder_path "/home/aistudio/work/PaddleSeg/configs"# 遍历文件夹&#xff0c;寻…...

Java实战项目-基于 springboot 的校园选课小程序(附源码,部署,文档)

Java 基于 springboot 的校园选课小程序 博主介绍&#xff1a;✌程序员徐师兄、8年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战*✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&…...

网络工程师 (7)进程管理

一、进程相关的概念 &#xff08;一&#xff09;定义 进程&#xff08;Process&#xff09;是计算机中的程序关于某数据集合上的一次运行活动&#xff0c;是系统进行资源分配和调度的基本单位&#xff0c;也是操作系统结构的基础。进程是程序的一次执行实例&#xff0c;具有动…...

大屏 UI 设计风格的未来趋势

在科技飞速革新的时代&#xff0c;大屏设备的应用领域不断拓展&#xff0c;从城市的智能交通指挥中心&#xff0c;到商场的互动广告大屏&#xff0c;再到家庭的超大尺寸智能电视&#xff0c;大屏已然成为信息展示与交互的关键载体。大屏 UI 设计风格也随之不断演变&#xff0c;…...

Kmesh v1.0 正式发布

2025 年 1 月 23 日&#xff0c;Kmesh 团队正式发布了 Kmesh v1.0235。Kmesh 作为一款开源的服务网格解决方案&#xff0c;v1.0 版本在网络流量管理领域引入了多项重磅特性2。具体如下134&#xff1a; IPsec 加密通信&#xff1a;引入 IPsec 加密协议&#xff0c;将节点间流量加…...

低代码系统-产品架构案例介绍、轻流(九)

轻流低代码产品定位为零代码产品&#xff0c;试图通过搭建来降低企业成本&#xff0c;提升业务上线效率。 依旧是从下至上&#xff0c;从左至右的顺序 名词概述运维层底层系统运维层&#xff0c;例如上线、部署等基础服务体系内置的系统能力&#xff0c;发消息、组织和权限是必…...

深入理解动态规划(dp)--(提前要对dfs有了解)

前言&#xff1a;对于动态规划&#xff1a;该算法思维是在dfs基础上演化发展来的&#xff0c;所以我不想讲的是看到一个题怎样直接用动态规划来解决&#xff0c;而是说先用dfs搜索&#xff0c;一步步优化&#xff0c;这个过程叫做动态规划。&#xff08;该文章教你怎样一步步的…...

C++传送锚点的内存寻址:内存管理

文章目录 1.C/C内存分布回顾2.C内存管理2.1 内存申请2.2 operator new与operator delete函数2.3 定位new表达式 3.关于内存管理的常见知识点3.1 malloc/free和new/delete的区别3.2 内存泄漏 希望读者们多多三连支持小编会继续更新你们的鼓励就是我前进的动力&#xff01; 继C语…...

webAPI -DOM 相关知识点总结(非常细)

title: WebAPI语法 date: 2025-01-28 12:00:00 tags:- 前端 categories:- 前端WEB API 了解DOM的结构并掌握其基本的操作&#xff0c;体验 DOM 在开发中的作用 API简介 就是使用js来操作html和浏览器 什么是DOM? 就是一个文档对象模型&#xff0c;是用来呈现预计于任意htm…...

Deepseek的RL算法GRPO解读

在本文中&#xff0c;我们将深入探讨Deepseek采用的策略优化方法GRPO&#xff0c;并顺带介绍一些强化学习&#xff08;Reinforcement Learning, RL&#xff09;的基础知识&#xff0c;包括PPO等关键概念。 策略函数&#xff08;policy&#xff09; 在强化学习中&#xff0c; a…...

设计模式的艺术-策略模式

行为型模式的名称、定义、学习难度和使用频率如下表所示&#xff1a; 1.如何理解策略模式 在策略模式中&#xff0c;可以定义一些独立的类来封装不同的算法&#xff0c;每个类封装一种具体的算法。在这里&#xff0c;每个封装算法的类都可以称之为一种策略&#xff08;Strategy…...

MyBatis 写法

MyBatis 高效使用技巧 常见 MyBatis 使用技巧&#xff0c;这些技巧有助于简化数据库操作&#xff0c;提高开发效率&#xff0c;并增强系统的性能。 1. 动态 SQL 动态 SQL 让开发者能够依据参数灵活地构建 SQL 语句&#xff0c;避免了手动拼接字符串带来的复杂性和错误风险。…...

Git图形化工具【lazygit】

简要介绍一下偶然发现的Git图形化工具——「lazygit」 概述 Lazygit 是一个用 Go 语言编写的 Git 命令行界面&#xff08;TUI&#xff09;工具&#xff0c;它让 Git 操作变得更加直观和高效。 Github地址&#xff1a;https://github.com/jesseduffield/lazygit 主要特点 主要…...

K8s运维管理平台 - xkube体验:功能较多

目录 简介Lic安装1、需要手动安装MySQL&#xff0c;**建库**2、启动命令3、[ERROR] GetNodeMetric Fail:the server is currently unable to handle the request (get nodes.metrics.k8s.io qfusion-1) 使用总结优点优化 补充1&#xff1a;layui、layuimini和beego的详细介绍1.…...

5.3.1 软件设计的基本任务

文章目录 软件设计解决的问题概要设计基本任务详细设计基本任务 软件设计解决的问题 需求分析解决“做什么”的问题&#xff0c;软件设计解决“如何做”的问题。软件设计分为概要设计、详细设计两块。概要设计是设计软件和数据的总体框架&#xff0c;比详细设计的颗粒度更大。详…...