Linux 常用命令 2

news2025/1/10 10:41:01

Linux 常用命令 2

  • 1、组和权限管理
    • 1.1、ls 指令
    • 1.2、chown 指令
    • 1.3、chgrp 指令
    • 1.4、chmod 指令
    • 1.5、chown 指令
    • 1.6、chgrp 指令
  • 2、crond 任务调度
    • 2.1、crontab
    • 2.2、时间格式
    • 2.3、脚本无法执行问题
    • 2.4、案例
  • 3、进程管理
    • 3.1、ps 指令
    • 3.2、kill 和 killall 指令
    • 3.3、pstree 指令
    • 3.4、service 服务管理指令
    • 3.5、chkconfig 指令
    • 3.6、top 指令
    • 3.7、netstat 指令
  • 4、软件包管理
    • 4.1、rpm 包管理
    • 4.2、yum 前端软件包管理器

1、组和权限管理

 

linux 中每个文件有所有者、所在组、其他组的概念。一般文件的创建者,就是这个文件的所有者。

1.1、ls 指令

 
ls 指令 可以查看当前目录中的文件情况,通过选项能查看目录中各文件的所有者等信息。

# 以长格式显示当前目录中的文件和目录
ls -l
# 显示当前目录中的所有文件和目录,包括隐藏文件
ls -a
# -d 只列出目录(不递归列出目录内的文件)。
ls -d
# 显示所有文件及目录 (. 开头的隐藏文件也会列出)
ls -lh
# 按照修改时间排序显示当前目录中的文件和目录
ls -t
# -r 倒序显示文件和目录。
ls -r
# 递归显示当前目录中的所有文件和子目录
ls -R
# 显示/etc/passwd文件的详细信息
ls -l /etc/passwd

 

# ls -l 指令示例
[root@hecs-144144 local]# ls -l
total 56
-rwxrwxrwx  1 root root 3832 May 21 00:05 agent_install.sh
drwxrwxrwx. 2 root root 4096 Jul  8  2022 bin

 
在使用 ls -l 命令时,第一列的字符表示文件或目录的类型和权限。其中第一个字符表示文件类型,例如:
 
在这里插入图片描述
 

字符说明
-表示普通文件
d表示目录
l表示符号链接
c表示字符设备文件
b表示块设备文件
s表示套接字文件
p表示管道文件

 
在使用 ls -l 命令时,第一列的其余 9 个字符表示文件或目录的访问权限,分别对应三个字符一组的 rwx 权限.
 
在这里插入图片描述
 

字符说明
r表示读取权限(read),可以读取、查看
w表示写入权限(write),可以修改,但是不代表可以删除该文件。删除一个文件的前提条件是,对该文件所在目录有写权限,才能删除该文件。
x表示执行权限(execute)
-表示没有对应权限

 
在使用 ls -l 命令时,第一列的其余 9 个字符表示文件或目录的访问权限,前三个字符表示所有者的权限中间三个字符表示所属组的权限后三个字符表示其他用户的权限 。例如:
 
在这里插入图片描述

 

ls -l 命令中,第三列和第四列分别表示文件/目录,所属的所有者和所在组。
 
在这里插入图片描述

 

1.2、chown 指令

 

# chown 指令能修改文件所有者。
chown 用户名 文件名

 

1.3、chgrp 指令

 

# chgrp 指令能修改文件所在组
chgrp 组名 文件名

 

1.4、chmod 指令

 
chmod 指令有两种方式,可以修改文件或目录的权限。

  • 第一种方式:+、-、= 变更权限

    • + 表示增加权限、- 表示取消权限、= 表示唯一设定权限。

    • u:所有者 g:所有组 o:其他人 a:所有人(u、g、o 的总和)

# chmod 指令 方式一示例:
chmod u=rwx,g=rx,o=x 文件目录名
chmod o+w 文件目录名
chmod a-x 文件目录名

# 将文件 file1.txt 设为所有人皆可读取
chmod ugo+r file1.txt
# 将目前目录下的所有文件与子目录皆设为任何人可读取 
chmod -R a+r *

 

模式名字说明
r设置为可读权限
w设置为可写权限
x执行权限设置为可执行权限
X特殊执行权限只有当文件为目录文件,或其他类型用户有可执行权限时,才将文件权限设置可执行
ssetuid/gid当文件被执行时,根据who参数指定的用户类型设置文件的setuid或者setgid权限
t粘贴位设置粘贴位,只有超级用户可以设置该位,只有文件所有者u可以使用该位
  • 第二种方式:通过数字变更权限(八进制语法)
# 下面指令等同于 chmod u=rwx,g=rx,o=x 文件目录名
chmod 751 文件目录名
# 下面指令等同于 chmod ug=rwx,o=x file
chmod 771 file
#权限rwx
7读+写+执行rwx
6读+写rw-
5读+执行r-x
4只读r–
3写+执行-wx
2只写-w-
1只执行–x
0

1.5、chown 指令

 

# chown 指令用于修改 文件所有者
chown [选项] 新的文件所有者ID 文件目录
# 将 file 的所有者修改为 newowner
chown newowner file

# 将 file 的所有者修改为 newowner,所有组修改为 newgroup
chown newowner:newgroup file
# 将当前前目录下的所有文件与子目录的所有者修改为 runoob,所有组修改为 runoobgroup
chown -R runoob:runoobgroup *

 
chown 常用选项

选项说明
-c显示更改的部分的信息
-f忽略错误信息
-h修复符号链接
-v显示详细的处理信息
-R处理指定目录以及其子目录下的所有文件

1.6、chgrp 指令

 

# chgrp 指令,改变文件的所在组
chgrp newgroup file 

 

2、crond 任务调度

 

crond 命令每分钟会定期检查是否有要执行的工作,如果有要执行的工作便会自动执行该工作。

注意: 新创建的cron任务,不会马上执行,至少要过 2 分钟后才可以,当然你可以重启cron来马上执行。

任务调度:是指系统在某个时间执行的特定的命令或程序。

任务调度分类:

  • 系统工作:有些重要的工作必须周而复始地执行。如病毒扫描等。
  • 个别用户工作:个别用户可能希望执行某些程序。如对mysql数据库的备份。

 

2.1、crontab

 

# crontab 是用来让使用者在固定时间或固定间隔执行程序之用,换句话说,也就是类似使用者的时程表。
# -u user 指设定指定user的时程表,前提是你必须要有其权限(比如说是root), 才能指定他人的时程表。
# 如果不使用 -u user 的话,就是表示设定自己的时程表。
# 语法
crontab [ -u user ] file
# 或
crontab [ -u user ] { -l | -r | -e }

# 终止任务调度
crontab -r 
# 列出当前有哪些任务调度
crontab -l
# 重启任务调度
service crond restart

 

参数说明:

参数说明
-e执行文字编辑器来设定时程表,内定的文字编辑器是 VI,如果你想用别的文字编辑器,则请先设定 VISUAL 环境变数来指定使用那个文字编辑器(比如说 setenv VISUAL joe)
-r删除目前的时程表
-l列出目前的时程表
[root@hecs-144144 ~]# crontab -l
no crontab for root

 

2.2、时间格式

 

# f1表示分钟,f2表示小时,f3表示一个月份中的第几日,f4表示月份,f5表示一个星期中的第几天。
# program 表示要执行的程序。
f1 f2 f3 f4 f5 program

# 示例:
# 每一分钟执行一次 /bin/ls:
* * * * * /bin/ls
# 每月每天的午夜 0 点 20 分, 2 点 20 分, 4 点 20 分....执行 echo "haha"
20 0-23/2 * * * echo "haha"
# 每两个小时重启一次apache
0 */2 * * * /sbin/service httpd restart
# 每天7:50开启ssh服务
50 7 * * * /sbin/service sshd start

 

*    *    *    *    *
-    -    -    -    -
|    |    |    |    |
|    |    |    |    +----- 星期中星期几 (0 - 6) (星期天 为0)
|    |    |    +---------- 月份 (1 - 12) 
|    |    +--------------- 一个月中的第几天 (1 - 31)
|    +-------------------- 小时 (0 - 23)
+------------------------- 分钟 (0 - 59)

 

5个占位符说明

项目含义范围
第一个 “*”一小时当中的第几分钟0-59
第二个 “*”一天当中的第几小时0-23
第三个 “*”一个月当中的第几天1-31
第四个 “*”一年当中的第几月1-12
第五个 “*”一周当中的星期几0-7(0和7都代表星期天)

 

特殊符号说明

特殊符号含义
*代表任何时间。比如第一个*表示一个小时中每分钟都执行一次。
,代表不连续的时间。比如 “0 8,12 * * *” 表示每天8:00 ,12:00 执行。
-代表连续的时间范围。比如"0 5 * * 1-6" 表示每周1到周6的 5:00 执行。
*/n代表每隔多久执行一次。比如"*/10 * * * *"表示每隔十分钟执行一次。
  • 当 f1 为 * 时表示每分钟都要执行 program,f2 为 * 时表示每小时都要执行程序,其余类推。

  • 当 f1 为 a-b 时表示从第 a 分钟到第 b 分钟这段时间内要执行,f2 为 a-b 时表示从第 a 到第 b 小时都要执行,其余类推。

  • 当 f1 为 */n 时表示每 n 分钟个时间间隔执行一次,f2 为 */n 表示每 n 小时个时间间隔执行一次,其余类推。

  • 当 f1 为 a, b, c,… 时表示第 a, b, c,… 分钟要执行,f2 为 a, b, c,… 时表示第 a, b, c…个小时要执行,其余类推。

常用时间格式

执行时间时间格式
每分钟定时执行一次* * * * *
每小时定时执行一次0 * * * *
每天定时执行一次0 0 * * *
每周定时执行一次0 0 * * 0
每月定时执行一次0 0 1 * *
每月最后一天定时执行一次0 0 L * *
每年定时执行一次0 0 1 1 *

 

2.3、脚本无法执行问题

 
        如果我们使用 crontab 定时执行脚本无法执行,但如果直接通过命令(如:./test.sh)又可以正常执行,这主要是因为无法读取环境变量的原因。

解决方法:

  • 1、所有命令需要写成绝对路径形式,如: /usr/local/bin/docker

  • 2、在 shell 脚本开头使用以下代码:

    #!/bin/sh
    
    . /etc/profile
    . ~/.bash_profile
    
  • 3、在 /etc/crontab 中添加环境变量,在可执行命令之前添加命令 . /etc/profile;/bin/sh,使得环境变量生效,例如:

    20 03 * * * . /etc/profile;/bin/sh /var/www/runoob/test.sh
    

2.4、案例

 
每分钟将系统时间写到 /usr/zim/cron_test.log 文件中

# 第一步: 新建 /usr/zim/crontab_test.sh 文件
[root@hecs-144144 zim]# cat crontab_test.sh 
date>>/usr/zim/cron_test.log

# 第二步:使用 chmod 744 /usr/zim/crontab_test.sh 赋权。  我这里使用的是 777
[root@hecs-144144 zim]# ls -l
total 8
-rwxrwxrwx 1 root root  30 Aug 27 20:14 crontab_test.sh
-rwxrwxrwx 1 root root 116 Aug 27 20:22 cron_test.log

# 第三步:输入 crontab -e 命令 进入后,点击i ,
# 再输入 */1 * * * *   /usr/zim/crontab_test.sh
# 再点击 ESC ,输入 :wq 
# 出现以下即成功创建
[root@hecs-144144 zim]# crontab -e
no crontab for root - using an empty one
crontab: installing new crontab

# 第四步:重启任务调度
service crond restart

# 第五步:列出当前有哪些任务调度
[root@hecs-144144 zim]# crontab -l
*/1 * * * *   /usr/zim/crontab_test.sh

# 第六步:查看日志验证
[root@hecs-144144 zim]# tail -f cron_test.log 
Sun Aug 27 20:19:26 CST 2023
Sun Aug 27 20:20:26 CST 2023
Sun Aug 27 20:21:26 CST 2023
Sun Aug 27 20:22:27 CST 2023

# 第七步:删除当前任务
[root@hecs-144144 zim]# crontab -r

# 第八步:再列出当前有哪些任务调度
[root@hecs-144144 zim]# crontab -l
no crontab for root

 

3、进程管理

3.1、ps 指令

 

# 查看系统执行的进程,使用 ps 指令
ps [选项]
# 显示当前终端的所有进程信息
ps -a
# 以用户的格式显示进程信息
ps -u
# 显示root进程用户信息
ps -u root
# 显示后台进程运行参数
ps -x
# 一般来讲使用的参数是  ps -aux
ps -aux

[root@myCentos6 ~]# ps -aux
USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root          1  0.2  0.0  19344  1548 ?        Ss   08:07   0:01 /sbin/init
root          2  0.0  0.0      0     0 ?        S    08:07   0:00 [kthreadd]


# 查找指定进程格式:
# ps -ef 是以全格式显示当前所有的进程 -e 显示所有进程  -f 全格式
ps -ef | grep 进程关键字
# 查找指定进程格式:
ps -aux | grep 进程关键字

 

ps 显示的信息选项

字段说明
PID进程识别号
TTY终端机号
TIME此进程所消CPU时间
COMMAND进程执行时的命令行,如果过长会被截断显示
%CPU占用的cpu百分比
%MEM占用内存的百分比
VSZ使用的虚拟内存
STAT进程的状态:S-休眠,s-该进程是会话的先导进程,N-进程拥有比普通进程优先级更低的优先级,r-运行,D-短期等待,Z-僵死进程,T-被跟踪或被停止等等
START启动时间

 

3.2、kill 和 killall 指令

 

# kill 指令通过进程号终止进程
kill [选项] 进程号
# -9 表示强迫进程立即停止
kill -9 进程号
# killall 通过进程名称杀死进程,支持通配符
killall 进程名称

 

3.3、pstree 指令

 

# 查看进程树
pstree [选项]
# 常用选项
  -p :显示进程的PID
  -u :显示进程的所属用户

 

3.4、service 服务管理指令

 
在 Centos7.0后,不再使用 service ,而是使用 systemctl

service 服务名 [start|stop|restart|reload|status]
# 查看当前防火墙的状况(state NEW tcp dpt:22 ),关闭、重启防火墙
service iptables status
[root@myCentos6 ~]# service iptables status
表格:filter
Chain INPUT (policy ACCEPT)
num  target     prot opt source               destination         
1    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED 
2    ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0           
3    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           
4    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:22 
5    REJECT     all  --  0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited 

Chain FORWARD (policy ACCEPT)
num  target     prot opt source               destination         
1    REJECT     all  --  0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited 

Chain OUTPUT (policy ACCEPT)
num  target     prot opt source               destination 

# 关闭防火墙
service iptables stop
# 启动防火墙
service iptables start

 

3.5、chkconfig 指令

 
通过 chkconfig 指令,可以给每个服务的各个运行级别设置自启动/关闭.

注意:chkconfig 重新设置服务后自启动或关闭,需要重启机器 reboot 才能生效。

# 查看服务 
chkconfig -- list | grep XXX

# chkconfig 服务名 --list
chkconfig iptables --list
[root@myCentos6 ~]# chkconfig iptables --list
iptables       	0:关闭	1:关闭	2:启用	3:启用	4:启用	5:启用	6:关闭

# chkconfig --level 5 服务名 on/off
# 将 sshd 服务在运行级别为5 的情况下,不用自启动
chkconfig --level 5 sshd off

# 当运行级别为5 时,关闭防火墙
chkconfig --level 5 iptables off
# 在所有运行级别下,开启防火墙
chkconfig iptables on

服务的运行级别(runlevel)

Linux 系统有7种运行级别,常用的级别是3 和5

  • 运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动

  • 运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登录。

  • 运行级别2:多用户状态(没有NFS),不支持网络。

  • 运行级别3:完全的多用户状态(有NFS),登录后进入控制台命令模式。

  • 运行级别4:系统未使用,保留

  • 运行级别5:X11控制台,登录后进入图形 GUI模式

  • 运行级别6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动。

 

3.6、top 指令

 
        top 指令是常用来查看系统信息的一个指令,它提供了一个动态的而且是实时的接口,帮助我们去查看系统执行时的进程、线程和系统参数的信息。

# 基本语法
top [选项]
# 指定系统状态更新的时间(每隔10s 自动更新,默认是3s)
top -d 10

[root@myCentos6 ~]# top -d 10
top - 09:54:37 up 18 min,  2 users,  load average: 0.22, 0.27, 0.23
Tasks: 193 total,   1 running, 192 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.0%us,  0.0%sy,  0.0%ni, 99.9%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   2038376k total,   729048k used,  1309328k free,    28480k buffers
Swap:  2097148k total,        0k used,  2097148k free,   376260k cached

   PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                                             
 13487 root      20   0  173m 7964 4540 S  0.2  0.4   0:01.40 vmtoolsd                                                                               
 14617 root      20   0  293m  17m  14m S  0.2  0.9   0:01.46 vmtoolsd                                                                                  
    19 root      20   0     0    0    0 S  0.1  0.0   0:01.00 events/0                                                                                  
 14996 root      20   0 15032 1312  940 R  0.1  0.1   0:00.11 top                                                                                       
     1 root      20   0 19348 1544 1228 S  0.0  0.1   0:01.87 init                                                                                      
     2 root      20   0     0    0    0 S  0.0  0.0   0:00.01 kthreadd                                                                                  
     3 root      RT   0     0    0    0 S  0.0  0.0   0:00.02 migration/0      

 
总体系统信息:

  • uptime:系统的运行时间和平均负载。
  • tasks:当前运行的进程和线程数目。
  • CPU:总体 CPU 使用率和各个核心的使用情况。
  • 内存(Memory):总体内存使用情况、可用内存和缓存。

进程信息:

列头说明
PID进程的标识符
USER运行进程的用户名。
PR(优先级)进程的优先级。
NI(Nice值)进程的优先级调整值。
VIRT(虚拟内存)进程使用的虚拟内存大小。
RES(常驻内存)进程实际使用的物理内存大小。
SHR(共享内存)进程共享的内存大小。
%CPU进程占用 CPU 的使用率。
%MEM进程占用内存的使用率。
TIME+进程的累计 CPU 时间。

 
选项说明

选项功能
-d<秒数>:指定 top 命令的刷新时间间隔,单位为秒,默认3秒。
-i不显示闲置(idle)或无用的进程。
-p<进程ID>:仅显示指定进程ID的信息
-c显示完整的命令行而不截断。
-n<次数>:指定 top 命令运行的次数后自动退出。

 
交互操作说明

操作功能
P以CPU使用率排序,默认就是此项
M以内存的使用率排序
N以PID 排序
q退出top
k输入k回车,再输入要结束的进程ID号,可以终止指定的进程。

3.7、netstat 指令

 

# netstat 命令用于显示网络状态。
# 基本语法
netstat [选项]
# 常用选项
  -an : 按一定的顺序排列输出
  -p  :  显示哪个进程在调用
  
[root@hecs-144144 ~]# netstat -anp
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:6379            0.0.0.0:*               LISTEN      20570/./redis-serve 
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      461774/sshd         
Active UNIX domain sockets (servers and established)
Proto RefCnt Flags       Type       State         I-Node   PID/Program name     Path
unix  3      [ ]         DGRAM                    11550    1/systemd            /run/systemd/notify
unix  2      [ ]         DGRAM                    11552    1/systemd            /run/systemd/cgroups-agent
unix  2      [ ACC ]     STREAM     LISTENING     108115   25251/mysqld         /var/lib/mysql/mysql.sock
Active Bluetooth connections (servers and established)
Proto  Destination       Source            State         PSM DCID   SCID      IMTU    OMTU Security
Proto  Destination       Source            State     Channel  

# netstat -anp | grep nacos  

 

4、软件包管理

 

4.1、rpm 包管理

 
RPM软件包管理器Red-Hat package Manager,详细记录软件包安装、卸载、升级等变化信息。
 

# 查询已安装的 rpm 列表
rpm -qa
[root@myCentos6 ~]# rpm -qa
system-config-firewall-base-1.2.27-7.2.el6_6.noarch
m17n-db-oriya-1.5.5-1.1.el6.noarch
avahi-ui-0.6.25-15.el6.x86_64

# 查询具体已安装的包
rpm -qa | grep xxx
[root@myCentos6 ~]# rpm -qa | grep  setup
setup-2.8.14-20.el6_4.1.noarch
setuptool-1.19.9-4.el6.x86_64
cryptsetup-luks-libs-1.2.0-11.el6.x86_64
system-setup-keyboard-0.7-4.el6.x86_64

# 查询软件包是否安装
rpm -q 软件包名
# 查询软件包信息
rpm -qi 软件包名

[root@myCentos6 ~]# rpm -qi setup
Name        : setup                        Relocations: (not relocatable)
Version     : 2.8.14                            Vendor: CentOS
Release     : 20.el6_4.1                    Build Date: 2013年10月02日 星期三 17时06分19秒
Install Date: 2023年08月24日 星期四 01时10分42秒      Build Host: c6b10.bsys.dev.centos.org
Group       : System Environment/Base       Source RPM: setup-2.8.14-20.el6_4.1.src.rpm
Size        : 666477                           License: Public Domain
Signature   : RSA/SHA1, 2013年10月02日 星期三 19时15分22秒, Key ID 0946fca2c105b9de
Packager    : CentOS BuildSystem <http://bugs.centos.org>
URL         : https://fedorahosted.org/setup/
Summary     : A set of system configuration and setup files
Description :
The setup package contains a set of important system configuration and
setup files, such as passwd, group, and profile.

# 查询文件所属的软件包 例子:rpm -qf /etc/paswd
rpm -qf 文件全路径名 

# 卸载 rpm 包 基本语法(如果其他软件依赖当前需要卸载的软件包,卸载时会产生错误信息)
rpm -e 包名称
# 卸载示例:卸载火狐浏览器
rpm -e firefox

# 安装 rpm 包,基本语法
rpm -ivh 包的全路劲名称
# 参数说明
  i : install 安装
  v : verbose 提示
  h : hash 进度条
  
# 安装 firefox rpm包示例
rpm -ivh firefox-45.0.1-1.el6.centos.x86_64.rpm

 

4.2、yum 前端软件包管理器

 
yum 是一个shell 前端软件包管理器,yum 管理的前提是可以联网。
 

# 查询 yum 服务器是否有需要安装的软件列表
yum list | grep xx
# 示例:
yum list | grep firefox
# 下载安装指定的 yum 包
yum install xxx

 
 
 
 
 
 
 
 
 
.

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

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

相关文章

《开发实战》12 | 异常处理:别让自己在出问题的时候变为瞎子

12 | 异常处理&#xff1a;别让自己在出问题的时候变为瞎子 捕获和处理异常容易犯的错 “统一异常处理”方式正是我要说的第一个错&#xff1a;不在业务代码层面考虑异常处理&#xff0c;仅在框架层面粗犷捕获和处理异常。为了理解错在何处&#xff0c;先看看大多数业务应用都…

python学习2之sublime text编辑器安装配置使用

1、在windows系统中使用sublime text 下载地址 https://www.sublimetext.com/3 2、在sublime text中运行python程序 代码运行可选择菜单Tools->Build或者按CtrlB 3、定制sublime text的设置 3.1将制表符转换为空格 选择菜单view->indentation,核实选择了复选框indent u…

【1++的数据结构】之AVL树

&#x1f44d;作者主页&#xff1a;进击的1 &#x1f929; 专栏链接&#xff1a;【1的数据结构】 文章目录 一&#xff0c;什么是AVL树二&#xff0c;AVL树的插入三&#xff0c;AVL树的旋转3.1 向左旋转3.2 向右旋转3.3 左右双旋3.4 右左双旋 四&#xff0c;验证AVL树是否平衡 …

前端学习之轮播图

前端学习之轮播图 该案例涉及到定时器的使用&#xff0c;元素的活获取&#xff0c;函数的调用等知识的运用 显示图如下&#xff1a;可以点击图标跳转图片&#xff0c;也可以自动轮播 源码如下 <!DOCTYPE html> <html><head><meta charset"UTF-8&q…

监控抽烟检测识别算法

监控抽烟检测识别算法采用yolov7系列网络模型深度学习图像识别技术&#xff0c;监控抽烟检测识别算法能够准确识别人员抽烟的动作和烟雾&#xff0c;监控抽烟检测识别算法一旦发现有人员在禁烟区域内抽烟&#xff0c;将立即触发预警。YOLO的结构非常简单&#xff0c;就是单纯的…

正中优配:“核污染防治”炒作按下暂停键, 中电环保、建龙微纳大跌

连日大涨的核污染防治炒作“步伐”放缓。 8月29日上午&#xff0c;核污染防治概念股多数低开&#xff0c;截止到午间休市&#xff0c;此前4个交易日累计涨超80%的中电环保&#xff08;300172.SZ&#xff09;大跌6.76%。 8月28日晚间&#xff0c;中电环保发布异动公告&#xff…

遗传算法决策变量降维的matlab实现

1.案例背景 1.1遗传算法概述 遗传算法是模拟达尔文生物进化论的自然选择和遗传学机理的生物进化过程的计算模型,是一种通过模拟自然进化过程搜索最优解的方法。它最初由美国Michigan大学的J. Holland教授提出,1967年, Holland 教授的学生 Bagley在其博士论文中首次提出了“遗传…

三电平离网逆变器接不平衡负载仿真

文章目录 **0、系统框图****1、纯阻性负载R****2、纯感性负载L****3、纯容性负载C****4、 RL负载****5、RC负载****6、CL负载****7、RLC负载** 0、系统框图 闭环控制 PWM调制 逆变桥 LCL滤波电路 负载&#xff08;可配置&#xff09; 坐标变换&#xff08;采样得到&#xff09;…

SAP_ABAP_FUNCTION_ALV案例

SAP ABAP顾问能力模型梳理_企业数字化建设者的博客-CSDN博客SAP Abap顾问能力模型https://blog.csdn.net/java_zhong1990/article/details/132469977 一、Function ALV 1.1 基于退货采购订单创建&#xff0c;解释 FUNCTION_ALV开发的程序结构与代码模板参考 1.2 程序结构 to…

ORA-00604 ORA-00069报错

在测试环境上删除用户&#xff0c;报错如下 rop user "USR_EOS" cascade; * ERROR at line 1: ORA-00604: error occurred at recursive SQL level 1 ORA-00069: cannot acquire lock -- table locks disabled for T_EMPLOYEE 解决方法 alter table USR_EOS.T_EMPL…

运维架构师:驱动企业运维向高效发展“

运维架构师是高级运维工程师的角色&#xff0c;主要负责运维工作的策划和执行。他们需要熟练掌握开源工具&#xff0c;但更重要的是运用思维来进行运维工作&#xff0c;实现DevOps理念和解决各种企业运营中的挑战。他们的职责包括设计各种运维解决方案&#xff0c;例如自动化代…

Python框架【模板继承、继承模板实战、装饰器、蓝图(介绍、单文件、目录结构、模版文件、静态文件 url_for函数子域名实现)】(五)

&#x1f44f;作者简介&#xff1a;大家好&#xff0c;我是爱敲代码的小王&#xff0c;CSDN博客博主,Python小白 &#x1f4d5;系列专栏&#xff1a;python入门到实战、Python爬虫开发、Python办公自动化、Python数据分析、Python前后端开发 &#x1f4e7;如果文章知识点有错误…

深入解析SNMP协议及其在网络设备管理中的应用

SNMP&#xff08;Simple Network Management Protocol&#xff0c;简单网络管理协议&#xff09;作为一种用于网络设备管理的协议&#xff0c;在实现网络设备的监控、配置和故障排除方面发挥着重要的作用。本文将深入解析SNMP协议的工作原理、重要概念和功能&#xff0c;并探讨…

回首一路坎坷,献给刚入测试的你

恍惚间&#xff0c;已经进入测试岗位四年多的时间了&#xff0c;回顾过往&#xff0c;思绪良多&#xff0c;一路走来&#xff0c;或多或少的经历了一些坎坷&#xff0c;也遇到了不少的困难&#xff0c;也曾四顾迷茫&#xff0c;在此&#xff0c;我结合了自己的一些心得&#xf…

【实训项目】精点考研

1.设计摘要 如果说高考是一次能够改变命运的考试&#xff0c;那么考研应该是另外一次。为什么那么多人都要考研呢&#xff1f;从中国教育在线官方公布是考研动机调查来看&#xff0c;大家扎堆考研的原因大概集中在这6个方面&#xff1a;本科就业压力大&#xff0c;提升竞争力、…

C++ 面试题(一)--C++基础,面向对象,内存管理

目录 1.part1 C基础 1 C特点 2 说说C语言和C的区别 3 说说 C中 struct 和 class 的区别 4 include头文件的顺序以及双引号""和尖括号<>的区别 5 说说C结构体和C结构体的区别 6 导入C函数的关键字是什么&#xff0c;C编译时和C有什么不同&#xff1f; 7…

Tomcat安装及基本使用

1. 什么是Web服务器 Web服务器是一种应用程序&#xff08;软件&#xff09;&#xff0c;它封装了对HTTP协议的操作&#xff0c;使得开发人员无需直接操作协议&#xff0c;从而简化了Web开发。其主要功能是提供网上信息浏览服务。 Web服务器安装在服务器端&#xff0c;我们可以…

JavaWeb 速通JSON

目录 一、JSON快速入门 1.基本介绍 : 2.定义格式 : 3.入门案例 : 二、JSON对象和字符串的相互转换 1.常用方法 : 2.应用实例 : 3.使用细节 : 三、JSON在Java中的使用 1.基本说明 : 2.应用场景 : 2.1 JSON <---> JavaBean 2.2 JSON <---> List 2.3 JSON …

java对时间序列根据阈值进行连续性分片

问题描述&#xff1a;我需要对一个连续的时间戳list进行分片&#xff0c;分片规则是下一个数据比当前数据要大于某一个阈值则进行分片&#xff1b; 解决方式&#xff1a; 1、输入的有顺序的list &#xff0c;和需要进行分片的阈值 2、调用方法&#xff0c;填入该排序的list和阈…

非煤矿山风险监测预警算法 yolov8

非煤矿山风险监测预警算法通过yolov8网络模型深度学习算法框架&#xff0c;非煤矿山风险监测预警算法在煤矿关键地点安装摄像机等设备利用智能化视频识别技术&#xff0c;能够实时分析人员出入井口的情况&#xff0c;人数变化并检测作业状态。YOLO的结构非常简单&#xff0c;就…