Go 学习笔记(42)— Go 标准库之 os/user(获取Uid、Gid、Username、Name、HomeDir、查询用户、查询用户组)
1. 引用说明
import "os/user"
user
包允许通过名称或 ID
查询用户帐户。
type User struct {Uid string // 用户IDGid string // 初级组IDUsername stringName stringHomeDir string
}
User
代表一个用户帐户。
posix
系统中Uid
和Gid
字段分别包含代表uid
和gid
的十进制数字;windows
系统中Uid
和Gid
包含字符串格式的安全标识符(SID
);Plan 9
系统中,Uid
、Gid
、Username
和Name
字段是/dev/user
的内容;
type Group struct {Gid string // group IDName string // group name
}
Group
表示一组用户
- 在
POSIX
系统上,Gid
包含一个表示组ID
的十进制数;
2. 相关函数
2.1 func Current
func Current() (*User, error)
返回当前用户。
2.2 func Lookup
func Lookup(username string) (*User, error)
根据用户名查询用户。
2.3 func LookupId
func LookupId(uid string) (*User, error)
根据用户 id
查询用户。
2.4 func LookupGroup
func LookupGroup(name string) (*Group, error)
根据用户组名称查询用户, 返回用户组 Group
的对象指针。
2.5 func LookupGroupId
func LookupGroupId(gid string) (*Group, error)
根据用户组 id
查询用户,返回用户组 Group
的对象指针。
3. 使用示例
package mainimport ("fmt""os/user"
)func main() {u, err := user.Current()if err != nil {fmt.Println("error")}fmt.Printf("u.Uid: %s, u.Gid: %s, u.Name: %s, u.HomeDir: %s, u.Username: %s\n",u.Uid, u.Gid, u.Name, u.HomeDir, u.Username)lu, err := user.Lookup("wohu")if err != nil {fmt.Println("error")}fmt.Printf("lu.Uid: %s, lu.Gid: %s, lu.Name: %s, lu.HomeDir: %s, lu.Username: %s\n",lu.Uid, lu.Gid, lu.Name, lu.HomeDir, lu.Username)li, err := user.LookupId("1000")if err != nil {fmt.Println("error")}fmt.Printf("li.Uid: %s, li.Gid: %s, li.Name: %s, li.HomeDir: %s, li.Username: %s\n",li.Uid, li.Gid, li.Name, li.HomeDir, li.Username)lg, err := user.LookupGroup("wohu")if err != nil {fmt.Println("error")}fmt.Printf("lg.Gid: %s, lg.Name: %s\n",lg.Gid, lg.Name)lgi, err := user.LookupGroupId("1000")if err != nil {fmt.Println("error")}fmt.Printf("lgi.Gid: %s, lgi.Name: %s\n",lgi.Gid, lgi.Name)}
Go 学习笔记(42)— Go 标准库之 os/user(获取Uid、Gid、Username、Name、HomeDir、查询用户、查询用户组)相关推荐
- python基础教程_学习笔记14:标准库:一些最爱——re
标准库:一些最爱 re re模块包括对正則表達式的支持,由于以前系统学习过正則表達式,所以基础内容略过,直接看python对于正則表達式的支持. 正則表達式的学习,见<Mastering Reg ...
- python基础课程_学习笔记13:标准库:有些收藏夹——sys
标准库:有些收藏夹 sys sys这个模块可以让你访问和python解释器联系紧密的变量和函数. sys模块中一些重要的函数和变量 函数/变量 描写叙述 argv 命令行參数,包含脚本名称 exit( ...
- Python学习笔记: Python 标准库概览二
本文来自:入门指南 开胃菜参考:开胃菜 使用Python解释器:使用Python解释器 本文对Python的简介:Python 简介 Python流程介绍:深入Python 流程 Python数据结构 ...
- Python学习笔记: Python 标准库概览
本文来自:入门指南 开胃菜参考:开胃菜 使用Python解释器:使用Python解释器 本文对Python的简介:Python 简介 Python流程介绍:深入Python 流程 Python数据结构 ...
- Go 学习笔记(44)— Go 标准库之 os(获取文件状态、获取/修改文件权限、创建、删除目录和文件、获取进程ID、设置获取环境变量)
1. 概述 os 包提供了操作系统函数的不依赖平台的接口.失败的调用会返回错误值而非错误码.通常错误值里包含更多信息.例如,如果某个使用一个文件名的调用(如Open.Stat)失败了,打印错误时会包含 ...
- python标准库os.path中_Python零基础入门学习19:常用标准库之os.path子库
注:本文所有代码均经过Python 3.7实际运行检验,保证其严谨性. 本文阅读时间约为3~5分钟. os库是Python标准库,包含几百个函数.它能处理与系统相关的常用路径操作.进程管理.环境参数等 ...
- Python学习笔记17:标准库之数学相关(math包,random包)
前面几节看得真心累.如今先来点简单easy理解的内容. 一 math包 math包主要处理数学相关的运算. 常数 math.e # 自然常数e math.pi # 圆周率pi 运算函数 math ...
- Python学习笔记14:标准库之信号量(signal包)
signal包负责在Python程序内部处理信号.典型的操作包含预设信号处理函数,暂停并等待信号,以及定时发出SIGALRM等. 要注意,signal包主要是针对UNIX平台(比方Linux, MAC ...
- Python 标准库之 os (获取当前目录、读取/设置环境变量、重命名文件、运行shell命令、创建/删除/查看目录文件、判断目录/文件/存在、获取绝对路径、获取文件名、获取换行符、获取路径分隔符)
1. os与sys模块的官方解释如下: os This module provides a portable way of using operating system dependent funct ...
- Javaweb学习笔记(JSP标准标签库)
Javaweb学习笔记(JSP标准标签库) JSTL入门 安装和测试JSTL JSTL中的Core标签库 < c:out>标签 标签 标签 < c:catch>标签 标签 标签 ...
最新文章
- 已知3个坐标点xy画圆弧_这25张图片,让你彻底看懂25个复杂的数学公式!
- Java NIO之套接字通道
- [XJOI]最大K段和 题解
- 常用的函数式接口_Consumer接口练习_字符串拼接输出
- dev gridcontrol 根据数据获取索引_MySQL 索引分析除了 EXPLAIN 还有什么方法?
- Web安全开发注意事项
- java线程并发库之--线程同步工具Exchanger的使用
- 安卓手机可以改鸿蒙吗,华为鸿蒙2.0可以替代安卓吗,华为鸿蒙2.0优势在哪
- ReportViewer教程(15)-矩阵报表-6
- SQL Server游标+延迟执行简介
- 在AIX 5.3+HACMP 5.4以上环境安装10gR2 10.2.0.1 RAC CRS Clusterware必须先运行Patch 6718715中的rootpre.sh...
- numpy : numpy.random
- 迪杰斯特拉算法 php,最短路径算法
- python hello world
- 基础数据类型转换过程中注意事项
- html设置背景图片自动适应屏幕大小,css适应屏幕 CSS背景图片自适应屏幕大小
- 高等数学 - 两平面的夹角
- C++程序设计语言练习4.2 茴字的几种写法
- java实现空心三角形
- 计算机图形学第一次上机——中点线算法和中点圆算法