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

Linux命令——3.网络与用户

文章目录

  • 一、网络
    • 1.网络测试与诊断
    • 2.网络接口配置
    • 3.无线网络配置
    • 4.防火墙与网络管理
    • 6.防火墙管理
      • 1)`firewalld`命令
      • 2)`iptables`命令
  • 二、用户和群组
    • 1.管理员模式
    • 2.用户账户管理
      • 1)`useradd`创建
      • 2)`usermod`修改
      • 3)`userdel` 删除
      • 4)常用命令
        • (1)切换用户
        • (2)查看所有用户
    • 3.用户组管理
    • 4.权限管理
      • 1)权限标识的结构
        • (1)权限符号
        • (2)权限进制表示
        • (3)权限组
      • 2)chmod 命令修改权限
        • (1)数字方式
        • (2)字母方式
        • (3)其他用法
      • 3)特殊权限命令

一、网络

1.网络测试与诊断

请添加图片描述

指令解析
ping ip地址测试网络是否正常连接
traceroute ip地址跟踪数据包到达目的地的路径
netstat -rn显示路由表信息
nslookup domain查询域名的DNS信息
dig domain查询域名信息和解析

2.网络接口配置

指令解析
ifconfig显示或配置网络接口(较旧,已被 ip 命令替代)
ifconfig eth0显示eth0网卡的配置
ifconfig eth0 192.168.1.1 netmask 255.255.255.0配置eth0网卡的IP地址和子网掩码
ifdown eth0禁用eth0网络设备
ifup eth0启用eth0网络设备
ip addr show显示所有网络接口的IP地址
ip addr add 192.168.1.1/24 dev eth0配置eth0网卡的IP地址和子网掩码
ip link set eth0 up启用eth0网络接口
ip link set eth0 down禁用eth0网络接口

3.无线网络配置

指令解析
iwconfig显示或配置无线网络接口
iwconfig eth1显示eth1无线网卡的配置
iwlist scan扫描附近的无线网络
nmcli device wifi list列出可用的Wi-Fi网络
nmcli device wifi connect SSID password PASS连接到指定的Wi-Fi网络

4.防火墙与网络管理

指令解析
firewall-cmd --state检查防火墙状态
firewall-cmd --list-all列出当前防火墙配置
firewall-cmd --add-port=80/tcp --permanent添加防火墙规则,允许80端口(永久)
firewall-cmd --reload重新加载防火墙规则
systemctl status NetworkManager查看NetworkManager服务状态
systemctl restart NetworkManager重启NetworkManager服务
hostname显示或设置系统主机名
hostnamectl set-hostname newhostname设置新的系统主机名

6.防火墙管理

  • firewalld 是动态防火墙管理工具,支持区域和服务的概念,使用更现代的管理方式。
  • iptables 是传统的防火墙管理工具,提供了更细粒度的控制,适合有深度需求的用户。

选择 firewalld 还是 iptables 主要取决于用户的需求和使用习惯。firewalld 提供了更易于管理和动态调整的方式,而 iptables 则提供了更直接的防火墙控制。

1)firewalld命令

在其他许多现代 Linux 发行版中,firewalld 是默认的防火墙管理工具。它提供了一种动态管理防火墙规则的方式,可以在不中断连接的情况下应用新的规则。以下是 firewalld 以及一些传统的 iptables 命令的详细说明。

  • 区域 (Zone): 定义了允许和拒绝的规则集。系统预定义了几个区域,如 publichomework 等。
  • 服务 (Service): 定义了要允许或拒绝的服务,如 HTTP、HTTPS、SSH 等。
  • 永久性 (Permanent): firewalld 区分即时规则和永久规则。即时规则只在系统运行时有效,而永久规则在系统重启后依然有效。
  1. 启动、停止和重启 firewalld

    sudo systemctl start firewalld     # 启动防火墙服务
    sudo systemctl stop firewalld      # 停止防火墙服务
    sudo systemctl restart firewalld   # 重启防火墙服务
    sudo systemctl enable firewalld    # 设置防火墙开机启动
    sudo systemctl disable firewalld   # 禁止防火墙开机启动
    
  2. 查看状态

    sudo firewall-cmd --state
    
  3. 列出所有区域

    sudo firewall-cmd --get-zones
    
  4. 查看活动区域

    sudo firewall-cmd --get-active-zones
    
  5. 查看当前区域的规则

    sudo firewall-cmd --list-all
    
  6. 查看指定区域的规则

    sudo firewall-cmd --zone=public --list-all
    
  7. 添加服务到某个区域

    sudo firewall-cmd --zone=public --add-service=http
    

    添加 http 服务到 public 区域。若要永久添加,需加上 --permanent 选项。

  8. 移除服务

    sudo firewall-cmd --zone=public --remove-service=http
    
  9. 开放特定端口

    sudo firewall-cmd --zone=public --add-port=8080/tcp
    

    开放 8080 端口的 TCP 协议。

  10. 移除端口

    sudo firewall-cmd --zone=public --remove-port=8080/tcp
    
  11. 重新加载规则

    sudo firewall-cmd --reload
    

    重新加载永久规则,使之生效。

  12. 永久添加规则
    在添加或移除服务、端口等操作时,如果希望规则永久生效,需要加上 --permanent 选项,然后 reload

  13. 查看防火墙设置

    sudo firewall-cmd --list-all
    

    显示所有的设置,包括开放的端口、服务等。

2)iptables命令

iptables 是传统的 Linux 内核防火墙工具,它操作的规则直接作用于内核的 netfilter 模块。尽管 firewalld 是现代系统的默认工具,iptables 仍然被广泛使用。

  1. 查看规则

    sudo iptables -L
    

    列出所有的防火墙规则。

  2. 添加规则

    sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
    

    允许 HTTP 流量(端口 80)。

  3. 删除规则

    sudo iptables -D INPUT -p tcp --dport 80 -j ACCEPT
    

    删除允许 HTTP 流量的规则。

  4. 保存规则

    sudo iptables-save > /etc/iptables/rules.v4
    

    将当前规则保存到文件。

  5. 加载规则

    sudo iptables-restore < /etc/iptables/rules.v4
    

    从文件中加载规则。

二、用户和群组

这些命令用于管理用户、用户组以及文件和目录的权限。可以根据需要进行用户添加、删除、密码修改、组管理和权限设置等操作。

1.管理员模式

命令解释
su root用管理员身份进入
logout退出管理员模式

logout

  • 功能:注销当前用户会话。
  • 用法:直接输入 logout 并按回车键。
  • 特点
    • 通常用于退出登录 shell 会话。
    • 主要用于登录 shell(例如通过 SSH 或控制台登录的会话)。
    • 执行 logout 命令时,会运行 ~/.bash_logout 文件中的命令(如果存在)

exit区别:

  • 适用范围exit 可以用于任何 shell 会话,而 logout 通常用于登录 shell 会话。
  • 行为差异logout 会执行 ~/.bash_logout 文件中的命令,而 exit 不会。
  • 退出状态exit 可以接受一个退出状态码,而 logout 通常不接受参数。

2.用户账户管理

指令解析
who查看当前登录系统的用户
cat etc/passwd查看用户信息
passwd user1修改用户user1的密码(需root权限)
chage -E 2005-12-31 user1设置用户user1密码的失效日期为2005-12-31
useradd user1创建一个新用户user1
useradd -c "Name Surname" -g admin -d /home/user1 -s /bin/bash user1创建一个属于"admin"用户组的新用户user1,并指定详细信息、主目录和Shell
userdel -r user1删除用户user1及其主目录

1)useradd创建

useradd 是 Linux 系统中用于创建新用户账户的命令。它允许系统管理员轻松地添加新用户,并提供各种可定制的选项。以下是 useradd 命令的详细解释:

useradd [选项] 用户名

常用选项和参数

选项描述示例
-d指定用户的主目录useradd -d /home/test_user test_user
-m创建用户的主目录useradd -m test_user
-u指定用户的用户ID (UID)useradd -u 1234 test_user
-g指定用户的主组useradd -g group_name test_user
-G指定用户的附加组useradd -G group1,group2 test_user
-s指定用户的登录shelluseradd -s /bin/bash test_user
-c添加用户的注释或描述useradd -c "This is a test user" test_user
-e设置用户账户的过期日期useradd -e 2024-12-31 test_user
-f设置用户密码过期后账户被禁用的天数useradd -f 30 test_user
-M不创建用户的主目录useradd -M test_user

示例:

  1. 添加新用户

    sudo useradd test_user
    

    这个命令会添加一个名为 test_user 的新用户。

  2. 指定用户的主目录

    sudo useradd -d /home/test_user test_user
    

    这个命令会将新用户的主目录设置为 /home/test_user

  3. 创建用户并指定用户ID

    sudo useradd -u 1234 test_user
    

    这个命令会创建一个用户ID为 1234 的新用户。

  4. 创建用户并指定主组和附加组

    sudo useradd -g group_name -G group1,group2 test_user
    

    这个命令会将新用户添加到主组 group_name 和附加组 group1,group2

  5. 设置用户的登录shell

    sudo useradd -s /bin/bash test_user
    

    这个命令会将新用户的登录shell设置为 /bin/bash

  6. 添加用户的注释或描述

    sudo useradd -c "This is a test user" test_user
    

    这个命令会为新用户添加注释 “This is a test user”。

  7. 设置用户账户的过期日期

    sudo useradd -e 2024-12-31 test_user
    

    这个命令会将新用户账户的过期日期设置为 2024 年 12 月 31 日。

  8. 不创建用户的主目录

    sudo useradd -M test_user
    

    这个命令会创建一个没有主目录的用户。

2)usermod修改

usermod 命令是 Linux 系统中用于修改用户账户属性的命令。它允许系统管理员更改用户的多种属性,如用户名、用户ID、用户组、主目录等。下面详细介绍 usermod 的使用方法及常用选项:

usermod [选项] 用户名
  • 选项:用于指定要修改的属性。
  • 用户名:要修改的用户账户的名称。

注意:

  • 修改用户账户属性时,必须具有超级用户权限(root 权限)。
  • 更改用户的主目录或用户名等关键属性时,建议在单用户模式或用户未登录时进行,以避免对系统造成干扰。
  • usermod 不会更新用户的家目录中的文件和目录名,这意味着手动更改用户主目录后,仍需手动更新目录内容。
选项描述示例
-l修改用户的登录名usermod -l 新用户名 旧用户名
-u修改用户的ID。新用户ID应是唯一的,且未被其他用户使用usermod -u 新用户ID 用户名
-d更改用户的主目录。注意,这不会移动现有的文件,需要使用 -m 选项来移动内容usermod -d 新主目录 用户名
-m使用 -m 选项将当前主目录的内容移到新的主目录usermod -d 新主目录 -m 用户名
-s修改用户的登录shellusermod -s /bin/bash 用户名
-g修改用户的主组usermod -g 组名 用户名
-G添加用户到多个附加组,组名之间用逗号分隔。注意,这会替换用户当前的所有附加组usermod -G group1,group2 用户名
-aG使用 -a 选项表示追加附加组而不是替换usermod -aG group1,group2 用户名
-L锁定用户账户,禁止用户登录usermod -L 用户名
-U解锁已锁定的用户账户usermod -U 用户名
-e设置用户账户的过期日期。格式为 YYYY-MM-DDusermod -e YYYY-MM-DD 用户名
-f设置用户密码过期后,账户被禁用的天数usermod -f 过期天数 用户名

示例:

  1. 更改用户名

    sudo usermod -l new_username old_username
    

    这个命令会将用户的登录名从 old_username 更改为 new_username

  2. 更改用户ID

    sudo usermod -u 1234 username
    

    这个命令会将用户 username 的用户ID更改为 1234

  3. 更改主目录并移动内容

    sudo usermod -d /new/home -m username
    

    这个命令会将用户 username 的主目录更改为 /new/home 并移动现有内容。

  4. 更改默认shell

    sudo usermod -s /bin/zsh username
    

    这个命令会将用户 username 的登录shell更改为 /bin/zsh

  5. 添加用户到附加组

    sudo usermod -aG group1,group2 username
    

    这个命令会将用户 username 添加到 group1group2 附加组。

  6. 锁定和解锁用户账户

    sudo usermod -L username  # 锁定账户
    sudo usermod -U username  # 解锁账户
    

    这些命令分别用于锁定和解锁用户 username 的账户。

  7. 设置用户账户的有效期限

    sudo usermod -e 2024-12-31 username
    

    这个命令会将用户 username 的账户过期日期设置为 2024 年 12 月 31 日。

3)userdel 删除

userdel 是 Linux 系统中用于删除用户账户的命令。它允许系统管理员删除用户及其相关文件。以下是 userdel 命令的详细解释:

userdel [选项] 用户名

常用选项和参数:

选项描述示例
-f强制删除用户账户及其主目录,即使用户正在登录userdel -f 用户名
-r删除用户账户及其主目录和邮件存储userdel -r 用户名
-h显示帮助信息并退出userdel -h
-R在指定的 CHROOT_DIR 中应用更改userdel -R /path/to/chroot 用户名
-Z删除用户的 SELinux 用户映射(适用于启用了 SELinux 的系统)userdel -Z 用户名

示例:

  1. 删除用户

    sudo userdel 用户名
    

    这个命令会删除指定的用户账户。

  2. 强制删除用户

    sudo userdel -f 用户名
    

    这个命令会强制删除用户账户及其主目录,即使用户正在登录。

  3. 删除用户及其主目录

    sudo userdel -r 用户名
    

    这个命令会删除用户账户及其主目录和邮件存储。

  4. 在 chroot 环境中删除用户

    sudo userdel -R /path/to/chroot 用户名
    

    这个命令会在指定的 chroot 环境中删除用户。

  5. 删除用户的 SELinux 用户映射

    sudo userdel -Z 用户名
    

    这个命令会删除用户的 SELinux 用户映射。

userdel 命令是一个低级工具,用于从系统中删除用户账户及其相关文件。使用该命令时需要具备管理员权限。

4)常用命令

(1)切换用户

在 CentOS 中,你可以使用 su 命令来切换用户。以下是具体步骤:

  1. 切换到其他用户

    su - 用户名
    

    例如,要切换到 john 用户,输入:

    su - john
    

    然后输入 john 用户的密码。

  2. 切换到 root 用户

    su -
    

    或者:

    su - root
    

    然后输入 root 用户的密码。

  3. 从 root 用户切换到普通用户

    su - 用户名
    

    例如,要从 root 切换到 john 用户,输入:

    su - john
    

使用 su - 命令不仅切换用户身份,还会切换到目标用户的环境,这样可以避免环境变量错误。如果你有其他问题或需要进一步的帮助,请告诉我!¹²³

(2)查看所有用户

在 CentOS 中,你可以通过以下几种方法查看所有用户:

  1. 查看 /etc/passwd 文件
    这个文件包含系统中所有用户的信息。你可以使用 cat 命令来查看:

    cat /etc/passwd
    

    这将显示所有用户的详细信息。

  2. 使用 lessmore 命令
    如果用户很多,可以使用 lessmore 命令分页查看:

    less /etc/passwd
    

    或者:

    more /etc/passwd
    
  3. 使用 awk 命令
    只显示用户名而不包含其他信息:

    awk -F':' '{ print $1}' /etc/passwd
    
  4. 使用 getent 命令
    这个命令可以从系统数据库中获取用户信息:

    getent passwd
    

3.用户组管理

指令解析
groupadd group_name创建一个新用户组
groupdel group_name删除一个用户组
groupmod -n new_group_name old_group_name重命名一个用户组

4.权限管理

1)权限标识的结构

通过ls -l命令可以查看文件类型,下列第一个字母后的字母就是文件权限

[mcjy@localhost etc]$ ls -l
总用量 1304
drwxr-xr-x.  3 root root        28  7月 28 01:04 accountsservice
-rw-r--r--.  1 root root        16  7月 28 01:09 adjtime

在 Linux 系统中,文件和目录的权限标识由 10 个字符组成,前三个字符表示文件类型和权限,后九个字符分为三组,每组三个字符,分别表示文件所有者、文件所属组和其他用户的权限。以下是详细解释:

  1. 第一个字符:表示文件类型
    • -:普通文件
    • d:目录
    • l:符号链接
    • c:字符设备文件
    • b:块设备文件
  2. 后三组字符:每组三个字符,分别表示读(r)、写(w)和执行(x)权限
    • 第一组:文件所有者的权限
    • 第二组:文件所属组的权限
    • 第三组:其他用户的权限
字符位置含义示例解释
1文件类型d目录
2-4文件所有者权限rwx读、写、执行
5-7文件所属组权限r-x读、执行
8-10其他用户权限r-x读、执行

drwxr-xr-x 为例:

  • 第一个字符 d:表示这是一个目录。
  • 第一组 rwx:表示文件所有者(root)有读、写和执行权限。
  • 第二组 r-x:表示文件所属组(root)有读和执行权限,但没有写权限。
  • 第三组 r-x:表示其他用户有读和执行权限,但没有写权限。
(1)权限符号
符号说明含义数字表示
r可读(read)4
w可写(write)2
x可执行(execute)1
-无权限0

权限设置案例

权限符号数字表示含义
0无任何权限
–x1仅执行权限
-w-2仅写权限
-wx3写和执行权限
r–4仅读权限
r-x5读和执行权限
rw-6读和写权限
rwx7读、写和执行权限
(2)权限进制表示
权限二进制八进制
rwx1117
r-x1015
rw-1106
r--1004
---0000

计算权限的八进制表示

  • r = 4w = 2x = 1
  • 权限 rwx 转换为二进制 111,再转为八进制 7
  • 权限 r-x 转换为二进制 101,再转为八进制 5

权限字符串 drwxr-xr-x 解释:

  • d 表示目录。
  • rwx 是拥有者的权限,表示拥有者可以读、写、执行。
  • r-x 是所属组的权限,表示所属组成员可以读、执行,但不能写。
  • r-x 是其他人的权限,表示其他人可以读、执行,但不能写。

这个表格概述了文件权限和类型的基本信息,以及如何使用符号表示不同的权限和文件类型。

(3)权限组

在 Linux 中,每个文件或目录都有三个不同的权限组:所有者(Owner)、组(Group)和其他人(Others)。chmod 命令可以使用数字(八进制)或字母来设置这些权限。

u表示拥有者 ; g表示所属组 ; o表示其他用户 ; a表示所有的权限

用户分类描述
拥有者 (Owner)文件的创建者或所有者,通常拥有最高权限。
所属组 (Group)文件所属的用户组,组内用户共享特定的权限。
其他人 (Others)系统中所有其他用户。

2)chmod 命令修改权限

chmod 是 Linux 中用于更改文件或目录权限的命令。权限主要包括读(Read, r)、写(Write, w)和执行(Execute, x)。

(1)数字方式

数字方式使用三位数,每位数分别代表所有者、组和其他人的权限。例如:

  • chmod 755 filename 表示设置文件 filename 的权限为所有者有读、写、执行权限,组和其他人有读、执行权限。
(2)字母方式

字母方式使用符号表示权限和目标用户(所有者、组、其他人)。例如:

符号含义
u所有者(User)
g组(Group)
o其他人(Others)
a所有用户(All)
+增加权限
-移除权限
=设置为特定权限

示例:

  • chmod u+x filename 为文件 filename 的所有者增加执行权限。
  • chmod go-rw filename 移除文件 filename 中组和其他人的读写权限。
命令说明
chmod 644 file设置文件权限为所有者读写,组和其他人只读
chmod 700 script.sh设置脚本文件的所有者为读写执行,组和其他人无权限
chmod u=rwx,g=rx,o= file设置所有者读写执行,组读执行,其他人无权限

使用 chmod 命令时要特别注意,设置不当可能导致文件或目录无法访问或被错误使用。

(3)其他用法
所有者和组管理命令解析
chown user1 file1改变文件file1的所有者为user1
chown -R user1 directory1递归改变目录directory1及其下所有文件的所有者为user1
chgrp group1 file1改变文件file1的所属组为group1
chown user1:group1 file1改变文件file1的所有者为user1和所属组为group1
find / -perm -u+s罗列系统中所有使用了SUID权限的文件

3)特殊权限命令

  • SUID(Set User ID): 当文件具有 SUID 位时,执行该文件的用户将临时具有文件所有者的权限。适用于需要权限提升的程序,例如 /usr/bin/passwd
  • SGID(Set Group ID): 当目录具有 SGID 位时,新创建的文件将继承目录的组属性,而不是继承创建者的主组属性。
  • 粘滞位(Sticky Bit): 当目录设置了粘滞位时,即使其他用户具有写权限,他们也只能删除自己拥有的文件。这在共享目录中很有用,例如 /tmp 目录。
指令解析
ls -lh以长格式显示目录内容,包括文件的权限、所有者、组、大小和最后修改时间。
chmod u+s /bin/file1设置文件 /bin/file1 的 SUID 位。当普通用户执行此文件时,将临时获得文件所有者的权限。SUID 的符号为 s
chmod u-s /bin/file1禁用文件 /bin/file1 的 SUID 位。
chmod g+s /home/public设置目录 /home/public 的 SGID 位。新建文件将继承目录的组权限。SGID 的符号为 s
chmod g-s /home/public禁用目录 /home/public 的 SGID 位。
chmod o+t /home/public设置目录 /home/public 的粘滞位(Sticky Bit)。只有文件所有者或根用户才能删除该目录中的文件。粘滞位的符号为 t
chmod o-t /home/public禁用目录 /home/public 的粘滞位。
chmod 777 directory1设置目录 directory1 对所有用户开放读(r)、写(w)和执行(x)权限。
chmod 700 directory1设置目录 directory1 仅对所有者开放读、写和执行权限。

相关文章:

Linux命令——3.网络与用户

文章目录 一、网络1.网络测试与诊断2.网络接口配置3.无线网络配置4.防火墙与网络管理6.防火墙管理1&#xff09;firewalld命令2&#xff09;iptables命令 二、用户和群组1.管理员模式2.用户账户管理1&#xff09;useradd创建2&#xff09;usermod修改3&#xff09;userdel 删除…...

2、redis的持久化

redis的持久化 在redist当中&#xff0c;高可用的技术包括持久化&#xff0c;主从复制&#xff0c;哨兵模式&#xff0c;集群。 持久化是最简单的高可用的方法&#xff0c;作用就是备份数据。即将数据保存到硬盘&#xff0c;防止进程退出导致数据丢失。 redis持久化方式&…...

建造者模式 Builder Pattern

在创建一个对象的时候&#xff0c;构造器参数有点多&#xff0c;而且有些参数还是可选的&#xff0c;再者还有不少同类型的&#xff0c;那就更应该使用 builder 模式了。 使用 Builder 模式的初衷是 把易变性&#xff08;mutability&#xff09;移动到Builder类&#xff0c;而…...

制作一个类似ChatGPT的AI对话网站,模型能力使用ChatGPT

要快速搭建一个类似ChatGPT的AI对话网站&#xff0c;并且使用类似ChatGPT的模型能力&#xff0c;可以考虑以下技术和工具&#xff1a; ### 1. **使用现有的AI模型平台** - **OpenAI API**: 如果你希望使用类似于ChatGPT的能力&#xff0c;OpenAI提供了强大的API服务&#xff08…...

LinuxC高级day2

1.在家目录下创建目录文件&#xff0c;dir a.dir下创建dir1和dir2 b.把当前目录下的所有文件拷贝到dir1中&#xff0c; c.把当前目录下的所有脚本文件拷贝到dir2中 d.把dir2打包并压缩为dir2.tar.xz e.再把dir2.tar.xz移动到dir1中 f.解压dir1中的压缩包 g.使用tree工具&#x…...

Word格式修改

经常修改格式&#xff0c;留下这篇汇总 Word的累加符号上下标变右标指定目录&#xff1a;word如何取消封面或者目录下方的页码&#xff0c;页码从正文开始加参考文献&#xff1a;【Word】怎样给论文添加引用参考文献删空白页&#xff1a; word中无法删除空白页怎么办&#xff…...

深度学习-稀疏卷积

步骤&#xff1a; 1、构建输入输出哈希表&#xff1b; 输入哈希表的键为激活点的索引&#xff0c;值为激活点的坐标&#xff1b;输出哈希表的键为激活点对应的输出点的索引&#xff0c;值为输出点的坐标。 2、构建规则书&#xff1b; 规则书的每一行包含4个值&#xff0c;分别是…...

Microsoft Visual Studio中的/MT, /MTd,/MD,/MDd分别是什么意思?

1. /MT&#xff0c;/MTd&#xff0c;/MD&#xff0c;/MDd的含义 /MT&#xff0c;/MTd&#xff0c;/MD&#xff0c;/MDd是 Microsoft Visual C 编译器的运行时库链接选项。它们决定了程序如何链接 C 运行时库&#xff08;CRT&#xff09;。具体含义如下&#xff1a; /MT&#x…...

交换机关于环路、接口绑定、链路聚合的相关知识

文章目录 1、对交换机SW-1进行配置&#xff0c;仅允许Host-1通过Ethernet0/0/1接口与Host-3和Host-4通信&#xff0c;Host-2无法与其他主机通信。2、关闭生成树协议&#xff0c;验证环路造成的影响3、关闭生成树协议通过链路聚合实现两条链路正常通信并提高链路可靠性。 内容包…...

5.微服务灰度发布落地实践(rocketmq增强)

文章目录 前言发送端灰度增强订阅端灰度增强 前言 上一篇分析了&#xff0c;在灰度发布实现中为什么要对消息队列灰度发布进行增强。本篇主要介绍如何实现rocketmq 灰度发布的增强. 发送端灰度增强 订阅端灰度增强...

32单片机从入门到精通之开发环境——库文件(六)

每个人都有自己的追求和梦想&#xff0c;但要实现这些梦想并不容易。在追逐梦想的路上&#xff0c;我们会遇到各种困难和挫折&#xff0c;甚至会感到无助和失望。然而&#xff0c;正是这些困难和挫折让我们更加坚韧和坚定地追求自己的目标。不要害怕失败&#xff0c;失败只是暂…...

大电流和大电压采样电路

大电压采样电路&#xff1a; 需要串联多个电阻进行分压&#xff0c;从而一级一级降低电压&#xff0c;防止电阻损坏或者短路直接打穿MCU。 为什么需要加电压跟随器&#xff1a;进行阻抗的隔离&#xff0c;防止MCU的IO阻抗对分压产生影响&#xff1a; 大电流检测电路&#xff…...

用户态和内核态?

目录 一、定义与特点 二、功能与权限差异 三、安全性与稳定性 四、系统调用与交互 五、参考 用户态和内核态是操作系统中的两种基本运行状态&#xff0c;它们各自具有不同的特点和权限&#xff0c;共同构成了操作系统的运行基础。以下是对用户态和内核态的详细解释&#x…...

Qt天气预报系统设计界面布局第四部分左边

Qt天气预报系统设计 1、第四部分左边的第一部分1.1添加控件1.2修改控件名字 2、第四部分左边的第二部分2.1添加控件2.2修改控件名字 3、第四部分左边的第三部分3.1添加控件3.2修改控件名字 4、对整个widget04l调整 1、第四部分左边的第一部分 1.1添加控件 拖入一个widget&…...

【Spring MVC 常用注解】注解驱动开发的魔法

在 Spring MVC 中&#xff0c;注解可以说是开发者的“魔法棒”&#xff0c;通过简单的注解配置&#xff0c;开发者能够实现请求处理、参数绑定、响应返回等复杂功能&#xff0c;真正做到“少写代码多干活”。 我们接下来就来一起看看 Spring MVC 中常用的注解&#xff0c;它们的…...

FFmpeg 4.3 音视频-多路H265监控录放C++开发二十一.4,SDP协议分析

SDP在4566 中有详细描述。 SDP 全称是 Session Description Protocol&#xff0c; 翻译过来就是描述会话的协议。 主要用于两个会话实体之间的媒体协商。 什么叫会话呢&#xff0c;比如一次网络电话、一次电话会议、一次视频聊天&#xff0c;这些都可以称之为一次会话。 那为什…...

STM32 高级 WIFi案例1:测试AT指令

需求描述 测试AT指令是否能够正常控制ESP32的wifi&#xff0c;比如重启、读取设备信息等。 思路&#xff1a; stm32通过串口usart2向ESP32发布命令。ESP32通过串口1返回信息。 配置&#xff1a; 第一步&#xff1a;对ESP32芯片烧录可以读取stm32命令的固件&#xff08;fac…...

Mono里运行C#脚本18—mono_image_load_names

前面已经分析完成加载CLR的流表,接着下来就是使用前面分析的数据,更进一步来处理了。下面就是通过函数mono_image_load_names获得程序集的名称和模块名称。 在CLI定义的文档里,表Assembly : 0x20: Assembly表结构信息,以下是该表各列的简要说明: HashAlgId: 这是一个4字…...

Java和Python区别: 应用领域与性能抉择的深度解析

文章目录 1. 引言2. 语言特性对比&#xff1a;灵活性与严谨性的碰撞3. 应用场景分析&#xff1a;专注任务的工具选择3.1 数据库交互&#xff1a;Java 的优势所在3.2 图像识别与计算&#xff1a;Python 的专长3.3 Web 开发 4. 高并发请求处理&#xff1a;架构设计与硬件选择4.1 …...

SQL Server详细使用教程(包含启动SQL server服务、建立数据库、建表的详细操作) 非常适合初学者

SQL Server详细使用教程(包含启动SQL server服务、建立数据库、建表的详细操作) 非常适合初学者 文章目录 目录 前言 一、启动SQL server服务的三种方法 1.不启动SQL server服务的影响 2.方法一&#xff1a;利用cmd启动SQL server服务 3.方法二&#xff1a;利用SQL Serv…...

基于Docker+模拟器的Appium自动化测试(二)

模拟器的设置 打开“夜神模拟器”的系统设置&#xff0c;切换到“手机与网络”页&#xff0c;选中网络设置下的“开启网络连接”和“开启网络桥接模式”复选框&#xff0c;而后选择“静态IP”单选框&#xff0c;在IP地址中输入“192.168.0.105”&#xff0c;网关等内容不再赘述…...

CSS系列(47)-- Animation Timeline详解

前端技术探索系列&#xff1a;CSS Animation Timeline详解 ⏱️ 致读者&#xff1a;探索动画时间线的艺术 &#x1f44b; 前端开发者们&#xff0c; 今天我们将深入探讨 CSS Animation Timeline&#xff0c;这个强大的动画控制特性。 基础概念 &#x1f680; 时间线定义 …...

1、pycharm、python下载与安装

1、去官网下载pycharm 官网&#xff1a;https://www.jetbrains.com/pycharm/download/?sectionwindows 2、在等待期间&#xff0c;去下载python 进入官网地址&#xff1a;https://www.python.org/downloads/windows/ 3、安装pycharm 桌面会出现快捷方式 4、安装python…...

【翻译】优化加速像素着色器执行的方法

中文翻译 在回复我的 Twitter 私信时,我遇到了一个关于如何提高像素/片段着色器执行速度的问题。这是一个相当广泛的问题,具体取决于每个 GPU/平台和游戏内容的特性,但我在本帖中扩展了我“头脑风暴”式的回答,以便其他人也觉得有用。这不是一份详尽的清单,更像是一个高层…...

ZLib库使用详细教程 以及标准ZLib函数和QT自带压缩函数比较

1. 下载Zlib 官网下载地址如下&#xff1a;http://www.zlib.net/ 2. 利用cmake编译zlib 有两种方法可以打开cmake-gui winR输入cmd打开命令行&#xff0c;在命令行中输入cmake-gui可以直接打开应用界面找到你一开始安装cmake的文件夹&#xff0c;在bin子文件夹中双击cmake-…...

android stdudio环境: gradle一直安装失败

一、一直显示如下错误 The specified Gradle distribution file:/home/wangqingyuan/.gradle/wrapper/dists/gradle-8.6-bin/gradle-8.6-bin.zip does not exist. 经分析&#xff0c;是因为应用本身设置了gradle版本的地址为本地&#xff1a; 应用目录&#xff1a;gradle/gra…...

2024年12月31日Github流行趋势

项目名称&#xff1a;free-programming-books 项目地址url&#xff1a;https://github.com/EbookFoundation/free-programming-books项目语言&#xff1a;HTML历史star数&#xff1a;344575今日star数&#xff1a;432项目维护者&#xff1a;vhf, eshellman, davorpa, MHM5000, …...

音视频入门基础:MPEG2-TS专题(24)——FFmpeg源码中,显示TS流每个packet的pts、dts的实现

音视频入门基础&#xff1a;MPEG2-TS专题系列文章&#xff1a; 音视频入门基础&#xff1a;MPEG2-TS专题&#xff08;1&#xff09;——MPEG2-TS官方文档下载 音视频入门基础&#xff1a;MPEG2-TS专题&#xff08;2&#xff09;——使用FFmpeg命令生成ts文件 音视频入门基础…...

设计模式の状态策略责任链模式

文章目录 前言一、状态模式二、策略模式三、责任链模式 前言 本篇是关于设计模式中的状态模式、策略模式、以及责任链模式的学习笔记。 一、状态模式 状态模式是一种行为设计模式&#xff0c;核心思想在于&#xff0c;使某个对象在其内部状态改变时&#xff0c;改变该对象的行为…...

TI毫米波雷达原始数据解析之Lane数据交换

TI毫米波雷达原始数据解析之Lane数据交换 背景Lane 定义Lane 确认确认LVDS Lane 数量的Matlab 代码数据格式参考 背景 解析使用mmWave Studio 抓取的ADC Data Lane 定义 芯片与DCA100之间的数据使用LVDS接口传输&#xff0c;使用mmWave Studio 配置过程中有一个选项是LVDS L…...

Python-Pdf转Markdown

使用pdfminer.sixmarkdownify pdfminer.six可以提取Pdf文本内容markdownify可以将文本内容写markdown文件 安装 pip install pdfminer.six pip install markdownify实现 from pdfminer.high_level import extract_text from markdownify import markdownifydef pdf2markdo…...

win32汇编环境下,双击窗口程序内生成的listview列表控件的某行,并提取其内容的示例程序

;运行效果 ;双击后 ;上源码&#xff0c;仔细研究里面的几条备注就理解原理了 ;提取窗口程序内生成的listview列表控件的内容示例程序 ;抄下面源码&#xff0c;可以在radasm里面直接编译运行。主要的部分加了备注。 ;>>>>>>>>>>>>>>…...

对45家“AI+安全”产品/方案的分析

一. 关键洞察 “AI+安全”创新非常活跃,一片百家争鸣之势,赛道选择上,以事件分诊Incident Triage、 安全辅助Security Copilots、自动化Automation三者为主为主,这充分反映了当前安全运营的主要需求,在产品理念选择上以 AI 和 自动化为主,这确实又切合上了在关键…...

家用电器销售系统|Java|SSM|JSP|

【技术栈】 1⃣️&#xff1a;架构: B/S、MVC 2⃣️&#xff1a;系统环境&#xff1a;Windowsh/Mac 3⃣️&#xff1a;开发环境&#xff1a;IDEA、JDK1.8、Maven、Mysql5.7 4⃣️&#xff1a;技术栈&#xff1a;Java、Mysql、SSM、Mybatis-Plus、JSP、jquery,html 5⃣️数据库可…...

小程序租赁系统构建指南与市场机会分析

内容概要 在当今竞争激烈的市场环境中&#xff0c;小程序租赁系统正崭露头角&#xff0c;成为企业转型与创新的重要工具。通过这个系统&#xff0c;商户能够快速推出自己的小程序&#xff0c;无需从头开发&#xff0c;节省了大量时间和资金。让我们来看看这个系统的核心功能吧…...

《XML Schema 字符串数据类型》

《XML Schema 字符串数据类型》 1. 引言 XML Schema 是一种用于描述和验证 XML 文档结构和内容的语言。在 XML Schema 中&#xff0c;字符串数据类型是一种基本的数据类型&#xff0c;用于表示文本数据。本文将详细介绍 XML Schema 中的字符串数据类型&#xff0c;包括其定义…...

探索框架领域的新兴技术:微框架与插件化框架的崛起

近年来&#xff0c;随着软件开发技术的快速发展&#xff0c;开发者对框架的需求也在不断变化。从传统的重量级框架到轻量级微框架&#xff0c;以及支持高度扩展性的插件化框架&#xff0c;技术生态系统日新月异。本文旨在介绍这些新兴框架技术中的一些小众但创新的理念与实现&a…...

【数据结构-单调队列】力扣2762. 不间断子数组

给你一个下标从 0 开始的整数数组 nums 。nums 的一个子数组如果满足以下条件&#xff0c;那么它是 不间断 的&#xff1a; i&#xff0c;i 1 &#xff0c;…&#xff0c;j 表示子数组中的下标。对于所有满足 i < i1, i2 < j 的下标对&#xff0c;都有 0 < |nums[i1…...

【复盘】2024年终总结

工作 重构风控系统 今年上半年其实就是整体重构系统&#xff0c;经历了多次加班的&#xff0c;其中的辛酸苦辣只有自己知道&#xff0c;现在来看的话&#xff0c;其实对自己还有一定的成长&#xff0c;从这件事情上也明白 绩效能不能拿到A&#xff0c;在分配的任务的时候就决…...

QT 学习第十四天 QWidget布局

QT 学习十四天 布局 布局管理Qt Widgets 布局布局管理器简介基本布局管理器栅格布局管理器窗体布局管理器综合使用布局管理器设置部件大小可扩展窗口 布局管理 今天讲 Qt Widgets 和 Qt Quick 中的布局。 前者主要用布局管理器 后者除了布局管理器还有基于锚的布局&#xff08…...

各个Spring Cloud版本有何主要差异

Spring Cloud 的各个版本之间确实存在一些关键差异&#xff0c;这些差异主要体现在功能更新、性能优化、对新技术的支持以及对旧有技术的替代等方面。 1. Spring Cloud Dalston 这是 Spring Cloud 的一个早期版本&#xff0c;它提供了微服务架构所需的基本组件&#xff0c;如服…...

开发AI电子宠物 参考资料

开发AI电子宠物涉及多个方面&#xff0c;包括但不限于硬件选择、软件编程、人工智能算法的应用等。下面我将提供一个概览性的指南&#xff0c;并列出一些资源链接&#xff0c;帮助您开始自己的AI电子宠物项目。 AI电子宠物开发教程概览 1. 确定需求与规划 定义目标&#xff…...

数据结构与算法之动态规划: LeetCode 62. 不同路径 (Ts版)

不同路径 https://leetcode.cn/problems/unique-paths/description/ 描述 一个机器人位于一个 m x n 网格的左上角 &#xff08;起始点在下图中标记为 “Start” &#xff09;机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角&#xff08;在下图中标记为 “…...

操作系统论文导读(八):Schedulability analysis of sporadic tasks with multiple criticality specifications——具有多个

Schedulability analysis of sporadic tasks with multiple criticality specifications——具有多个关键性规范的零星任务的可调度性分析 目录 一、论文核心思想 二、基本定义 2.1 关键性指标 2.2 任务及相关参数定义 2.3 几个基础定义 三、可调度性分析 3.1 调度算法分…...

Android IO 问题:java.io.IOException Operation not permitted

问题描述与处理策略 1、问题描述 java.io.IOException: Operation not permittedjava.nio.file.FileSystemException: /storage/emulated/0/test/test.txt: Operation not permittedjava.io.IOException: Operation not permitted&#xff1a;异常为操作不被允许 java.nio.f…...

Unity Mesh生成Cube

1. 配置一个Cube的每个面的数据 一共是6个面&#xff0c;每个面包含的数据包括4个顶点的相对顶点坐标&#xff08;Cube的中心为原点&#xff09;&#xff0c;法线方向&#xff0c;UV坐标&#xff0c;顶点渲染顺序&#xff0c;以及这个面用到的材质&#xff0c;因为这里是Top&am…...

Wend看源码-Java-Collections 工具集学习

摘要 java.util.Collections它提供了一系列静态方法&#xff0c;用于对集合&#xff08;如List、Set、Map等&#xff09;进行操作。这些操作包括排序、查找、替换、同步等多种功能&#xff0c;帮助开发者更方便地处理集合数据。以下是Collections 提供的一些主要方法的总结。…...

怎样用 Excel 做数据分析?

与其单纯地学习怎么使用Excel&#xff0c;不如结合AI工具来进行数据分析。 接下来就来盘一盘AI在Excel做数据分析方面会带来哪些改进和帮助。 原本不能非常复杂的公式&#xff0c;变成聊天的方式。Excel门槛被大大降低&#xff0c;以前技术大佬才能干的活&#xff0c;现在前台…...

深度学习——损失函数汇总

1. 连续值损失函数 总结:主要使用胡贝儿损失函数,应用于连续数值的预测之间的误差损失,参考地址 import torch import torch.nn as nna = torch.tensor([[1, 2], [3, 4]], dtype=torch.float) b = torch.tensor([[3, 5], [8, 6]], dtype=torch.float)loss_fn1 = torch.nn.M…...

KAFKA入门:原理架构解析

文章目录 一、认识kafka二、架构介绍2.1 工作流程2.2 Kafka可靠性保证2.3 Kafka存储 一、认识kafka Kafka到底是个啥&#xff1f;用来干嘛的&#xff1f; 官方定义如下&#xff1a; Kafka is used for building real-time data pipelines and streaming apps. It is horizont…...