passwd结构体:

struct passwd *getpwuid(uid_t uid);The passwd structure is defined in <pwd.h> as follows:
struct passwd {
char *pw_name; /*user name */
char *pw_passwd; /*user password */
uid_t pw_uid; /*user id */
gid_t pw_gid; /*group id */
char *pw_gecos; /*user real name */
char *pw_dir; /*home directory */
char *pw_shell; /*shell program */
};

getopt命令行解析函数,从左往右逐个解析argv(选项+选项参数),每次调用解析一个选项,解析完成返回-1。重排argv,operands如果在option之前则跳过,放在argv后面位置。

getind为下一个要访问的选项位置,初始值为1。在getopt解析完成返回后,optind指向第一个operands。

getarg保存当前扫描的选项的参数。

getopt(argc, argv, "ab:c::")

getuid获取用户id,调用getpwuid查询用户对应passwd结构体,获取用户名

简易whoami实现:

#include <stdio.h>
#include <sys/types.h>
#include <pwd.h>
#include <iostream>
#include "error.h"
#include <unistd.h>
using namespace std;int main(int argc,char** argv){if(argc!=optind){error(0,0,"extra arg!");exit(-1);}struct passwd *pw;uid_t uid;uid=getuid();pw=(uid==-1)?NULL:getpwuid(uid);if(!pw)cout<<"cannot find name for user ID"<<uid<<endl;elsecout<<pw->pw_name<<endl;return 0;
}

whoami实现c++相关推荐

  1. 与用户登录有关的命令w who whoami last lastb lastlog

    与用户登录有关的命令 w:执行这项指令可得知目前登入系统的用户有那些人,以及他们正在执行的程序 who:显示当前已经登录的用户信息 whoami:打印当前用户名 last,显示/var/log/wtm ...

  2. whoami,who,w命令详解

    http://www.voidcn.com/blog/wszzdanm/article/p-6145895.html 命令功能:显示登录用户的信息 命令格式: 常用选项: 举例: w 显示已经登录的用 ...

  3. 高级指令——hostname指令【作用:操作服务器的主机名(读取、设置)】、id指令【查看一个用户的一些基本信息(包含用户id,用户组id,附加组id…)】、whoami指令、ps -ef指令

    1.hostname指令 作用:操作服务器的主机名(读取.设置) 语法1:#hostname 含义:表示输出完整的主机名 语法2:#hostname  -f 含义:表示输出当前主机名中的FQDN(全限 ...

  4. who whoami who am i的区别

    who whoami who am i的区别:在Linux系统上这几条命令都是查看我是谁? 但是有区别,在Linux系统命令行操作来回切换用户多次,很容易混淆现在处于什么用户下,当以root身份登录后 ...

  5. 【Linux】一步一步学Linux——whoami命令(96)

    00. 目录 文章目录 00. 目录 01. 命令概述 02. 命令格式 03. 常用选项 04. 参考示例 05. 附录 01. 命令概述 显示与当前的有效用户ID 相关联的用户名. 与id -un ...

  6. Linux 命令之 whoami -- 打印当前有效的用户名称

    文章目录 命令介绍 参考示例 命令介绍 whoami 命令用于打印当前有效的用户名称,相当于执行 id -un 命令. 参考示例 [root@htlwk0001host ~]# whoami root

  7. Linux whoami命令、Linux su命令、Linux w命令

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. Linux whoami命令用于显示自身用户名称. 显示自身的用户名称,本指令相当于执行" ...

  8. Linux如何查看所有用户和用户组信息(cat groups whoami)

    1.cat /etc/passwd查看所有的用户信息 concatenate files and print on the standard output把文件连接后输出到屏幕上 cat /etc/p ...

  9. linux shell 当前用户名,在Linux中使用Whoami命令显示当前登录用户名称及替代命令的方法...

    本文介绍在Linux操作系统中使用Whoami命令的方法,顾名思义,whoami命令显示有效用户ID的用户名,换句话说,它显示当前登录用户的名称. 使用whoami命令的方法 whoami命令的语法如 ...

  10. linux usr local权限,【linux】sudo chown -R $(whoami) /usr/local提示操作被拒绝

    电脑是mac,终端运行brew时,提示: Please run brew update! 按提示执行brew update,提示: Error: /usr/local must be writable ...

最新文章

  1. 开关面板如何自己印字_如何自己动手做一个智能开关
  2. 【 MATLAB 】信号处理工具箱之 ifft 简介及案例分析
  3. Linux中的目录和文件管理
  4. HA总结:AWS 网络连接
  5. Java Web会话管理
  6. Kingback小组冲刺博客
  7. 分享一个非常全的php正则验证车牌格式的函数
  8. android svg指纹录取动画_你知道几种前端动画的实现方式?
  9. mysql主从复制实施流程_MySQL主从复制认识及实施操作
  10. 3个最典型的图表错误使用方式,赶紧看看自己是否中招
  11. 【Oracle】手工建库时启动到nomount状态时错误ORA-09925,ORA-01017
  12. 与数据相关的运算符和伪指令
  13. python常见的错误类型_python中新手朋友常见的错误信息汇总
  14. ProE 5.0免安装版软件安装教程
  15. vim 编辑器sed 替换字符串方法
  16. android设置wifi蓝牙共享文件,无需互联网或蓝牙即可通过WiFi通过android共享文件...
  17. ssh-keygen:you don't exist,go away
  18. 物体识别基本原理及其Python实现
  19. Right-BICEP单元测试
  20. 论文阅读 Learning Motion in Feature Space: Locally-Consistent Deformable Convolution Networks

热门文章

  1. jQuery-删除元素
  2. jetbrains 非常好用的插件推荐
  3. 面试经典情景题:高并发解决方案
  4. 高架桥以及立交桥精准导航想法
  5. 第8章 SQL ORDER BY 关键字教程
  6. 读书笔记-建立自己的声望
  7. 易语言API激活窗口SetWindowPos源码
  8. Vue2 环境下安装Vue3 ,同一台电脑同时安装vue2 和vue3
  9. Vue中如何使用vant(Vue2的版本)
  10. uni-app实现PDF文件下载功能