UNIX程序设计基本概念和术语

unix体系结构
从严格意义上说,可将操作系统定义为一种软件,它控制计算机硬件资源,提供程序运行环境。我们通常将这种软件称为内核(kernel ),因为它相对较小,而且位于环境的核心。
内核的接口被称为系统调用( system call)。公用 函数库构建在系统调用接口之上,应用程序既可使用公用函数库,也可使用系统调用。shell 是一个特殊的应用程序,为运行其他应用程序提供了一个接口。

登录名

/etc/passwd文件用于存储用户账户信息。每一行代表一个用户账户,由7个字段组成,用冒号(:)分隔,依次是:登录名、加密口令、用户ID、组ID、注释、起始目录以及shell程序。

bash 复制代码
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin

UID和GID都是0表示最高权限。

/sbin/nologin表示不允许登录,大多数系统用户都使用 /sbin/nologin 作为shell,防止这些账户被用于登录。

三个标准文件描述符:

标准输入(Standard Input,stdin)

文件描述符:0

默认情况下连接到键盘

程序通过它读取输入数据

标准输出(Standard Output,stdout)

文件描述符:1

默认情况下连接到终端屏幕

程序通过它输出正常信息

标准错误(Standard Error,stderr)

文件描述符:2

默认情况下也连接到终端屏幕

程序通过它输出错误和诊断信息

参考:

APUE

unix高级编程引入apue.h

相关推荐
zz_nj1 小时前
工作的环境
linux·运维·服务器
极客先躯1 小时前
如何自动提取Git指定时间段的修改文件?Win/Linux双平台解决方案
linux·git·elasticsearch
suijishengchengde2 小时前
****LINUX时间同步配置*****
linux·运维
qiuqyue2 小时前
基于虹软Linux Pro SDK的多路RTSP流并发接入、解码与帧级处理实践
linux·运维·网络
切糕师学AI3 小时前
Linux 操作系统简介
linux
南烟斋..3 小时前
GDB调试核心指南
linux·服务器
爱跑马的程序员3 小时前
Linux 如何查看文件夹的大小(du、df、ls、find)
linux·运维·ubuntu
oMcLin6 小时前
如何在 Ubuntu 22.04 LTS 上部署并优化 Magento 电商平台,提升高并发请求的响应速度与稳定性?
linux·运维·ubuntu
Qinti_mm6 小时前
Linux io_uring:高性能异步I/O革命
linux·i/o·io_uring
优雅的38度6 小时前
linux环境下,使用docker安装apache kafka (docker-compose)
linux·架构