资讯动态

tldr 项目中的 id 命令速查指南:详解 UID、GID 与用户/组身份查询

发布时间:2026/10/1 2:39:58 来源:尧图企业网站定制
文档教程知识库【免费下载链接】tldrCollaborative cheatsheets for console commands .项目地址https://gitcode.com/GitHub_Trending/tl/tldr点击查看免费下载id是 GNU coreutils 家族中最基础也最常用的身份查询命令用于一次性输出当前或指定用户的用户标识符UID、组标识符GID及所属的全部组信息。本文以 tldr 仓库中的阿拉伯语速查页 pages.ar/common/id.md 及其英文源页 pages.en/common/id.md 为骨架结合仓库内的阿拉伯语风格指南、通用占位符翻译表以及whoami、logname、groups等关联页面完整讲解id的每一个参数、输出格式的解读方法以及 tldr 页面中选项占位符语法的设计原理。读完本文你将能熟练使用id排查权限问题、确认当前账户身份并理解为何速查页会把{{[-un|--user --name]}}这种写法写进示例。id 命令是什么id是一条显示「当前用户与组身份」的命令属于 GNU coreutils 工具集。在 Linux 与类 Unix 系统中每个进程都以某个用户的身份运行而用户身份由数字形式的 UIDUser ID用户标识符唯一标识同时每个用户必然属于一个主组primary group由 GID 标识还可以被加入若干附加组supplementary groups。id的作用就是把「当前进程所属的真实身份」一次性地、结构化地打印出来因此它常被用于确认当前登录的是哪个账户、其 UID/GID 是多少排查文件权限问题文件权限判定依赖进程的 UID 与所属组检查某个用户被加入了哪些附加组判断其是否拥有sudo、docker等特殊组权限在脚本中对账户身份做条件判断。tldr 仓库中的英文速查页在开头即注明它与logname命令互相参考See also: logname阿拉伯语页同样保留了这条提示انظر أيضًا: logname。这是因为logname只回答「登录名是什么」而id回答的是更完整的「我是谁、我属于哪些组」。基础用法直接运行 idtldr 速查页给出的第一个示例也是该命令最经典的用法——不加任何参数id运行后会输出当前用户完整的身份快照典型的输出形如uid1000(john) gid1000(john) groups1000(john),4(adm),27(sudo)逐段解读如下输出段含义uid1000(john)当前用户 UID 为 1000用户名 johngid1000(john)当前用户主组 GID 为 1000组名 johngroups1000(john),4(adm),27(sudo)所属的全部组主组 1000(john)附加组 4(adm)、27(sudo)也就是说id无参数输出等价于把-u、-g、-G三类信息合并展示。对于快速确认「我现在以什么身份在运行」这是最直接的一行命令。核心选项详解user、group 与 nameid的输出信息可以拆分成独立的「数字」与「名字」两个维度tldr 速查页为此提供了-u/--user、-g/--group、-G/--groups以及-n/--name四类选项。其中-n--name必须与-u、-g或-G之一组合使用作用是把「数字标识符」换成「可读的名字」。当前用户名与 UID查看当前用户的用户名名字形式id {{[-un|--user --name]}}查看当前用户的 UID数字形式id {{[-u|--user]}}-u输出的是纯数字 UID例如1000加上-n后输出的是用户名例如john。这两个例子恰好说明了 tldr 速查页的核心设计-un与--user --name语义等价页面用占位符{{[-un|--user --name]}}同时表达两种写法具体展示哪一种由 tldr 客户端根据用户的偏好设置决定。主组名与主组 GID查看当前主组名称id {{[-gn|--group --name]}}查看当前主组 GID数字形式id {{[-g|--group]}}与-u的区别在于-u/-un回答「用户是谁」而-g/-gn回答「主组是谁」。主组是用户创建文件时的默认属组判断一个文件默认属于哪个组时id -gn是最快捷的检查手段。全部组与附加组英文源页还补充了一个阿拉伯语页未收录的示例——查看当前用户所属的全部组名字形式id {{[-Gn|--groups --name]}}-G会列出用户所属的所有组含主组与全部附加组其数字形式为id -G名字形式为id -Gn。例如前文groups段的输出对应id -Gn会打印john adm sudo。这一条虽然不在阿拉伯语页中但与id的「组查询」主题高度相关属于对速查页的合理补全。查看指定用户的信息id同样支持查询任意用户id {{username}}将{{username}}替换为目标账户名后输出会改为该用户的 UID、GID 与所属组。例如id root会输出uid0(root) gid0(root) groups0(root)。该功能常用于系统管理员检查其他账户的组归属或确认某账户是否被加入了wheel、sudo等特权组。跳过名称查找显式指定 UID英文源页还记录了一个较特殊的用法——直接以数字 UID 查询并跳过名称查找id {{uid_number}}前缀表示后续传入的是数字 UID 而非用户名适合在名称解析NSS、LDAP 等异常、或明确想用纯数字身份查询时使用。这也是id区别于getent passwd等查询命令的一个独有语法。相关命令logname、whoami 与 groupstldr 仓库中与id直接相关的页面有三张它们各司其职组合使用可以覆盖「身份查询」的全部场景命令页面回答的问题lognamepages.en/common/logname.md当前登录用户的登录名是什么whoamipages.en/common/whoami.md我是谁用户名的快捷方式groupspages.en/common/groups.md某用户的组归属列表idpages.en/common/id.md完整身份UID、GID 与全部组特别值得留意的是 whoami 速查页 的实现tldr 没有为whoami编写独立的命令示例而是直接把它标注为id --user --name的别名This command is an alias of id --user --name并引导用户通过tldr id查看原始命令文档。这从侧面印证了id -un与whoami的输出是等价的二者都只打印当前用户名。而logname则关注「登录时使用的账户名」与id输出中基于真实 UID 解析出的用户名可能不同例如通过su或权限提升后这也是速查页把logname放在 See also 位置的原因。深入解读 tldr 页面的选项占位符语法细心观察会发现速查页中的示例并不是直接写id -un而是写成id {{[-un|--user --name]}}。这一语法来自 tldr 项目的阿拉伯语风格指南中「选项占位符格式」一节的约定当命令同时支持短选项与长选项时页面应使用{{[-o|--output]}}形式的占位符让客户端能够根据用户的配置自动决定展示短选项还是长选项。具体到id{{[-un|--user --name]}}表示-un与--user --name两种等价写法{{[-u|--user]}}表示-u与--user两种等价写法{{[-gn|--group --name]}}表示-gn与--group --name{{[-g|--group]}}、{{[-Gn|--groups --name]}}同理。同时风格指南还规定应优先使用 GNU 长选项如--user并建议把可以合并的短选项合并书写如-un但不要把带参数的选项合并进同一组。这种「双写法占位符」机制正是 tldr 区别于传统 man 手册的一大特性同一份速查页既能在偏好长选项的客户端上显示为id --user --name也能在偏好短选项的终端环境中显示为id -un。阿拉伯语页面的翻译约定占位符不翻译本文主角是阿拉伯语版速查页 pages.ar/common/id.md。对比中英文页面可以发现一个细节阿拉伯语页中的{{username}}、{{uid_number}}等占位符仍保留英文原文并未翻译成阿拉伯语。这不是遗漏而是 tldr 项目的明确规定——仓库的通用占位符翻译表在文件开头注明阿拉伯语ar与波斯语fa页面中的占位符不应被翻译以免 RTL从右到左排版导致文字翻转错乱。表格中ar一行因此与英文完全一致path/to/file、username、command等全部保留英文。此外阿拉伯语页的标题、描述与示例描述均使用阿拉伯语撰写例如「显示当前用户名」写作عرض اسم المستخدم الحالي而命令本身与占位符保持英文。这也体现了 tldr 多语言页面的通用分工描述语言本地化命令与参数保持原样可复制可执行。在仓库中如何验证与扩展本页读者可以在本仓库中按以下路径对id速查页做横向对比与验证英文源页pages.en/common/id.md包含-Gn与uid两个阿拉伯语页未收录的示例可作为完整参考阿拉伯语页pages.ar/common/id.md即本文主体中文对应页面位于pages.zh/common/目录下可对照阅读不同语言的处理方式占位符翻译约定contributing-guides/translation-templates/common-arguments.md页面格式规范contributing-guides/style-guide.ar.md。若想验证自己改写的速查页格式是否合规仓库的阿拉伯语风格指南推荐使用 tldr 官方 linter在本地安装后即可对页面进行校验npm install --global tldr-lint tldr-lint path/to/tldr_page.md也可以使用客户端的渲染选项本地预览页面效果tldr --render path/to/tldr_page.md小结id是身份查询场景下的瑞士军刀无参数运行即可获得 UID、GID 与全部组的完整快照-u/-g/-G分别聚焦用户、主组与全量组-n负责把数字换成名字指定username或uid则可查询任意用户。tldr 速查页 pages.ar/common/id.md 用 6 个精炼示例覆盖了这些核心场景其{{[-un|--user --name]}}式占位符既是 tldr 双写法机制的典型应用也是阿拉伯语页面在 RTL 排版下保持占位符英文原样的具体体现。掌握了这张速查页日常权限排查、账户核对与组归属检查都可以一句话完成。赞分享文档教程知识库【免费下载链接】tldrCollaborative cheatsheets for console commands .项目地址https://gitcode.com/GitHub_Trending/tl/tldr点击查看免费下载相关推荐tldr 项目中的 kill 命令详解信号机制、用法速查与中文实践指南tldr 项目中的 kill 命令详解信号机制、用法速查与中文实践指南 kill 是类 Unix 系统中向进程发送信号的经典命令其核心用途是优雅或强制地终止文档教程知识库Grafana Tempo 内置 Prometheus 引擎中的 PromQL 表达式美化器prettier_rules 规范与源码解析Grafana Tempo 内置 Prometheus 引擎中的 PromQL 表达式美化器prettier_rules 规范与源码解析 PromQLPro文档教程SerenityOS id 命令完全指南用户与组标识信息查询实战SerenityOS id 命令完全指南用户与组标识信息查询实战 导读 id 是 SerenityOS 中用于查询当前用户或指定用户的用户标识UID、操作系统内核驱动上一篇深入解析 Trellis 初始化生成的本地文件体系.trellis 目录、平台集成文件与模板哈希更新机制下一篇告别 C 盘爆红免费开源系统清理工具 Windows Cleaner 上手全攻略创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑