取进程标志及用户信息,了解Linux部分操作系统调用的用法。
使用Gedit 编写程序pflag.c
#include<unistd.h>
#include<pwd.h>
#include<sys/types.h>
#include<stdio.h>
int main(int argc,char **argv)
{
pid_t my_pid,parent_pid;
uid_t my_uid,my_euid;
gid_t my_gid,me_egid;
struct passwd *my_info;
my_pid=getuid();
parent_pid=getppid();
my_uid=getuid();
my_euid=geteuid();
my_gid=getgid();
me_egid=getegid();
my_info=getpwuid(my_uid);
printf("Process ID:%d
",my_pid);
printf("Parent ID:%d
",parent_pid);
printf("User ID:%d
",my_uid);
printf("Effective User ID:%d
",my_euid);
printf("Group ID:%d
",my_gid);
printf("Effecttive Group ID:%ld
",me_egid);
if(my_info)
{
printf("My login name:%s
",my_info->pw_name);
printf("My password :%s
",my_info->pw_passwd);
printf("My User ID:%d
",my_info->pw_uid);
printf("My Group ID:%d
",my_info->pw_gid);
printf("My Real Name:%s
",my_info->pw_gecos);
printf("My Home Dir:%s
",my_info->pw_dir);
printf("My Work Shell:%s
",my_info->pw_shell);
}
}
操作接口
操作接口又称为作业级接口,是操作系统为图形界面用户提供的操作并控制计算机工作和提供服务手段的集合,通常有
操作控制命令
1.系统启动命令解释程序,输出命令提示符,等待用户输入命令。
2.用户输入命令并按Enter键
3.命令解释程序读入命令,分析命令,执行命令
4.命令执行结束后,命令提示符再次输出,等待下一条命令
作业控制命令
图形用户界面
例如
Windows资源管理器
Linux图形界面
新一代用户界面
VR接口
多感知通道接口
自然化接口
智能化接口
Linux五大类常用命令接口
1.文件管理类cd,chomd,chgrp,comm,cp,crypt,diff,file,ln,ls,mkdir,mv,od,pr,pwd,rm,rmdir。
2.进程管理
at,kill,mail,nice,nohup,ps,time,write,mesg
3.文本加工类
cat,crypt,grep,norff,uniq,wc,sort,spell,tail,troff.
4.软件开发
cc,f77,login,logout,size,yacc,vi,emacs,dbs,lex,make,lint,ld.
5. 系统维护
date,man,passwd,stty,tty,who.
用户权限
超级用户账号:root ,对系统进行完全支配和管理
有较小特权的系统管理账号:如bin,属于管理员组
普通用户:只具有管理自己用户目录的权限,属于普通用户组
第一用户:Ubuntu Linux系统安装时产生的特别账号,平时权限与普通用户相同,但通过sudo命令,输入自己的密码,可以拥有超级用户的权限,这个账号属于超级用户组。
超级用户组的默认命令提示符为“#”,普通用户是“$”。
截图命令
gnome-screenshot --delay=10 延迟10s后截图
显示当前目录
pwd
列举目录和文件
ls 【参数】【文件名】
文件名在未知的情况下,可以使用通配符 * 和?
参数解析
-a 列举隐藏文件,即以“ . ”开头的文件。
-d 显示目录中的内容
-h 用K,M,G等醒目表示文件的大小
-l 列举文件的权限,大小等资料
-r 递归列举一个目录下所有子目录中的文件
-x 以文件的扩展名排列,便于找出同一类的文件
mkdir -创建目录
-p 可以建立更深的子目录,自动建立其中各级父目录结构
如果要建立带空格的目录,则需要使用引号或者符号
cd
改变路径
参数
.:代表当前目录
…:代表父目录
如果目录太长,可以先输入目录名称前的几个之母然后Tab键寻找。
cat 输出文件
参数
-b 只对非空行显示行
-E 在每一行结束时显示$字符
-n 对所有行显示行号
可以一次输入很多文件名,用空格隔开,这些文件会被依次输出。使用more命令可逐屏输出。
cp 复制文件
用法 cp【参数】【源文件】
类似于mv
rm 移去
rm【参数】【文件名/目录】
参数:
-i 每次删除的时候都提示,非默认开启参数
-r 删除整个目录,包括子目录