《Linux从小白到高手》理论篇:Linux用户和组相关的命令

news2024/10/5 9:14:50
  1. List item
    本篇介绍Linux用户和组相关的命令,看完本文,有关Linux用户和组相关的常用命令你就掌握了99%了。Linux用户和组相关的命令可以分为以下六类:

一.用户和用户组相关查询操作命令:

Id

id命令用于显示用户的身份标识。常见用法:
1、基本用法
显示当前用户的信息:

id
   uid=1000(user1) gid=1000(group1) groups=1000(group1),4(adm),24(cdrom),27(sudo),46(plugdev),116(lpadmin),126(sambashare)

//显示了当前用户的用户 ID(uid)、所属主组 ID(gid)以及所属的其他(groups)。
显示特定用户的信息:

 id username

例如:id user2,将显示用户 “user2” 的身份标识信息。
2、选项用法
-u:只显示用户 ID。

id -u username

例如:id -u user3,仅显示用户 “user3” 的用户 ID。
-g:只显示用户所属主组的组 ID。

id -g username

-G:显示用户所属的所有组的组 ID。

id -G username

-n:结合上述选项使用,以名称而不是数字显示用户 ID、组 ID 等信息。

id -un username

这将以名称形式显示用户的用户名,而不是用户 ID。

 id -gn username

显示用户所属主组的组名。

id -Gn username

显示用户所属的所有组的组名。假设系统中有用户 “testuser”,其属于 “testgroup” 组以及 “othergroup” 组,则:
id testuser:输出完整的用户身份标识信息,包括用户 ID、主组 ID 和所属的所有组。
id -u testuser:只显示用户 ID。
id -g testuser:显示主组 ID。
id -G testuser:显示所有组 ID。
id -un testuser:以名称形式显示用户名。
id -gn testuser:以名称形式显示主组名。
id -Gn testuser:以名称形式显示所有组名。

finger

finger命令用于显示系统中用户的信息。常见用法:
1、基本用法
显示特定用户的信息:

 finger username

例如,finger user1将显示用户 “user1” 的详细信息,包括用户名、主目录、登录 shell、登录时间等。
2、选项用法
-s:以简短格式显示用户信息,只包括用户名、登录名、真实姓名、终端类型、空闲时间、登录时间、办公地点和办公电话等信息。

finger -s username

-l:以长格式显示用户信息,提供更详细的信息,包括用户名、主目录、登录 shell、邮箱、计划文件、项目文件等。

finger -l username

-p:禁止显示用户的计划文件和项目文件信息。

finger -p username

例如:
finger -s user2:以简短格式显示用户 “user2” 的信息。
finger -l user3:以长格式显示用户 “user3” 的信息。
finger -p user4:显示用户 “user4” 的信息,但不包括计划文件和项目文件信息。
注:在一些 Linux 发行版中,可能需要安装额外的软件包才能使用finger命令;出于安全考虑,一些系统可能会禁用finger服务或限制其使用。

pwck

pwck命令用于验证用户账号信息的完整性。常见用法:
1、基本用法
直接运行pwck命令,它会检查/etc/passwd和/etc/shadow文件中用户账号信息的一致性和正确性,如果/etc/passwd中的数据字段错误会提示。
它会检查以下内容:
–用户账号是否在两个文件中都存在且信息一致。
–用户主目录是否存在。
–用户的登录 shell 是否合法等。
2、选项用法
-r:以只读模式运行,只报告错误而不进行任何修改。

pwck -r

-s:以安静模式运行,只显示严重错误信息。

pwck -s

注意事项:
在运行pwck命令之前,最好备份/etc/passwd和/etc/shadow文件,以防意外情况发生。如果发现错误,根据错误提示谨慎进行修复,避免因错误操作导致系统用户管理出现问题。

grpck

和pwck功能相近,这是检查用户组的。grpck命令用于检查 /etc/group 和 /etc/gshadow 文件中组账号信息的完整性。常见用法:
1、基本用法
直接运行 grpck 命令,它会检查组账号信息的一致性和正确性。它主要检查以下内容:
–组账号是否在两个文件中都存在且信息一致。
–组中成员列表是否正确等。
2、选项用法
-r:以只读模式运行,只报告错误而不进行任何修改。

 grpck -r

-s:以安静模式运行,只显示严重错误信息。

grpck -s

注意事项:
在运行 grpck 命令之前,最好备份 /etc/group 和 /etc/gshadow 文件,以防意外情况发生。如果发现错误,应根据错误提示谨慎进行修复,避免因错误操作导致系统组管理出现问题。

二.用户和用户组增删修改相关命令:

groups

groups命令用于显示指定用户所属的组。常见用法:
1、基本用法
显示当前用户所属的组:

groups

显示指定用户所属的组:

 groups username

例如,groups user1将显示用户 “user1” 所属的组。

user1 : group1 group2 group3

表示用户 “user1” 属于 “group1”、“group2” 和 “group3” 这三个组。

newgrp

newgrp命令用于切换用户的有效组。常见用法:
1、基本用法
切换到指定的组:

newgrp groupname

例如,newgrp users将用户的有效组切换为 “users” 组。执行这个命令后,用户在新的 shell 环境中,有效组将变为指定的组。新启动的进程将继承这个新的有效组。
2、注意事项
权限要求:
用户必须是指定组的成员才能成功切换到该组。
如果用户不是指定组的成员,执行newgrp命令会失败,并显示错误信息。
临时切换:
newgrp命令只在当前 shell 环境及其子进程中有效。一旦退出当前 shell,用户的有效组将恢复为原来的默认组。
密码验证(如果组设置了密码):
某些组可能设置了密码以限制成员加入。在这种情况下,执行newgrp命令时,系统可能会提示用户输入组密码。例如,假设用户 “user1” 同时属于 “group1” 和 “group2”,如果 “group2” 设置了密码,执行以下命令:

newgrp group2

系统可能会提示用户输入 “group2” 的密码。只有输入正确的密码,用户才能成功切换到 “group2” 组。
newgrp命令提供了一种方便的方式来临时切换用户的有效组,但在使用时需要注意权限和密码验证等问题。

useradd

useradd命令用于创建新用户。常见用法:
1、基本用法
创建一个新用户:

 useradd username

例如,useradd user1将创建一个名为 “user1” 的用户。
2、常用选项
-u UID:指定用户的用户 ID。

 useradd -u 1001 user2

创建用户 “user2” 并指定用户 ID 为 1001。
-g GROUP:指定用户所属的主组。

 useradd -g group1 user3

创建用户 “user3” 并将其加入到 “group1” 组作为主组。
-G GROUPS:指定用户所属的附加组,可以指定多个组,用逗号分隔。

useradd -G group2,group3 user4

创建用户 “user4” 并将其加入到 “group2” 和 “group3” 作为附加组。
-d HOME_DIR:指定用户的主目录。

  useradd -d /home/newuser user5

创建用户 “user5” 并指定主目录为 “/home/newuser”。
-s SHELL:指定用户的登录 shell。

useradd -s /bin/bash user6

创建用户 “user6” 并指定登录 shell 为/bin/bash。
-m:如果指定的主目录不存在,自动创建主目录。

 useradd -m user7

创建用户 “user7” 并自动创建主目录。
-c COMMENT:添加用户的注释信息。

useradd -c "This is a test user" user8

创建用户 “user8” 并添加注释信息。

usermod

usermod命令用于修改用户账号的属性。常见用法:
1、基本用法
修改用户的登录名:

 usermod -l new_username old_username

例如,usermod -l newuser olduser将用户 “olduser” 的登录名修改为 “newuser”。
修改用户的主目录:

usermod -d new_home_dir username

例如,usermod -d /home/newdir user1将用户 “user1” 的主目录修改为 “/home/newdir”。
修改用户的登录 shell:

usermod -s new_shell username

例如,usermod -s /bin/zsh user2将用户 “user2” 的登录 shell 修改为/bin/zsh。
修改用户的用户 ID:

usermod -u new_uid username

例如,usermod -u 1002 user3将用户 “user3” 的用户 ID 修改为 1002。
修改用户所属的主组:

usermod -g new_group username

例如,usermod -g group2 user4将用户 “user4” 的主组修改为 “group2”。
修改用户所属的附加组:

usermod -G new_groups username

例如,usermod -G group3,group4 user5将用户 “user5” 的附加组修改为 “group3” 和 “group4”。
2、常用选项组合
同时修改多个属性:

 usermod -l new_username -d new_home_dir -s new_shell username

例如,usermod -l newuser -d /home/newdir -s /bin/bash olduser将用户 “olduser” 的登录名、主目录和登录 shell 同时进行修改。
锁定用户账号:

usermod -L username

例如,usermod -L user6将用户 “user6” 的账号锁定,使其无法登录。
解锁用户账号:

usermod -U username

例如,usermod -U user7将用户 “user7” 的账号解锁。
三、注意事项
修改用户属性时要谨慎,确保不会影响系统的正常运行和用户的数据安全。
修改用户的主目录时,确保新的主目录存在且用户具有适当的权限。
修改用户的登录 shell 时,确保新的 shell 是系统中可用的且符合用户的需求。
修改用户的用户 ID 时,确保新的用户 ID 没有被其他用户占用。
修改用户所属的组时,确保用户在新的组中有适当的权限。
usermod不仅能改用户的SHELL类型,所归属的用户组,也能改用户密码的有效期,还能改登录名。
usermod还可用于户帐号大转移;比如把用户A改为新用户B;

userdel

userdel命令用于删除用户账号。常用用法:
1、基本用法
删除用户账号:

 userdel username

例如,userdel user1将删除用户 “user1”。
此命令会删除用户的主目录和邮件池(如果存在),但不会删除用户的文件(如果用户在系统的其他位置有文件)。
2、常用选项
-r:删除用户的主目录和邮件池,并同时删除用户在系统中的所有文件。

 userdel -r username

例如,userdel -r user2将删除用户 “user2” 及其主目录和邮件池,并删除用户在系统中的所有文件。
-f:强制删除用户,即使用户当前已登录。

 userdel -f username

这个选项应该谨慎使用,因为强制删除正在登录的用户可能会导致数据丢失或系统不稳定。
3、注意事项
在删除用户之前,确保你了解该用户在系统中的作用和影响,以免误删重要用户导致系统出现问题。如果用户拥有重要的数据或文件,在删除用户之前最好备份这些数据。
删除用户后,可能需要检查系统中的权限设置和文件所有权,以确保没有残留的权限问题。

groupadd

groupadd命令用于创建新的用户组。常用用法:
1、基本用法
创建一个新的用户组:

groupadd groupname

例如,groupadd mygroup将创建一个名为 “mygroup” 的用户组。
2、常用选项
-g GID:指定用户组的组 ID。

groupadd -g 1001 newgroup

创建一个名为 “newgroup” 的用户组,并指定组 ID 为 1001。
-r:创建一个系统用户组。系统用户组的组 ID 通常小于 1000,并且通常用于系统服务和进程。

groupadd -r sysgroup

创建一个名为 “sysgroup” 的系统用户组。
3、注意事项
如果不指定组 ID,系统会自动分配一个唯一的组 ID。创建用户组后,可以使用usermod命令将用户添加到该组中。在创建用户组时,要确保组名的唯一性,避免与系统中已有的组名冲突。

groupmod

groupmod命令用于修改用户组的属性。常用用法:
1、基本用法
修改组名:

groupmod -n new_group_name old_group_name

例如,groupmod -n newgroup oldgroup将用户组 “oldgroup” 的名称修改为 “newgroup”。
修改组 ID:

groupmod -g new_gid group_name

例如,groupmod -g 1002 mygroup将用户组 “mygroup” 的组 ID 修改为 1002。
2、注意事项
修改组名时,确保新的组名没有被其他组使用,并且不会与系统中的其他资源产生冲突。修改组 ID 时,确保新的组 ID 没有被其他组占用,并且不会影响系统中已有的用户和文件的权限设置。在修改用户组属性之前,最好备份重要的数据和配置文件,以防出现意外情况。修改组 ID 可能会影响到系统中已有的文件和目录的所有权和权限,因此需要谨慎操作。

groupdel

groupdel命令用于删除用户组。常用用法:
1、基本用法
删除一个用户组:

groupdel groupname

例如,groupdel testgroup将删除名为 “testgroup” 的用户组。
2、注意事项
–只有当用户组中没有任何成员用户时,才能成功删除该用户组。如果用户组中有成员用户,需要先将这些用户从该组中移除,或者使用-f选项强制删除,但这可能会导致一些不可预测的后果,因此不建议使用强制删除选项。
–在删除用户组之前,确保该用户组不是系统关键组或者没有被其他重要的系统组件所依赖。否则,删除该用户组可能会导致系统出现问题。
–删除用户组后,该组的所有相关权限和配置也会被删除,所以在执行此操作之前,最好确认是否真的需要删除该用户组。

三.密码相关的命令:

passwd

passwd命令用于设置或更改用户密码。常用用法:
1、基本用法
为当前用户设置密码:

passwd

执行该命令后,系统会提示你输入当前用户的旧密码(如果有),然后输入新密码两次以确认。
为其他用户设置密码:

passwd username

例如,passwd user1将为用户 “user1” 设置密码。只有具有管理员权限的用户才能为其他用户设置密码。
2、常用选项
-l:锁定用户密码。这将使用户无法登录,直到密码被解锁。

passwd -l username

例如,passwd -l user2将锁定用户 “user2” 的密码。
-u:解锁用户密码。

passwd -u username

例如,passwd -u user3将解锁用户 “user3” 的密码。
-d:删除用户密码。这将使用户无需密码即可登录,但这通常是不安全的,并且只应在特定情况下使用。

passwd -d username

例如,passwd -d user4将删除用户 “user4” 的密码。
-e:立即过期用户密码,迫使用户在下次登录时更改密码。

 passwd -e username

例如,passwd -e user5将使用户 “user5” 的密码立即过期。
3、注意事项
–锁定或解锁用户密码时,应该谨慎操作,确保不会影响系统的正常运行和用户的工作。
–删除用户密码可能会导致安全风险,因此应该仅在特殊情况下使用,并尽快为用户设置新密码。

chage

chage命令用于修改用户密码的过期信息等。常用用法:
1、基本用法
查看用户密码过期信息:

chage -l username

例如,chage -l user1将显示用户 “user1” 的密码过期信息,包括上次密码更改时间、密码过期时间、密码失效时间等。
设置密码过期时间:

chage -M days username

其中 “days” 是密码有效的最大天数。例如,chage -M 180 user2将设置用户 “user2” 的密码在180 天后过期。
2、其他常用选项
-d:设置上次密码更改时间。

chage -d date username

“date” 可以是具体的日期格式,如 “YYYY-MM-DD”,也可以是相对时间,如 “0” 表示从 1970 年 1 月 1 日到现在的天数。例如,chage -d 0 user3将设置用户 “user3” 的上次密码更改时间为当前时间。
-E:设置密码失效时间。

chage -E date username

例如,chage -E “2028-01-01” user4将设置用户 “user4” 的密码在 2028 年 1 月 1 日失效。
-I:设置密码过期后的宽限天数。

chage -I days username

例如,chage -I 7 user5将设置用户 “user5” 的密码过期后有 7 天的宽限时间,在此期间用户可以登录并更改密码。
-W:设置密码过期前的警告天数。

 chage -W days username

例如,chage -W 3 user6将设置用户 “user6” 的密码在过期前 3 天开始发出警告。
3、注意事项
–使用chage命令需要谨慎,尤其是在设置密码过期时间和失效时间时,确保不会影响用户的正常工作。
–如果设置了密码过期时间,用户在密码过期后需要及时更改密码,否则可能无法登录系统。

四、查询登录主机的用户及其log信息的工具命令:

w

w命令用于显示当前已登录系统的用户信息及他们正在执行的进程等情况。常用用法:
1、基本用法
直接在终端输入w命令:
在这里插入图片描述
输出内容说明:
第一行显示系统当前时间、运行时间、登录用户数和系统平均负载。
后续行显示每个已登录用户的信息,包括用户名(USER)、终端类型(TTY)、登录来源(FROM)、登录时间(LOGIN@)、空闲时间(IDLE)、已连接时间(JCPU)、进程占用的 CPU 时间(PCPU)以及正在执行的命令(WHAT)。
2、选项用法
-h:不显示标题信息。

w -h

-u:显示详细的用户信息,包括登录时间、空闲时间等,并以更易读的格式显示。

 w -u

-s:使用短格式显示信息,只显示用户名、终端类型、登录时间和正在执行的命令。

w -s

例如:
w -h将不显示第一行的标题信息,直接显示用户信息。
w -u会以更详细的格式显示用户信息,如空闲时间会显示为 “X 分 X 秒” 而不是类似 “1:42m” 这样的格式。
w -s以简洁的短格式显示用户信息,方便快速查看。

who

who命令用于显示当前已登录系统的用户信息。

users

users命令用于显示当前登录系统的所有用户名称。

Last

last命令用于显示系统中用户的最近登录记录及显示每个用户最后的登录时间。

Lastlog

lastlog命令用于显示系统中所有用户的最近一次登录时间。
1、基本用法
直接在终端输入lastlog命令:
在这里插入图片描述
输出内容说明:
每一行显示一个用户的信息,包括用户名(Username)、登录端口(Port)、登录来源(From)和最近一次登录时间(Latest)。
2、选项用法
-u username:显示指定用户的最近一次登录时间。

 lastlog -u user2

这将只显示用户 “user2” 的最近一次登录时间。
-t days:显示在指定天数内有登录记录的用户信息。

lastlog -t 7

显示最近 7 天内有登录记录的用户信息。
-b days:显示在指定天数之前的登录记录。

 lastlog -b 30

显示 30 天之前的登录记录。

五.ACL权限相关命令

ACL是Access Control List 的缩写,主要用于在提供传统的owner、group、others的read、write、execute权限之外进行细部权限设置。访问控制列表(ACL)提供了比传统的文件权限更精细的访问控制:
1、查看文件或目录的 ACL
使用getfacl命令:

 getfacl filename

例如,getfacl file.txt将显示文件 “file.txt” 的 ACL 信息。一般输出如下内容:
file: file.txt
owner: user1
group: group1
user::rw-
group::r–
other::r–
2、设置文件或目录的 ACL
使用setfacl命令:
为特定用户设置权限:

setfacl -m u:username:permissions filename

例如,setfacl -m u:user2:rw file.txt为用户 “user2” 设置对文件 “file.txt” 的读写权限。
为特定组设置权限:

  setfacl -m g:groupname:permissions filename

例如,setfacl -m g:group2:r file.txt为组 “group2” 设置对文件 “file.txt” 的读权限。
设置默认 ACL(对新创建的文件和目录生效):

setfacl -m d:u:username:permissions directoryname
 setfacl -m d:g:groupname:permissions directoryname

例如,setfacl -m d:u:user3:rw /home/directory设置在目录 “/home/directory” 下新创建的文件和目录对用户 “user3” 具有读写权限。
3、删除文件或目录的 ACL
删除特定用户的 ACL:

 setfacl -x u:username filename

例如,setfacl -x u:user2 file.txt删除用户 “user2” 对文件 “file.txt” 的 ACL。
删除特定组的 ACL:

setfacl -x g:groupname filename

例如,setfacl -x g:group2 file.txt删除组 “group2” 对文件 “file.txt” 的 ACL。
删除所有 ACL:

 setfacl -b filename

例如,setfacl -b file.txt删除文件 “file.txt” 的所有 ACL,恢复到传统的文件权限模式。
4、注意事项
–不是所有的文件系统都支持 ACL。常见的支持 ACL 的文件系统有 ext2、ext3、ext4、XFS 等。
–在设置 ACL 时,要确保权限的设置是合理的,以避免安全风险。
–如果系统中有大量的文件和目录需要设置 ACL,可能需要使用脚本或自动化工具来提高效率。

六.用户身份切换相关命令

su/su -

1、基本用法
切换到其他用户:

 su - username

例如,su - user2将切换到用户 “user2”。加上 “-” 选项会同时切换用户的环境变量,使其环境与目标用户登录时一致。如果不加 “-”,则部分环境变量可能会保留当前用户的设置。
2、常用选项
-c command:在切换用户后执行一条命令,然后恢复到原来的用户。

su - username -c "command"

例如,su - user2 -c "ls /home/user2"以用户 “user2” 的身份执行 “ls /home/user2” 命令,然后恢复到原来的用户。
-l(等同于 “-”):完全切换到目标用户的环境,包括环境变量、工作目录等。
3、注意事项
–切换到其他用户时,需要输入目标用户的密码(如果目标用户有密码设置且当前用户没有足够的权限直接切换)。
–以 root 用户身份切换到其他用户通常不需要密码,但从普通用户切换到 root 用户一般需要输入 root 用户的密码。
–使用su命令切换用户时要谨慎,确保你有足够的权限进行操作,并且在切换到高权限用户(如 root)后,避免进行不必要的操作以降低安全风险。

sudo

sudo命令允许授权用户以其他用户的身份(通常是超级用户 root)执行命令。
1、基本用法
以 root 身份执行单个命令:

 sudo command

例如,sudo apt update以 root 权限执行软件包更新命令。
2、常用选项
-u user:以指定的用户身份执行命令。

sudo -u username command

例如,sudo -u user2 ls /home/user2以用户 “user2” 的身份执行列出 “/home/user2” 目录内容的命令。
-k:清除缓存的密码(下次使用 sudo 时需要重新输入密码)。

 sudo -k

-v:验证当前用户的 sudo 权限,并延长密码的有效时间。

sudo -v

3、注意事项
–使用sudo时,系统会提示输入当前用户的密码(除非当前用户在短时间内已经输入过密码且密码缓存仍然有效)。
–谨慎授予用户sudo权限,确保只有必要的用户可以以高权限执行命令,以降低系统的安全风险。
–如果sudo出现错误,检查配置文件是否正确以及当前用户是否具有相应的权限。

码字不易,宝贵经验分享不易,请各位支持原创,转载注明出处,多多关注作者。

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

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

相关文章

解表之紫苏

** 声明:本文介绍的中药仅供学习使用,请勿擅自使用,否则后果自负!!!因水平有限,如有不当之处,请批评指正!!!!图片来源网络&#xff0…

No.1 | 从小白到入门:我的渗透测试笔记

嘿,小伙伴们!好久不见啊,是不是都以为我失踪了?😂 其实呢,最近一直在埋头苦学,感觉自己就像是在技术的海洋里游泳,每天都在吸收新知识。现在终于有时间冒个泡,跟大家分享…

Linux进程控制(2)(进程程序替换1)

目录 续--上一章 1.WIFEXITED && WEXITSTATUS 2.非阻塞等待 进程程序替换 1.先观代码 && 现象 2.原理解释 3.将代码改成多进程版 4.使用所有的替换方法,并且认识函数参数的含义 续--上一章 1.WIFEXITED && WEXITSTATUS 若需要知道退…

ODX相关基础知识普及

一、ODX概述 1.1 背景与意义 介绍汽车电子化的发展 随着科技的飞速发展,汽车电子化已成为现代汽车工业的重要趋势。从早期的机械控制到现代的电子控制,汽车电子化经历了巨大的变革。早期,汽车的主要控制系统都是基于机械原理,通…

Cisco ACI Simulator 6.0(7e)M 发布下载,新增功能简介

Cisco ACI Simulator 6.0(7e)M - ACI 模拟器 Application Centric Infrastructure (ACI) Simulator Software 请访问原文链接:https://sysin.org/blog/cisco-acisim-6/,查看最新版。原创作品,转载请保留出处。 作者主页:sysin.…

[C/C++开发]链接动态库在不同操作系统上的行为

个人博客:Sekyoro的博客小屋 个人网站:Proanimer的个人网站 想必很多人已经了解了动态库与静态库,在实际开发中也经常使用. 但是,有必要了解在windows和Linux上开发c程序生成和链接动态库的不同行为,因为经常混淆或者自以为找到了动态库,这里简单学习并澄清一下.其中许多内容来…

【Python】pyenv:管理多版本 Python 环境的利器

pyenv 是一个强大的 Python 版本管理工具,它允许开发者在同一台计算机上轻松安装和管理多个 Python 版本。对于需要在不同项目中使用不同 Python 版本的开发者来说,pyenv 是一个非常有用的工具,因为它可以帮助用户在全局和项目级别控制 Pytho…

PCL 给点云添加高斯噪声并保存

目录 一、概述 1.1原理 1.2实现步骤 1.3应用场景 二、代码实现 2.1关键函数 2.1.1 添加高斯噪声实现 2.1.2 可视化函数 2.2完整代码 三、实现效果 PCL点云算法汇总及实战案例汇总的目录地址链接: PCL点云算法与项目实战案例汇总(长期更新&…

角色动画——RootMotion全解

1. Unity(2022)的应用 由Animtor组件控制 在Animation Clip下可进行详细设置 ​ 官方文档的介绍(Animation选项卡 - Unity 手册) 上述动画类型在Rag选项卡中设置: Rig 选项卡上的设置定义了 Unity 如何将变形体映射到导入模型中的网格,以便能够将其动画化。 对于人…

污水排放口细粒度检测数据集,污-水排放口的类型包括10类目标,10000余张图像,yolo格式目标检测,9GB数据量。

污水排放口细粒度检测数据集,污-水排放口的类型包括10类目标(1 合流下水道,2 雨水,3 工业废水,4 农业排水,5 牲畜养殖,6 水产养殖,7 地表径流,8 废水处理厂&…

yub‘s Algorithmic Adventures_Day5

Day5 反转链表 link:206. 反转链表 - 力扣(LeetCode) 思路分析 与数组不同,链表没必要定义新的链表进行存储【对内存空间的浪费】 直接改变next指针即可. 注意头节点指向的下一个节点为null 双指针法 class Solution {publi…

杂谈c语言——6.浮点数的存储

1.浮点数在内存中的存储 常⻅的浮点数&#xff1a;3.14159、1E10等&#xff0c;浮点数家族包括&#xff1a; float、double、long double 类型。 浮点数表⽰的范围&#xff1a; float.h 中定义 1.1 练习 #include<stdio.h>int main() {int n 9;float* pFloat (floa…

Golang | Leetcode Golang题解之第456题132模式

题目&#xff1a; 题解&#xff1a; func find132pattern(nums []int) bool {candidateI, candidateJ : []int{-nums[0]}, []int{-nums[0]}for _, v : range nums[1:] {idxI : sort.SearchInts(candidateI, 1-v)idxJ : sort.SearchInts(candidateJ, -v)if idxI < idxJ {ret…

智能视界·大模型驱动视频矩阵管理系统

开头先配两张ER图 一张不带字段&#xff0c;一张带字段&#xff0c;剩下的内容按需拿取 1.产品介绍 产品名称&#xff1a; 智能视界大模型驱动视频矩阵管理系统 主要功能&#xff1a; 智能视频分析与识别 功能介绍&#xff1a;该系统集成先进的人工智能大模型&#xff0c;能…

热轧钢带缺陷数据集,Xsteel表面缺陷数据集(X-SDD),其中包含七种典型的热轧带钢缺陷类型,共有1360个缺陷图像。

热轧钢带缺陷数据集&#xff0c;称为Xsteel表面缺陷数据集&#xff08;X-SDD&#xff09;&#xff0c;其中包含七种典型的热轧带钢缺陷类型&#xff0c;共有1360个缺陷图像。与常用的NEU表面缺陷数据库&#xff08;NEU-CLS&#xff09;的六种缺陷类型相比&#xff0c;X-SDD包含…

Ray_Tracing_The_Next_Week

1动态模糊 动态模糊在摄影中就是快门的速度慢&#xff0c;捕捉光的时间长&#xff0c;物体运动时进行捕捉成像&#xff0c;拍出来的结果是这个运动过程每一帧的平均值 我们的思路是&#xff1a; 每一条光线都拥有自己存在的一个时间点。随着时间变化随机生成光线,一般来说我…

全新芒果YOLOv10改进135:最新注意力机制EMA:即插即用,具有跨空间学习的高效多尺度注意力模块,ICCASSP 2023

💡本篇内容:芒果YOLOv10改进135:最新注意力机制EMA:即插即用,具有跨空间学习的高效多尺度注意力模块,ICCASSP 2023 **具有跨空间学习的高效多尺度注意力模块EMA | 即插即用 该模块通常包括多个并行的注意力子模块,每个子模块关注于输入数据的不同尺度或分辨率。这些子模块…

Study-Oracle-10-ORALCE19C-RAC集群维护

一路走来&#xff0c;所有遇到的人&#xff0c;帮助过我的、伤害过我的都是朋友&#xff0c;没有一个是敌人。 一、RAC的逻辑架构与进程 1、RAC 与单实例进程的对比 2、RAC相关进程功能 3、在主机查看RAC进程 其他的不列举了 4、RAC集群启停命令 检查集群状态 ORACLE 19C …

2-112基于matlab的协同干扰功率分配模型

基于matlab的协同干扰功率分配模型&#xff0c;带操作界面的功率分配GUI&#xff0c;可以实现对已有功率的分配优化&#xff0c;可以手动输入参数值。4个干扰山区分二批总干扰功率&#xff0c;每个扇区包括威胁总系数、综合压制概率、目标函数增量等。程序已调通&#xff0c;可…

无源有损耗导电介质的平面电磁波——复数介电常数带来复波数k(导致幅度衰减)和复波阻抗(带来磁场电场相位不同)

推导中以εμσ是实数为假设 注意在线性介质中J 0和σ等于0其实是一个条件&#xff0c;因为J σE 线性介质的麦克斯韦方程 线性介质无源无损耗条件下 线性介质无源有损耗导电介质下 无源有损耗的复数麦克斯韦方程组&#xff0c;只有方程二与无源无损耗的麦克斯韦方程组不同…