Linux命令学习入门

文章目录

        • 登录注销
        • 关机重启
        • Vim编辑器快捷键
        • 文件目录类
        • 打包、解包、压缩和解压指令
        • 输出重定向`>`和追加`>>`指令
        • 时间日期类
        • 搜索查找类
        • 用户管理
        • 文件所有者所在组
        • 权限管理
        • 变更权限
        • crond任务时间调度
            • crond相关指令:
            • 特殊符号说明:
        • at定时任务
        • 磁盘分区
        • 磁盘情况查询
        • 磁盘工作实用指令
        • Linux网络配置
        • 设置主机名和HOST映射
        • 监控网络状态
        • 进程管理
        • Service服务管理
        • RPM和YUM
            • 1、rpm
            • 2、yum

登录注销

su - 用户名,logout 注销用户登录(运行级别3下有效)

关机重启

shutdown -h now 立刻关机
shutdown -h 1 1分钟后关机,默认一分钟
shutdown -r now 现在重启
shutdown -c 取消关机,取消重启
halt关机
reboot重启
sync同步内存数据

Vim编辑器快捷键

拷贝当前行 :yy
粘贴:p
删除当前行: dd,删除以下5行:5dd
查找某个单词:命令行下/关键词,回车,n查找下一个。
设置文件行号:命令行set nu
撤销:一般模式下,u
移动到20行:一般模式下,输入20,然后shift+g
移动到最末行最首行:一般模式下G, gg

文件目录类

ls :显示当前目录下的文件,-a 所有文件,-l 列表展示信息,-h 方便浏览
cat xxx:安全打开,只读
vi xxx:用vim编辑器打开文件
more: 分页打开
less: 打开大文件
head -n 11 xx 打开文件开头11行,默认10行
tail -n 11 xxx 打开文件末尾11行

tail -f xxx实时监控文件

history: 命令执行记录
history 10最近执行的10条指令
!488执行第488条指令

rm: 删除文件 -f 强制删除, -r逐层递归删除文件
cp: 复制文件或覆盖,-r递归复制整个文件夹 ,/cp强制覆盖
mv: 移动文件、重命名
touch:创建空文件
mkdir:创建文件夹
rmdir:删除文件夹
ln: 符号连接,软连接
ln -s /root/ myroot

awk -F "," '{print $1}' data.txt

cut -d "," -f 1 data.txt

打包、解包、压缩和解压指令

Linux 主要有3种压缩方式,zip,gzip,xz是压缩解压指令。
gzip:压缩速度最快,应用广泛
bzip2:压缩成的文件小
xz:最新的方式,提供最佳的压缩率

tar是打包指令:

-c,进行打包
-v,显示详细信息
-f,指定压缩或解压的文件包
-z,支持gzip压缩和解压,-j支持bzip压缩,-J支持xz压缩
-x,解包文件
-t,显示文件的内容
-k,保留原有文件不覆盖
-C,切换到指定目录

案例1:压缩多个文件

tar -zcvf pc.tar.gz /home/pig.txt /home/cat.txt

案例2:将/home文件夹压缩

tar -zcvf myhome.tar,gz /home/

案例3:将myhome.tar.gz解压到当前目录

tar -zxvf myhome.tar.gz

案例4:将myhome.tar.gz解压到/opt/tmp2下

mkdir /opt/tmp2
tar -zxvf /home/myhome.tar.gz -C /opt/tmp2

1、tar
打包:tar cvf xxx.tar xxx文件
解包:tar xvf xxx.tar

2、.gz
压缩:gzip xxx
解压:gunzip xxx.gz

3、.tar.gz 和 .tgz
压缩:tar zcvf xxx.tar.gz xxxx
解压:tar zxvf xxx.tar.gz

4、.tar.bz2
压缩:tar jcvf xxx.tar.bz2 xxx
解缩:tar jxvf xxx.tar.bz2

5、.zip
压缩:zip xxx.zip xxx
解压:unzip xxx.zip

例:
zip -r myhome.zip /home/把home文件夹及子文件压缩
unzip -d /opt/tmp myhome.zip 把myhome.zip解压到/opt/tmp

6、.rar
压缩:rar a xxx.rar xxx
解压:rar x xxx.rar

7、.bz2
压缩: bzip2 -z xxxx
解压1:bzip2 -d /xxx xxx.bz2
解压2:bunzip2 xxx.bz2

输出重定向>和追加>>指令

ls -l > info.txt
cat 文件1> 文件2
echo “xxx”>文件

echo $PATH $HOSTNAME

时间日期类

date: 打印当前时间

date "+%Y-%m-%D"打印年月日
date set "+%Y-%m-%D %H:%M:%S"

cal :打印当前日历

cal 2023打印2023年日历

搜索查找类

find :-name ;-user; -size

find /home -name hello.txt -user root找到/home目录下用户名为root的hello.txt文件
find / -size +200M 在根目录下找大于200M的文件

locate: 无需遍历整个系统,查询快

updatedb
locate hello.txt 定位hello.txt所在的目录

grep: 过滤查找

-v: 反向查找

cat hello.txt | grep -n "hello" 打开hello.txt并查找hello所在行。

案例1:在/home目录下查找所有内容含cat的文件名

grep -r "cat" /home | cut -d ":" -f 1

案例2:请统计/home目录下所有文件个数及文件的总行数

find -r /home -name "*.*" | wc -l

find -r /home -name "*.*" |xargs wc -l

用户管理

添加用户:useradd xxx
删除用户:userdel xxx
修改用户所在组:usermod -g 新组名 user
修改用户登录目录:usermod -d 目录 user
查看用户是否存在:id user
查看当前用户:whoami

文件所有者所在组

添加/删除组:groupadd/groupdel
查看了文件的所有者:ls -ahl xxx
改变文件的所有者:chown 新用户 文件名/目录
改变文件所在组:chgrp 新组名 文件名/目录
改变文件目录所有者所在组:chown newowner:newgroup

加上参数-R将目录下所有文件都会改变

权限管理

-rw-r--r--. 1 root root 239 10月 24 10:13 hello.java (1)
drwxr-xr-x. 2 root root 4096 10月 23 13:56 桌面 (2)
r:读 w:写 x:执行 [4,2,1] r+w+x=7
0~9位:
1)0位:文件类型,-文件,d目录,c字符设备(键盘鼠标),b块设备(硬盘)
2)1~3位:所有者权限
3)4~6:所在组权限
4)7~9:其他组权限

[rwx]作用于文件
r:只读cat; w:写修改但不能删除 ;x:可执行
[rwx]作用于目录
r: 查看目录内容ls,但对文件有独立的权限; w:可在目录内创建、删除文件 ; x:可进入目录cd

注(1)中数字1表示文件数或子目录数,第一个root为用户,第二个为用户组,239为文件大小单位字节,“10月 24 10:13”为最后修改日期。

变更权限

chmod修改文件目录的权限, u所有者,g所在组,o其他组,a所有人
(1)+ ,-, =
chmod u=rwx,g=rx,o=x 文件名/目录 :给用户rwx,所在组rx,其他组x
chmod o+x 文件名/目录 :给其他组执行权限
chmod a-x 文件名/目录 :所有人剥夺执行权限

(2)通过数字变更

r:4 w:2 x:1

rwx=7,rw:6,rx:5,r:4,wx:3,w:2,x:1 无权限:0

chmod u=rwx,g=rx,o=x 文件名/目录相当于chmod 751 文件名/目录

crond任务时间调度

设置任务调度文件:/etc/crontab

设置个人调度任务:执行crontab -e指令,接着输入任务到调度文件。如:

*/1 * * * * ls -l /etc > /tmp/to.txt

每小时每分钟执行ls -l /etc > /tmp/to.txt

五个占位符参数:

第一个*:一小时中第几分钟,0~59
第二个*:一天中第几小时,0~23
第三个*:一个月中第几天,1~31
第四个*:一年中第几个月,1~12
第五个*:一周中星期几,0~7(0,7为星期日)

crond相关指令:

-r终止任务调度(删除),-e编辑任务,-l列出任务

service crond restart重启crond调度

特殊符号说明:

* :任何时间,若第一个为*表示每分钟执行。

,:逗号代表不连续的时间,0 8,12,16 * * *表示每天8点12点16点0分执行。

-:表示连续时间范围, 0 5 ** 1-6周一到周六凌晨五点执行。

*/n:表示每隔多久执行,*/10 表示每隔10分钟执行。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

案例1:
每隔一分钟将当前时间和日期追加到/home/mycal中
1)vim my.sh写入date >> /home/mycal和cal >> /home/mycal
2) 给my.sh增加执行权限,chmod u+x my.sh
3) crontab -e写入任务*/1 * * * * /home/my.sh

案例2:
每天凌晨2点备份数据库mydb
1)crontab -e
2)0 2 * * * mysqldump -u root -p 123456 mydb > /home/db.bak

at定时任务

at命令是一次性定时任务,at的守护进程atd检查作业队列,以后台模式运行,每60秒检查一次,若时间与当前时间匹配则运行。使用at要保证atd在运行,使用以下命令查看进程:

ps -ef | grep atd

at [选项] [时间]

atq查询任务,atrm删除
Ctrl+D结束命令输入

at时间格式:
1)hh:mm(04:00)当天或第二天执行
2)midnight/noon/teatime
3)12小时制,如9am ,3pm
4)指定具体日期:month day或mm/dd/yy或dd.mm.yy,指定日期必须在时间后面04:00 2023-11-1
5)相对计时:now + count time-units,now是当前时间,count是数量,tim-units是时间单位,minutes,hours,days,months,weeks。

now + 5 days 五天后
5pm + 2 days 两天后下午五点

6)today、tommorow

案例1:
每天下午5点,把时间输入到/root/data.log里

  1. at 5pm tommorow
  2. date > /root/data.log

案例2:
2天后五点执行/bin/ls /home
1)at 5pm + 2 days
2)/bin/ls /home

案例3:
删除5号at任务
atrm 5

磁盘分区

磁盘分区和文件系统之间通过挂载mount联系起来,分区构成整个文件系统。

查看设备挂载情况:lsblk -f

Linux硬盘分为IDE和SCSI类型,目前主要为SCSI。

对于IDE硬盘,驱动器标识符为hdx~,hd表示IDE设备类型,x表示盘号(a主盘,b从属盘,c…),~表示分区,前四个分区用1-4数字表示,5开始为逻辑分区。如hda2表示第一个IDE硬盘的第二个分区。

对于SCSI硬盘,标识为“sdx~”,sd为SCSI硬盘类型,其余和IDE表示类似。

案例:挂载一块硬盘

1.虚拟机添加硬盘

在虚拟机设置中在设备列表里添加一块硬盘,完成后重启才能识别。

2.分区

fdisk /dev/sdb

m 显示命令列表
p 显示磁盘分区,fdisk -l
n 新增分区
d 删除分区
w写入并退出
q 直接退出

3.格式化

格式化文件系统获得UUID:mkfs -t ext4 /dev/sdb1

4.挂载

将分区和文件目录联系起来:mount 设备名 文件目录

mount /dev/sdb1 /newdisk

umount 设备名或挂载目录(mountpoint)

umount /dev/sdb1umount /newdisk

但是重启后失效

5.设置自动挂载

实现永久挂载,修改/etc/fstab文件,添加设备,重启或执行mount -a立刻生效。

/dev/sdb1 /newdisk 0.0

磁盘情况查询

1)查看磁盘整体使用情况 :df -h

2)查询指定目录的磁盘占用情况

du -h 默认当前目录

-s 占用大小汇总
-h 带计量单位
-a 带上文件
–max-depth=1子目录深度
-c 列出明细,增加汇总值

案例1:查询/opt目录下一层子目录的磁盘使用情况

du -h --max-depth=1 /opt

磁盘工作实用指令

1)统计/opt文件夹下文件的个数

ls -l /opt | grep "^-" | wc -l

2)统计/opt文件夹下目录的个数

ls -l /opt | grep "^d" | wc -l

3)统计/opt文件夹下文件的个数,包括子文件夹下的文件

ls -lR /opt | grep "^-" | wc -l

4)统计/opt文件夹下目录的个数,包括子文件夹下

ls -lR /opt | grep "^d" | wc -l

5)树状显示目录结构

yum install tree
tree /opt

Linux网络配置

查看网络配置:ifconfig或ip addr
测试网络连通:ping ip地址

1)DHCP动态路由分配

自动分配,ip不会冲突,但是不固定。

2)静态分配IP(固定IP)

修改网卡配置文件,vi /etc/sysconfig/network-scripts/ifcfg-ens33,将ip地址配置成静态的,添加固定ip如下。

DEVICE=ens33 (设备网卡名)
HWADDR=00:0c:2x:6x:0x:xx (MAC地址)
TYPE=ethernet (网络类型)
UUID=029ad-d12e-dw23-32da-1d2c (随机id)
ONBOOT= yes (系统启动时网络接口是否开启)
BOOTPROTO=static (ip配置方法)[none;static;dhcp;bootp]
IPADDR=192.168.157.129 (ip地址)
GATEWAY=192.168.157.2 (网关)
DNS1=192.168.157.2 (DNS解析器)

在虚拟机中找到虚拟网络编辑器,找到该网络如vmnet8,修改子网ip地址为192.168.157.0,修改NAT配置中网关地址,点击确定再点击应用。之后重启系统或者输入service network restart生效。

设置主机名和HOST映射

查看主机名:hostname
修改主机名:vi /etc/hostname,重启

设置HOST映射:

1)在windows的"C:\Windows\System32\drivers\etc\hosts"下添加ip与主机名的映射:192.168.157.129 CentOS7

ping CentOS7可ping通。
windows cmd窗口ipconfig /displaydns列出本地dns缓存,ipconfig /flushdns清除缓存。

2)linux在/etc/hosts文件修改

监控网络状态

netstat [options],选项说明:

-an,按一定顺序输出 ;-p,显示哪个进程在调用

-tuln,查看开放的端口

例如:查看sshd服务的信息

netstat -anp |grep sshd

ping ip,监测网络连接。

案例:统计连接到服务器的各个ip情况,并按连接数从大到小排

netstat -an | grep ESTABLISHED | awk -F " " '{print $5}' | cut -d ":" -f 1 | sort -nr |uniq -c

进程管理

1、查看进程信息

ps指令:

ps -A 显示当前所有进程信息
ps -a 显示所有终端机下执行的程序
ps -u 以用户的格式显示进程信息
ps -x 显示后台进程运行的参数
ps -aux | grep sshd 查看也没有sshd服务

USER进程执行用户,PID进程号,%CPU进程占CPU百分比,%MEM进程占物理内存的百分比,VSZ进程占虚拟内存的大小,RSS进程占物理内存的大小KB,TTY终端名称,STAT进程状态(S睡眠,R正在运行,Z僵尸进程,D短期等待,T被跟踪或被停止,>高优先级),START进程开始执行时间,TIME占用CPU时间,COMMAND启动进程的命令或参数。

ps -ef 以全格式显示所以进程,不会截断,System V格式。

ps -ef | grep sshd

UID用户ID,PID进程号,PPID父进程PID,TTY终端设备号。

//查找进程状态信息
cat /proc/pid/status
//查找进程启动命令行
cat /proc/pid/cmdline

2、终止进程

kill [option] PID ,终止进程,option=-9表示强制终止。
killall 进程名 ,终止该进程及子进程。

案例1:踢掉某个非法登录用户tom
root 1143 1 0 16:23 ? 00:00:00 /usr/sbin/sshd -D
root 1741 1143 0 16:23 ? 00:00:00 sshd: root@pts/0
root 5031 1143 1 20:03 ? 00:00:00 sshd: tom [priv]
tom 5043 5031 0 20:03 ? 00:00:00 sshd: tom@pts/1

kill 5031

案例2:终止远程登录服务器sshd,合适时重启服务

kill 1143
/bin/systemctl start sshd.service

案例3:终止多个gedit

killall gedit

案例4:强制杀死终端

root 5277 5267 0 20:16 pts/1 00:00:00 bash

kill -9 5277

3、查看进程树

pstree ,-p 显示进程号,-u显示用户

4、top动态监控进程(性能监视器,任务管理器)

top: 实时显示进程信息
top -d 秒数,几秒后刷新
top -i,不显示闲置和僵尸进程
top -p PID,指定某进程ID监控进程

top交互操作说明,输入:

P,以CPU使用率排序,默认
N,以PID排序
M,以内存使用率排序
q,退出
u,接着输入用户名,回车即可查看某用户相关进程
k,接着输入进程号,回车即可终止某进程

案例1:监控用户tom的相关进程

top,输入u,接着输入tom

案例2:终止指定进程,踢掉tom

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
2060 tom 20 0 160988 2372 1028 S 0.0 0.1 0:00.01 sshd
2064 tom 20 0 116876 3296 1676 S 0.0 0.2 0:00.04 bash

top,输入u回车,输入tom回车,输入k回车,输入2064回车。

Service服务管理

查看系统服务:

1)setup,系统服务。
2)service指令管理服务在/etc/init.d查看,ls -l /etc/init.d/

service指令:

service 服务名 [start|stop|restart|reload|status]

CentOS7以后,大多服务不使用service,而使用systemctl。
[使用service关闭network服务,一旦关闭,将无法连接SSH服务]

服务运行级别,在/etc/initab查看,systemctl get-default查看当前运行级别,systemctl set-default T.target设置默认级别。

chkconfig指令:

查看服务:chkconfig --list
设置服务在level级别开启:chkconfig --level [0/1/2/3/4/5/6] 服务名 on/off

如设置network在3级别打开或关闭:chkconfig --level 3 network on/off,之后重启系统即可生效。

systemctl指令:

systemctl [start |stop |restart |status |enable |disable] 服务名

该指令管理的服务在/usr/lib/systemd/system查看。

systemctl list-unit-files,查看服务开机启动状态
systemctl enable 服务名 ,设置服务开机启动
systemctl disable 服务名,关闭服务自启动
systemctl is-enabled 服务名 ,查看某个服务是否自启动

案例1:查看当前防火墙状态,关闭和打开防火墙服务

systemctl list-unit-files | grep firewalld
systemctl is-enabled firewalld
systemctl status firewalld
systemctl stop firewalld
systemctl start firewalld

【systemctl start/stop 服务,服务在系统重启后恢复原样】

案例2:防火墙打开和关闭指定端口111

查看端口:firewall-cmd --list-port
打开打开:firewall-cmd --permanent --add-port=端口/协议
关闭打开:firewall-cmd --permanent --remove-port=端口/协议
重载生效:firewall-cmd --reload
查询端口是否开放:firewall-cmd --query-port=端口/协议

firewall-cmd --permanent --add-port=111/tcp
firewall-cmd --reload

RPM和YUM
1、rpm

rpm是linux常用的下载和打包安装工具,生成.rpm结尾的文件。

软件包名基本格式:firefox-68.10.0-1.el7.centos.x86_64,名称:firefox,版本:68.10.0,适用操作系统:el7.centos.x86_64,norach表示32位64位通用。
1)查询
查询已安装的rpm包列表:rpm -qa | grep xxx
查询所有rpm包:rpm -qa
查询软件包是否安装:rpm -q 软件包名
查询软件包信息:rpm -qi 软件包名
查询软件包中的安装文件:rpm -ql 软件包名
查询文件所属软件包:rpm -qf 文件全路径
例:rpm -qf /etc/passwd
2)安装
安装软件包:rpm -ivh 软件包全路径,-i安装,-h显示进度,-v显示安装信息
例:rpm -ivh /opt/firefox-68.10.0-1.el7.centos.x86_64
3)卸载
卸载安装包:rpm -e xx软件包名 [erase]
强制卸载:rpm -e --nodeps xxx

2、yum

yum是一个Shell前端软件包管理器,基于rpm,能够从服务器中下载rpm包并安装,可以自动处理依赖关系,并一次性安装所以依赖,但需要连接网络。

-y:代替手动输入yes,自动执行安装
查询服务器是否有可安装的xx软件:yum list | grep xxx
安装包:yum install xxx
删除软件:yum remove xxx
更新所以软件:yum update
更新一个软件:yum update xxx
清除缓存目录下的软件包:yum clean all
更新软件包缓存:yum makecache
搜寻软件包:yum search xxx

影响yum使用的主要文件:
基本设置: /etc/yum.conf
仓库软件源配置配置: /etc/yum.repo.d/*.repo
日志文件: /var/log/yum.log

*.repo的基本配置项
[base]:代表容器名称,名称可以随意取
name:描述容器含义
baseurl:后面接容器地址,是指定一个固定容器地址
enabled:是否启用此频道(1为启动,0为不启用)
gpgcheck:是否需要查阅RPM文件内数字证书
gpgkey:数字证书公钥文件所在位置,使用默认值

开启软件缓存 nano /etc/yum.conf

案例:使用yum安装firefox
rpm -e firefox
yum list | grep firefox
yum install firefox

如有谬误,敬请指正!

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

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

相关文章

记录三菱:Works2-FB块

创建一个FB块,启保停,定义输入输出引脚,注意这里的数据类型是Bit 打开主程序,将FB块拖出来 启保停:加入时间设定,时间显示倒着

基于C/C++的easyx实现贪吃蛇游戏

文章目录: 一:运行效果 1.演示 2.思路和功能 二:代码 文件架构 Demo 必备知识:基于C/C的easyx图形库教程 一:运行效果 1.演示 效果图◕‿◕✌✌✌ 基于C/C的easyx实现贪吃蛇游戏运行演示 参考:【C语…

Oracle:ORA-01830错误-更改数据库时间格式

1,先把报错SQL语句拿出来执行,看看是不是报的这个错 ORA-01830: 日期格式图片在转换整个输入字符串之前结束 2,然后查看默认日期格式是不是“YYYY-MM-DD HH24:MI:SS”(正确格式)。; 执行: SELECT * FRO…

citus的快速开始

准备 dockercitus最新版本(docker pull citusdata/citus) docker网络 docker network create --subnet172.72.9.0/24 citus-test docker network ls启动citus服务 启动协调节点 docker run -dit --name citus-cod -p 5433:5432 -e POSTGRES_PASSWOR…

Transformer的前世今生 day06(Self-Attention和RNN、LSTM的区别)

Self-Attention和RNN、LSTM的区别 RNN的缺点:无法做长序列,当输入很长时,最后面的输出很难参考前面的输入,即长序列会缺失上文信息,如下: 可能一段话超过50个字,输出效果就会很差了 LSTM通过忘…

【SAP-ABAP】CO01保存时错误DBSQL_DUPLICATE_KEY_ERROR

找到该表的主键OBJNR,事务代码SM56中查看当前缓冲到该key的号码段,事务代码SNRO修改对象名称OBJNR编号范围状态。 事务代码SM13查看数据更新记录

静态路由实验配置

题目及实验图 第一步划分IP IP配置如下 1&#xff09;R1&#xff1a; <Huawei>sy Enter system view, return user view with CtrlZ. [Huawei]sy R1 [R1]int g 0/0/0 [R1-GigabitEthernet0/0/0]ip ad 192.168.1.1 30 [R1-GigabitEthernet0/0/1]ip ad 192.168.1.5…

LeetCode 热题 HOT 100(P21~P30)

系列文章&#xff1a; LeetCode 热题 HOT 100(P1~P10)-CSDN博客 LeetCode 热题 HOT 100(P11~P20)-CSDN博客 LeetCode 热题 HOT 100(P21~P30)-CSDN博客 LC48rotate_image . - 力扣&#xff08;LeetCode&#xff09; 题目&#xff1a; 给定一个 n n 的二维矩阵 matrix 表…

一文彻底搞懂Redis底层数据结构

文章目录 1. 数据结构与数据类型的关系2. 底层数据结构详解2.1 SDS: 简单动态字符串2.2 双端链表2.3 压缩列表2.4 哈希表2.5 整数集合2.6 跳表2.7 quicklist2.8 listpack 1. 数据结构与数据类型的关系 Redis是一个基于内存的数据存储系统&#xff0c;它支持多种数据结构和数据…

vue项目报这个错是 Same `value` exist in the tree: 0008E3000E1A?

警告 "Same value exist in the tree: 0008E3000E1A" 表示在树形选择器中存在相同的值。这通常是由于树形选择器的数据中存在重复的值造成的。就是返回的值中&#xff0c;有俩个id相同

基于K-近邻的PLOSAR图像分类

&#x1f380;个人主页&#xff1a; https://zhangxiaoshu.blog.csdn.net &#x1f4e2;欢迎大家&#xff1a;关注&#x1f50d;点赞&#x1f44d;评论&#x1f4dd;收藏⭐️&#xff0c;如有错误敬请指正! &#x1f495;未来很长&#xff0c;值得我们全力奔赴更美好的生活&…

mybatis实践篇(二)

自定义类型处理器&#xff08;TypeHandler&#xff09; 实体 package com.wyl.mybatis.entity;import java.util.Date;/*** Description 省市区-字典* Author wuyilong* Date 2024-02-26*/public class FullCity {private static final long serialVersionUID 1L;/*** 主键I…

第十三届蓝桥杯省赛真题 Java A 组【原卷】

文章目录 发现宝藏【考生须知】试题 A: 裁纸刀试题 B: 寻找整数试题 C : \mathrm{C}: C: 求和试题 D: GCD试题 E: 蜂巢试题 F : \mathrm{F}: F: 全排列的价值试题 G: 青蛙过河试题 H \mathrm{H} H : 因数平方和试题 I: 最优清零方案试题 J : \mathrm{J}: J: 推导部分和 发现…

Unity Mesh简化为Cube mesh

Mesh简化为Cube mesh &#x1f373;食用&#x1f959;子物体独立生成CubeMesh&#x1f96a;合并成一个CubeMesh&#x1f32d;Demo &#x1f373;食用 下载并导入插件&#x1f448;即可在代码中调用。 &#x1f959;子物体独立生成CubeMesh gameObject.ToCubeMesh_Invidual()…

Win11文件右键菜单栏完整显示教程

近日公司电脑升级了win11&#xff0c;发现了一个小麻烦事&#xff0c;如下图&#xff1a; 当我想使用svn或git的时候必须要多点一下&#xff0c;这忍不了&#xff0c;无形之中加大了工作量&#xff01; 于是&#xff0c;菜单全显示教程如下&#xff1a; 第一步&#xff1a;管…

C#宿舍信息管理系统

简介 功能 1.发布公告 2.地理信息与天气信息的弹窗 3.学生信息的增删改查 4.宿舍信息的增删改查 5.管理员信息的增删改查 6.学生对宿舍物品的报修与核实 7.学生提交请假与销假 8.管理员对保修的审批 9.管理员对请假的审批 技术 1.采用C#\Winform开发的C\S系统 2.采用MD5对数据…

Centos7安装Python3.8

1.安装编译相关工具 yum -y groupinstall "Development tools" yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel yum install libffi-devel -y2.下载安装包…

GPT模型部署后续:聊天机器人系统的扩展与优化

一、多轮对话支持 为了实现多轮对话支持&#xff0c;我们需要维护用户的会话上下文。这可以通过在服务器端使用一个字典来存储会话状态实现。 目录 一、多轮对话支持 下面是一个简单的扩展例子&#xff1a; 二、性能优化 三、用户界面与交互优化 下面是一个简单的HTML示例&…

一文搞懂 YOLOv9 训练推理全流程 | YOLOv9你绝对不知道的细节!

文章地址&#xff1a;https://arxiv.org/pdf/2402.13616.pdf 代码地址&#xff1a;https://github.com/WongKinYiu/yolov9 前言 在这篇博客中&#xff0c;我们来聊聊 YOLOv9。首先&#xff0c;值得注意的一点是&#xff0c;YOLOv9的变化相对较小&#xff0c;它仍然基于YOLOv5的…

微信小程序button动态跳转到页面

微信小程序中如何动态的跳转到某个页面。 目录 1、首先在js文件中定义事件函数 2、在页面中进行传参调用 3、其它跳转方法简单说明 1、首先在js文件中定义事件函数 goto(e){const urle.currentTarget.dataset.url;wx.navigateTo({url: url})}, 2、在页面中进行传参调用 &l…