uname 打印系统信息
系统命令
$ uname
Linux
c 语言实现
#include <stdio.h>
#include <sys/utsname.h>
int main(int argc, char **argv)
{
struct utsname name;
if (uname(&name) < 0) {
perror("uname error");
return -1;
}
printf("%s\n%s\n%s\n%s\n%s\n",
name.sysname, name.nodename, name.release,
name.version, name.machine);
return 0;
}
whoami 打印用户名
系统命令
$ whoami
yourname
c 语言实现
#include <unistd.h>
#include <sys/types.h>
#include <errno.h>
#include <pwd.h>
#include <stdio.h>
int main(int argc, char **argv)
{
struct passwd *pw;
uid_t uid;
uid_t NO_UID = -1;
uid = geteuid();
if (uid == NO_UID && errno) {
perror("geteuid error");
return -1;
}
pw = getpwuid(uid);
if (!pw) {
perror("getpwuid error");
return -1;
}
puts(pw->pw_name);
return 0;
}
|