05.用戶和組管理命令

用戶和組管理命令

  • 用戶和組管理命令
    • 1. getent
    • 2. useradd
    • 3. usermod
    • 4. userdel
    • 5. id
    • 6. su
    • 7. passwd
    • 8. chage
    • 9. groupadd
    • 10. groupmod
    • 11. groupdel
    • 12. gpasswd
    • 13. groupmems

用戶和組管理命令

用戶和組的主要配置文件

  • /etc/passwd:用戶及其屬性信息(名稱、UID、主組ID等)
  • /etc/shadow:用戶密碼及其相關屬性
  • /etc/group:組及其屬性信息
  • /etc/gshadow:組密碼及其相關屬性

1. getent

# 根據用戶名查看配置項
getent passwd|shadow|group|gshadow  [uname]

2. useradd

★ 創建新的Linux用戶
useradd [options] LOGIN
useradd -D
useradd -D [options]-u|--uid UID             		# 指定UID
-g|--gid GID            		# 指定用戶組,-g groupname|--gid GID
-c|--comment COMMENT         	# 新賬戶的 GECOS 字段
-d|--home-dir HOME_DIR       	# 指定家目錄,可以是不存在的,指定家目錄,并不代表創建家目錄
-s|--shell SHELL         		# 指定 shell,可用shell在/etc/shells 中可以查看
-r|--system               		# 創建系統用戶,CentOS 6之前 ID<500,CentOS7 以后ID<1000,不會創建登錄用戶相關信息
-m|--create-home         		# 創建家目錄,一般用于登錄用戶
-M|--no-create-home       		# 不創建家目錄,一般用于不用登錄的用戶
-p|--password PASSWORD   		# 設置密碼,這里的密碼是以明文的形式存在于/etc/shadow 文件中
-o|--non-unique           		# 允許使用重復的 UID 創建用戶
-G|--groups GROUP1[,GROUP2,...] # 為用戶指明附加組,組須事先存在
-N|--no-user-group       		# 不創建同名的組,使用users組做主組
-D|--defaults                   # 顯示或更改默認的 useradd 配置,默認配置文件是/etc/default/useradd
-e|--expiredate EXPIRE_DATE 	# 指定賬戶的過期日期 YYYY-MM-DD 格式
-f|--inactive INACTIVE       	# 密碼過期之后,賬戶被徹底禁用之前的天數,0 表示密碼過期立即禁用,-1表示不使用此功能
-k|--skel SKEL_DIR 				# 指定家目錄模板,創建家目錄,會生成一些默認文件,如果指定,就從該目錄復制文件,默認是/etc/skel/,要配合-m
-K|--key KEY=VALUE   			# 不使用 /etc/login.defs 中的默認值,自己指定,比如 -K UID_MIN=100 
-l|--no-log-init 				# 不將用戶添加到最近登錄和登錄失敗記錄,前面講到的3a認證審計,就在此處lastlog|lastb|cat /var/log/secure[root@rocky8 ~]# useradd tom
[root@rocky8 ~]# getent passwd tom
tom:x:1001:1001::/home/tom:/bin/bash
[root@rocky8 ~]# getent shadow tom
tom:!!:19752:0:99999:7:::
[root@rocky8 ~]# getent group tom
tom:x:1001:
[root@rocky8 ~]# getent gshadow tom
tom:!::# 新建用戶的相關文件
/etc/default/useradd  
/etc/skel/*  
/etc/login.defs

3. usermod

★ 修改用戶屬性
usermod [options] LOGIN-c|--comment COMMENT         # 修改注釋
-d|--home HOME_DIR           # 修改家目錄
-e|--expiredate EXPIRE_DATE  # 修改過期的日期,YYYY-MM-DD 格式
-f|--inactive INACTIVE       # 密碼過期之后,賬戶被徹底禁用之前的天數,0 表示密碼過期立即禁用,-1表示不使用此功能
-g|--gid GROUP               # 修改組
-G|--groups GROUPS           # groupName|GID... 新附加組,原來的附加組將會被覆蓋;若保留原有,則要同時使用-a選項
-a|--append GROUP            # 將用戶追加至上邊 -G 中提到的附加組中,并不從其它組中刪除此用戶
-l|--login LOGIN             # 新的登錄名稱
-L|--lock                    # 鎖定用戶帳號,在/etc/shadow 密碼欄的增加 !
-m|--move-home               # 將家目錄內容移至新位置,和 -d 一起使用
-o|--non-unique              # 允許使用重復的(非唯一的) UID
-p|--password PASSWORD       # 修改密碼,這里是明文,如果要在此處修改密碼,則要用加密后的字符串
-s|--shell SHELL             # 修改 shell
-u|--uid UID                 # 修改 UID
-U|--unlock                  # 解鎖用戶帳號,將 /etc/shadow 密碼欄的!拿掉[root@rocky8 ~]# getent shadow nan
nan:$6$bqKkb17ECiAyoWFn$s8rd8DYDLWMBL1TGczKMjg1D18B4nDYHY84mNMetEwFC6tr1WIPyvVVorN68Dq1U/rNNhpeNkltZ2DAqZPk9R0::0:99999:7:::
[root@rocky8 ~]# usermod -L nan
[root@rocky8 ~]# getent shadow nan
nan:!$6$bqKkb17ECiAyoWFn$s8rd8DYDLWMBL1TGczKMjg1D18B4nDYHY84mNMetEwFC6tr1WIPyvVVorN68Dq1U/rNNhpeNkltZ2DAqZPk9R0::0:99999:7:::
[root@rocky8 ~]# usermod -U nan
[root@rocky8 ~]# getent shadow nan
nan:$6$bqKkb17ECiAyoWFn$s8rd8DYDLWMBL1TGczKMjg1D18B4nDYHY84mNMetEwFC6tr1WIPyvVVorN68Dq1U/rNNhpeNkltZ2DAqZPk9R0::0:99999:7:::

4. userdel

★ 刪除Linux 用戶
userdel [options] LOGIN-f|--force     # 強制刪除,哪怕用戶正在登錄狀態
-r|--remove    # 刪除家目錄和郵件目錄

5. id

★ 查看用戶的UID,GID等信息
id [OPTION]... [USER]-a             # 顯示詳細信息,默認選項
-Z|--context   # 僅顯示安全上下文信息,要開啟selinux 配置才有
-g|--group     # 僅顯示GID,就是只顯示主組ID
-G|--groups    # 顯示主組和附加組ID,就是所有組ID
-n|--name      # 顯示用戶名或組名,要組合使用 -nu|-ng|-nG
-u|--user      # 僅顯示UID[root@rocky8 ~]# id
uid=0(root) gid=0(root) groups=0(root) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[root@rocky8 ~]# id -a
uid=0(root) gid=0(root) groups=0(root) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[root@rocky8 ~]# id -nu
root
[root@rocky8 ~]# id postfix
uid=89(postfix) gid=89(postfix) groups=89(postfix),12(mail)
[root@rocky8 ~]# id -G postfix
89 12
[root@rocky8 ~]# id -nG postfix
postfix mail

6. su

★ 切換用戶或以其他用戶身份執行命令
su [options...] [-] [user [args...]]-m|-p|--preserve-environment  # 不重置環境變量
-g|--group group              # 指定主組,只有root 切普通用戶才能指定此參數
-|-l|--login                  # 完全切換
-c|--command command          # 不切換用戶,而是臨時使用該用戶權限和環境執行命令
--session-command command     # 使用上同 -c 選項,但不會創建會話
-f|--fast                     # 向shell 傳遞 -f 選項(csh 或 tcsh)
-s|--shell shell              # 切換用戶后,指定新環境的shell環境,必須在 /etc/shells 中存在
-P|--pty                      # 開一個新的終端切換用戶的方式:su UserName:非登錄式切換,即不會讀取目標用戶的配置文件,不改變當前工作目錄,即不完全切換su - UserName:登錄式切換,會讀取目標用戶的配置文件,切換至自已的家目錄,即完全切換
說明:root su至其他用戶無須密碼;非root用戶切換時需要密碼
注意:su 切換新用戶后,使用 exit 退回至舊的用戶身份,而不要再用 su 切換至舊用戶,否則會生成很多的bash子進程,環境可能會混亂。★ 完全切換和不完全切換的區別
[nan@rocky8 ~]$ pwd
/home/nan
[nan@rocky8 ~]$ su root
Password: 
[root@rocky8 nan]# pwd
/home/nan
[root@rocky8 nan]# exit
exit
[nan@rocky8 ~]$ pwd
/home/nan
[nan@rocky8 ~]$ su - root
Password: 
[root@rocky8 ~]# pwd
/root★ 直接以另一個用戶執行命令,而不切換用戶
[root@rocky8 ~]# su - nan
[nan@rocky8 ~]$ touch nan1.txt
[nan@rocky8 ~]$ exit
logout
三步變一步
[root@rocky8 ~]# su - nan -c "touch nan2.txt"
[root@rocky8 ~]# ll /home/nan/nan*
-rw-rw-r--. 1 nan nan 0 Jan 30 16:18 /home/nan/nan1.txt
-rw-rw-r--. 1 nan nan 0 Jan 30 16:20 /home/nan/nan2.txt

7. passwd

★ 修改用戶密碼
passwd [OPTION...] <accountName>-k|--keep-tokens       # 保持身份驗證令牌不過期
-d|--delete            # 刪除用戶密碼,也刪除密碼鎖,僅root有權限操作
-l|--lock              # 鎖定用戶密碼,僅root有權限操作
-u|--unlock            # 解鎖用戶密碼,僅root有權限操作
-e|--expire            # 終止用戶密碼,此操作完成后,用戶下次登錄成功后要立馬修改,僅root有權限操作
-f|--force             # 強制執行操作
-x|--maximum=DAYS      # 指定用戶密碼最長有效期,僅root有權限操作
-n|--minimum=DAYS      # 指定用戶密碼最短有效期,僅root有權限操作
-w|--warning=DAYS      # 在密碼過期前多少天開始提醒用戶,僅root有權限操作
-i|--inactive=DAYS     # 當密碼過期后經過多少天該用戶賬號會被禁用,僅root有權限操作
-S|--status            # 查詢用戶的密碼狀態,僅root有權限操作
--stdin                # 從標準輸入接收密碼,Ubuntu無此選項★ 普通用戶修改自己密碼
[nan@rocky8 ~]$ passwd
Changing password for user nan.
Current password: 
New password: 
Retype new password: 
passwd: all authentication tokens updated successfully.★ root修改其它用戶密碼
[root@rocky8 ~]# passwd nan
Changing password for user nan.
New password: 
BAD PASSWORD: The password is shorter than 8 characters
Retype new password: 
passwd: all authentication tokens updated successfully.

8. chage

★ 修改用戶密碼策略
chage [options] LOGIN-d LAST_DAY                  # 更改密碼的時間
-m|--mindays MIN_DAYS
-M|--maxdays MAX_DAYS
-W|--warndays WARN_DAYS
-I|--inactive INACTIVE       # 密碼過期后的寬限期
-E|--expiredate EXPIRE_DATE  # 用戶的有效期
-l                           # 顯示密碼策略[root@rocky8 ~]# chage -l nan
Last password change					: Jan 30, 2024
Password expires					: never
Password inactive					: never
Account expires						: never
Minimum number of days between password change		: 0
Maximum number of days between password change		: 99999
Number of days of warning before password expires	: 7

9. groupadd

★ 創建組
groupadd [options] GROUP-f|--force              # 如果組已經存在則成功退出
-g|--gid GID            # 新建組時指定組ID,默認是系統分配,指定值不要超過[GID_MIN,GID_MAX]
-K|--key KEY=VALUE      # 不使用 /etc/login.defs 中的默認值,自己指定,比如 -K GID_MIN=100 
-o|--non-unique         # 允許創建有重復 GID 的組
-p|--password PASSWORD  # 為新組使用此加密過的密碼,這里要用加密后的密文,不然就是直接是明文在/etc/gshadow 里面
-r|--system             # 創建一個系統組 CentOS 6之前: ID<500,CentOS 7以后: ID<1000[root@rocky8 ~]# groupadd -g 48 -r apache
[root@rocky8 ~]# getent group apache 
apache:x:48:
★ 不加 -f 會提示己存在,加 -f 直接結束
[root@rocky8 ~]# groupadd apache
groupadd: group 'apache' already exists
[root@rocky8 ~]# groupadd -f apache

10. groupmod

★ 修改組屬性
groupmod [options] GROUP-g|--gid GID                 # 將組 ID 改為 GID
-n|--new-name NEW_GROUP      # 改名為 NEW_GROUP
-o|--non-unique              # 允許使用重復的 GID
-p|--password PASSWORD       # 將密碼更改為(加密過的) PASSWORD[root@rocky8 ~]# getent group apache 
apache:x:48:
[root@rocky8 ~]# groupmod -g 123 apache
[root@rocky8 ~]# getent group apache 
apache:x:123:
[root@rocky8 ~]# groupmod -n apache2 apache
[root@rocky8 ~]# getent group apache 
[root@rocky8 ~]# getent group apache2
apache2:x:123:

11. groupdel

★ 刪除組
groupdel [options] GROUP-f|--force # 強制刪除,即使是用戶的主組也強制刪除組,但會導致無主組的用戶不可用無法登錄
強制刪除之后,顯示該組名的地方,只能顯示該組ID,如果此時新建與組ID相同的新組,則被刪除的組的數據會被新組關聯[root@rocky8 ~]# groupdel apache2
[root@rocky8 ~]# getent group apache2刪除組:如果該組下有用戶將組作為主組,則不能刪除
刪除用戶:會把與其同ID的主組也給刪了,前提是該組下沒有其它用戶

12. gpasswd

★ 更改組密碼,也可以修改附加組的成員關系組沒有密碼的情況下,加組只能由root來操作
gpasswd [option] GROUP-a|--add USER                   # 向組中添加用戶
-d|--delete USER                # 從組中移除用戶
-r|--delete-password           	# 刪除組密碼
-R|--restrict                  # 向其成員限制訪問組 GROUP
-M|--members USER,...          # 批量加組
-A|--administrators ADMIN,...  # 批量設組管理員[root@rocky8 ~]# groupadd group1
[root@rocky8 ~]# getent gshadow group1 
group1:!::
[root@rocky8 ~]# groups nan
nan : nan
[root@rocky8 ~]# id nan
uid=1000(nan) gid=1000(nan) groups=1000(nan)
[root@rocky8 ~]# gpasswd -a nan group1
Adding user nan to group group1
[root@rocky8 ~]# getent gshadow group1 
group1:!::nan
[root@rocky8 ~]# groups nan
nan : nan group1
[root@rocky8 ~]# id nan
uid=1000(nan) gid=1000(nan) groups=1000(nan),1002(group1)★ 設置組密碼
[root@rocky8 ~]# gpasswd group1 
Changing the password for group group1
New Password: 
Re-enter new password: 
[root@rocky8 ~]# getent gshadow group1 
group1:$6$7rWweq0F$UQKecLT2gfpuXMg1pzdcchuUjAaQdVKvRXxcbqB2rw2wYKmaBBPSFl9aQSy0p9/WkqGZK6Jq1gpXdjnX3gOSl0::nan★ 移除組成員
[root@rocky8 ~]# gpasswd -d nan group1 
Removing user nan from group group1
[root@rocky8 ~]# groups nan
nan : nan★ 補充:groups 可查看用戶組關系(查看用戶所屬組列表)groups [OPTION].[USERNAME]... 

13. groupmems

★ 管理附加組的成員關系(更改和查看組成員)
groupmems [options] [action]-g|--group groupname   # 更改為指定組 (只有root)
-a|--add username      # 指定用戶加入組
-d|--delete username   # 從組中刪除用戶
-p|--purge             # 從組中清除所有成員
-l|--list              # 顯示組成員列表★ 列出以group1 組為附加組的用戶
[root@rocky8 ~]# groupmems -g group1 -l★ 將jose 加到group1 組
[root@rocky8 ~]# groupmems -g group1 -a jose
[root@rocky8 ~]# groupmems -g group1 -l
jose 
[root@rocky8 ~]# id jose
uid=1000(jose) gid=1000(jose) groups=1000(jose),1004(group1)

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/919269.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/919269.shtml
英文地址,請注明出處:http://en.pswp.cn/news/919269.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

go 多版本共存【goup + alias方案】

一、需求背景 以go1.21為主&#xff0c;臨時可以快速切換到go1.23,且只有當前窗口生效 二、安裝 安裝 goup go install github.com/owenthereal/goup/cmd/gouplatest安裝 go1.23 # 注意這里是安裝新的sdk,如果你本地存在相同版本的話&#xff0c;應該保持統一用goup安裝的 goup…

DR200差速移動機器人的多功能感知系統與多場景應用

DR200差速移動機器人平臺是一款基于室內平地的差速轉向移動機器人底盤&#xff0c;主要針對教育教學、超市移動促銷、無人配送、室內倉儲、室內巡檢、物流搬運等行業。整套底盤采用了4個萬向輪和雙驅動輪差速驅動結構&#xff0c;間驅動輪帶直流無刷伺服電機。整套結構采用了擺…

基于ZLMediaKit的大疆上云視頻流服務集成方案

引言 隨著無人機技術的快速發展&#xff0c;大疆&#xff08;DJI&#xff09;設備產生的高清視頻流需要高效、低延遲的云端處理方案。傳統基于SRS的視頻流服務在多協議支持和并發性能上存在局限&#xff0c;而ZLMediaKit作為一款高性能流媒體服務框架&#xff0c;憑借其多協議支…

用 Python 實現一個“小型 ReAct 智能體”:思維鏈 + 工具調用 + 環境交互

在大語言模型&#xff08;LLM&#xff09;的應用開發中&#xff0c;如何讓模型具備調用外部工具的能力是一個關鍵問題。我們不希望模型只是“生成答案”&#xff0c;而是能像一個智能體&#xff08;Agent&#xff09;一樣&#xff0c;按照推理鏈條自主決定調用搜索、計算、或數…

集成電路學習:什么是SIFT尺度不變特征變換

SIFT:尺度不變特征變換 SIFT(尺度不變特征變換,Scale Invariant Feature Transform)是一種在圖像處理和計算機視覺領域廣泛應用的算法,由David Lowe在1999年提出。該算法能夠在圖像的不同尺度、旋轉和光照條件下保持特征不變性,從而提取出獨特的特征點,并用于圖像…

短視頻流量|基于Java+vue的短視頻流量數據分析系統(源碼+數據庫+文檔)

短視頻流量數據分析系統 基于SprinBootvue的短視頻流量數據分析系統 一、前言 二、系統設計 三、系統功能設計 系統功能模塊 管理員功能模塊實現 四、數據庫設計 五、核心代碼 六、論文參考 七、最新計算機畢設選題推薦 八、源碼獲取&#xff1a; 博主介紹&#xff…

【無標題】卷軸屏手機前瞻:三星/京東方柔性屏耐久性測試進展

卷軸屏手機前瞻&#xff1a;三星/京東方柔性屏耐久性測試進展卷軸屏手機的產業化突破臨近2025年全球柔性屏市場規模預計突破186億美元&#xff0c;其中卷軸屏技術正從概念走向量產。三星顯示近期宣布新一代柔性OLED面板通過50萬次折疊認證&#xff0c;日均折疊200次可使用6年以…

Git 入門指南:核心概念與常用命令全解析

Git 入門指南&#xff1a;核心概念與常用命令全解析前言一、Git相關概念1.1 工作目錄1.2 暫存區1.3 本地倉庫1.3 遠程倉庫1.3.1 首次提交到遠程倉庫提示輸入用戶名密碼1.3.2 解決方法二、Git常用命令2.1 配置命令2.1.1 查看當前 Git 配置的所有信息2.1.2 查看系統全局配置2.1.3…

懸賞任務網站源碼多平臺兼職賺錢搭建圖解

功能詳細說明 &#xff08;一&#xff09;登錄與注冊 1、登錄&#xff1a;打開系統用戶端&#xff0c;輸入已注冊的手機號和密碼進行登錄。 若為忘記密碼&#xff0c;可通過 “找回密碼” 功能&#xff0c;按提示驗證身份后重置密碼登錄。 2、注冊&#xff1a;點擊 “注冊” 按…

Node.js簡介及安裝

一、Nodejs簡介 1、核心定義 Node.js 是一個基于 Chrome V8 引擎的開源、跨平臺 JavaScript 運行時環境&#xff08;Runtime&#xff09;&#xff0c;用于在服務器端或本地運行 JavaScript 代碼。它并非編程語言、庫或框架&#xff0c;而是擴展了 JavaScript 的能力&#xff0…

KINGBASE集群日常維護管理命令總結

查看集群的狀態 [kingbasenode1 bin]$ repmgr cluster show查看守護集群狀態 [kingbasenode1 bin]$ repmgr service status查看集群的事件 [kingbasenode1 etc]$ repmgr cluster event查看集群流復制狀態 esrep#select usename,application_name,client_addr,sync_state,state,…

GoLand 調參高手都在用的配置!續集:WebStorm 飛升后,Go 開發 IDE 性能炸裂的秘密

“為什么別人的 GoLand 運行 Go 項目絲滑流暢&#xff0c;而你的卻頻繁卡頓、編譯轉圈&#xff1f;秘密就藏在這個 goland64.exe.vmoptions文件里&#xff01;作為 IDEA/PyCharm/WebStorm 調優系列的續集&#xff0c;我把我壓箱底的 ?GoLand 性能調優參數表? 分享出來—>&…

48Days-Day19 | ISBN號,kotori和迷宮,矩陣最長遞增路徑

ISBN號 ISBN號碼_牛客題霸_牛客網 算法原理 模擬&#xff0c;根據題意模擬就可以了&#xff0c;注意一下余數為10的時候要特別判斷一下是不是X就行了 代碼 import java.util.Scanner;// 注意類名必須為 Main, 不要有任何 package xxx 信息 public class Main {public stat…

Java 泛型類型擦除

&#x1f4d6; 概述 本文檔詳細解釋了 Flink 中 TypeInformation 的作用、原理和使用方法&#xff0c;幫助理解為什么 Flink 需要顯式的類型信息。 &#x1f3af; 核心問題&#xff1a;Java 泛型類型擦除 什么是類型擦除&#xff1f; Java 在編譯時會將泛型信息擦除&#xff0c…

從“寫代碼”到“定義需求”:AI編程工具如何重構軟件開發的核心流程?

從“寫代碼”到“定義需求”&#xff1a;AI編程工具如何重構軟件開發的核心流程&#xff1f; 軟件開發的核心流程正在經歷一場靜默革命。十年前&#xff0c;開發者的日常被“寫代碼”填滿——從變量定義到邏輯實現&#xff0c;每行代碼都需要手動敲擊&#xff1b;而今天&#x…

一顆TTS語音芯片給產品增加智能語音播報能力

?一顆TTS語音芯片給產品增加智能語音播報能力傳統語音播報芯片可以設置一些固定的語音片段或者內容&#xff0c;但是對于現在各種創新產品層出不窮的時代&#xff0c;傳統的語音播報芯片能力似乎有點不夠用了。而TTS語音合成芯片&#xff0c;正在逐漸登上舞臺中央。TTS語音合成…

[免費]基于Python的影視數據可視化分析系統(Flask+echarts)【論文+源碼+SQL腳本】

大家好&#xff0c;我是python222_小鋒老師&#xff0c;看到一個不錯的基于Python的影視數據可視化分析系統(Flaskecharts)&#xff0c;分享下哈。 項目視頻演示 【免費】基于Python的愛奇藝影視電影數據可視化分析系統(Flaskecharts) Python畢業設計_嗶哩嗶哩_bilibili 系統…

Three.js 材質系統深度解析

簡介 Three.js 是一個功能強大的開源 3D 圖形庫&#xff0c;廣泛應用于 Web 端的 3D 可視化開發。其材質系統是 Three.js 的核心組成部分之一&#xff0c;負責定義 3D 對象的表面外觀和渲染效果。從簡單的顏色填充到復雜的動態效果&#xff0c;材質系統為開發者提供了高度靈活…

FP16(半精度)和FP32(單精度)

FP16&#xff08;Half-Precision Floating Point&#xff0c;半精度浮點數&#xff09;是一種使用16位二進制數表示浮點數值的數據格式&#xff0c;在深度學習、圖形渲染和高性能計算中廣泛應用。其核心定義、技術特性與應用價值如下&#xff1a;一、FP16的核心定義與結構二進制…

基于Vue + Node能源采購系統的設計與實現/基于express的能源管理系統#node.js

基于Vue Node能源采購系統的設計與實現/基于express的能源管理系統#node.js