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

Linux 命令之 users 详解(查看当前登录用户)

1. 命令简介

users 命令用于显示当前登录到系统的所有用户名。该命令会读取系统登录记录文件,并输出当前活跃登录会话对应的用户名列表。如果一个用户有多个登录会话(例如通过多个终端或 SSH 连接登录),则该用户名会在输出中重复出现相应的次数。

该命令是 GNU coreutils 工具集的一部分,通常预装在大多数 Linux 发行版中。

2. 语法格式

plaintext

users [OPTION]... [FILE]

参数说明

  • [OPTION]:可选的一个或多个选项,用于控制命令行为。
  • [FILE]:可选的登录记录文件。如果未指定,命令默认读取/var/run/utmp文件来获取当前登录用户信息。历史上也支持读取/var/log/wtmp来查看历史登录记录,但标准用法通常不指定文件参数。

3. 常用选项及说明

表格

短选项长选项说明
--help显示命令的帮助信息并退出
--version显示命令的版本信息并退出

4. 示例用法

示例 1:显示当前所有登录用户

直接运行 users 命令,查看当前系统中的登录用户。

bash

运行

$ users alice bob charlie

输出显示当前有三个用户登录:alice、bob 和 charlie。

示例 2:用户多次登录的显示

如果一个用户通过多个终端或会话登录,其用户名会重复显示。

bash

运行

$ users alice alice bob

输出表明用户 alice 有两个活跃的登录会话,用户 bob 有一个。

示例 3:查看帮助信息

使用--help选项获取命令的详细用法说明。

bash

运行

$ users --help

示例 4:查看版本信息

使用--version选项查看 users 命令的版本。

bash

运行

$ users --version

示例 5:指定登录记录文件(高级用法)

理论上可以指定一个替代的登录记录文件(如旧的 wtmp 文件)进行分析,但这并非标准用法,且文件格式必须兼容。

bash

运行

$ users /var/log/wtmp.1

注意:此用法不常见,且依赖于文件的存在和可读性。

示例 6:统计不重复登录用户数

users 本身无去重功能,可结合其他命令实现:

bash

运行

$ users | tr ' ' '\n' | sort -u | wc -l

5. 注意事项

  1. 依赖登录记录文件users 命令的输出完全依赖于系统登录记录文件(默认为/var/run/utmp)的准确性和完整性。如果该文件损坏或权限设置不当,命令可能无法正常工作或输出错误信息。

  2. 显示的是登录会话该命令显示的是登录会话,而非独立的系统用户账户。因此,同一用户的多次登录会导致其用户名重复出现。

  3. 无复杂选项users 是一个功能单一的命令,没有用于排序、去重或格式化的内置选项。如果需要更复杂的处理(如去重、计数),需要结合其他命令(如 sort, uniq, wc)使用。

  4. GNU coreutils该命令属于 GNU coreutils 包。更详细的信息可以通过系统手册 (man) 或 info 文档查看:

    bash

    运行

    man users # 或 info coreutils 'users invocation'
  5. 返回值

    • 0:表示命令执行成功。
    • 0:表示执行过程中出现错误(如文件无法读取)。
http://www.jsqmd.com/news/1163498/

相关文章:

  • ESP32-WROOM-32E-N4R2:自带2MB PSRAM的均衡之选,轻松应对复杂应用
  • GPT-5.6 正式上线:Sol 编程超 Claude,Meta 加入价格战,270 亿模型压进 iPhone
  • 2026年张家界GEO系统贴牌服务商靠谱源头厂商综合实力推荐:旅游城市AI搜索赛道,源头系统怎么选? - 小随科技
  • 2026咸宁市咸安区好吃的烧烤、夜宵,本地老饕认证 - 资讯纵览
  • 如何从零开始构建3D实时战略游戏:OpenRTS完整入门指南
  • 海康摄像头RTSP流问题 method DESCRIBE failed: 401 Unauthorized
  • 北京极创印象网络科技有限公司可以做什么?全域 AI 营销解决方案解析
  • Vue2+Vuex实战入门:从vue2-happyfri项目掌握前端状态管理核心技巧
  • OpenAI 推出 GPT-Live:告别回合制,AI 语音交互体验大升级!
  • 喜报!《Region - Water Conservancy》被英国EuroPub数据库收录!
  • 基于改进YOLOV11-SOEP的工厂钢材表面缺陷识别系统研究(含源码+数据集+论文)
  • DARTS非标记技术在天然产物机制解析中的应用
  • DigitalJS设备类型完全手册:从基础门电路到复杂FSM的全面解析
  • 牡丹江GEO系统贴牌服务商靠谱源头厂商综合实力推荐TOP3:本地合伙人如何选对源头工厂、构建长期GEO业务线? - 子柔传媒
  • PPT 配图不想再找素材?用 AI 生成概念图的硬核实战思路
  • 扩散模型创新应用:top-cvpr-2024-papers项目中的DragDiffusion与DemoFusion技术解析
  • G#:当 Go、Kotlin 与 Swift 的美学遇见 .NET 运行时
  • 2026太仓免砸砖防水口碑实测,16个真实案例:卫生间漏水不砸砖到底行不行? - 苏易房屋修缮
  • rag与agent
  • Three.js geojson获取工具教程
  • 暗黑2存档编辑器d2s-editor:5步打造你的完美游戏角色
  • 刷题笔记:力扣第39、40题(回溯算法)
  • 齐齐哈尔GEO系统贴牌服务商靠谱源头厂商综合实力推荐TOP3:支持OEM贴牌、技术加盟的合作路径怎么选? - 科技快讯
  • 环保领域“碳排放监测”高价值专利案例:面向清洁能源的全生命周期碳排放计算方法
  • 2026年最强AI论文平台推荐,从选题到定稿一站式服务
  • 【Python 字典推导式与集合推导式】
  • CTPersistance源码解析:深入理解iOS SQLite封装的实现原理
  • ThingsBoard多租户备份终极指南:5分钟搞定自动化定时任务与数据安全验证
  • Elsevier投稿追踪插件:科研工作者的智能审稿进度管理终极指南
  • I2C与SPI设备驱动实战:嵌入式Linux下的外设通信协议开发完整指南