共 28 篇文章
显示摘要每页显示  条
规则二:任一函数都不会将errno的值设置为0,在<errno.h>中定义的所有常量都不为0.#include <string.h>#include <stdio.h>#include <errno.h>#include <stdlib.h>intmain(int argc, char *argv[]){ fprintf(stderr, "EACCES: %s\n", strerror(EACCES));lienhua34:demo$ gcc -o errno_demo errno_demo.c...
当读或写一个文件时,使用 open 或 creat 返回的文件描述符标识该文件,将其作为参数传送给 read 或 write。文件偏移量可以大于文件的当前长度,在这种情况下,对该文件的下一次写将加长该文件,并在文件中构成一个空洞。下面程序创建一个新文件 file.hole,先在文件开始处写入“abcd”,然后将文件偏移量移动到距离开始处的 10 字节处,在该处写入“AB...
· 若一个文件用 lseek 定位到文件当前的尾端,则文件表项中的当前文件偏移量被设置为 i 节点表项中的当前文件长度。然后内核切换到进程 B 来执行,进程 B 执行 lseek 也将进程 B 的该文件当前偏移量也设置为 1000 字节(当前文件末尾处),然后进程 B 调用 write 写入 100 字节(此时文件长度变为 1100 字节)。每次对这种具有添写标志的文件执行...
UNIX 提供了两个函数 dup 和 dup2 用于复制一个现存的文件描述符。由 dup 函数返回的文件描述符一定是当前可用文件描述符中的最小描述符。然后,调用 dup 该文件描述符,并调用 lseek 将新文件描述符的当前偏移量设置为距离文件开始处的 10 字节处。lienhua34:demo$ gcc -o dupdemo dup_demo.clienhua34:demo$ ./dupdemofd offset(before dup): 0...
跟 dup 函数的区别是:dup 函数返回的新文件描述符一定是尚未打开的描述符中最小的,而 fcntl 函数返回的新文件描述符是尚未打开的描述符中大于或等于第三个参数中各值的最小值。当前只定义了一个文件描述符标志FD_CLOEXEC(FD_CLOEXEC 即“执行时关闭”标志,设置了该标志,表示在执行一个 exec 时自动关闭该描述符。复制一个文件描述符时自动清除...
我们平时最常接触的文件类型有普通文件(regular file)和目录(di-rectory file),但是 UNIX 系统提供了多种文件类型:struct stat buf;lienhua34:demo$ gcc -o filetype filetype.clienhua34:demo$ ./filetype /etc/passwd /etc /dev/initctl /dev/log /dev/tty./filetype: regular/etc/passwd: regular/etc: directory/dev/initctl: lstat error:...
但是,程序文件的文件模式字可以通过设置特殊标志(设置用户 ID 位或设置组 ID 位)来将进程的有效用户 ID 或有效组 ID 设置为程序文件的所有者 ID 或所有组 ID。3. 若进程有效组 ID 或进程附加组 ID 之一等于文件的组 ID,那么,若组适当的访问权限位被设置,则允许访问,否则拒绝访问。如果该目录的这一位被设置,则新文件的组 ID 设置为目录的组 ID;...
3. 切换后超级用户 root,将文件 accessdemo 的所有者修改为超级用户root(运行命令chown root accessdemo,并设置文件 accessdemo 的设置用户 ID 位(运行命令chmod u+s accessdemo)。4. 切换后当前登录用户 lienhua34,此时运行./accessdemo /etc/shadow,进程的实际用户为 lienhua34,但有效用户为超级用户 root(因文件accessdemo 的所有者为 root ...
umask 函数为进程设置文件模式创建屏蔽字,并返回以前的值。lienhua34:demo$ gcc -o chmoddemo chmoddemo.clienhua34:demo$ ls -l foo bar-rw------- 1 lienhua34 lienhua34 0 9月 3 23:51 bar-rw-rw-r-- 1 lienhua34 lienhua34 0 9月 3 23:51 foolienhua34:demo$ ./chmoddemolienhua34:demo$ ls -l foo bar-rw-r--r-- 1 lienhua34 lienhua34 0 ...
文件的其它信息则记录在 i 节点中,例如,文件类型、文件访问权限位、文件长度等。· 硬链接要求链接和文件位于同一个文件系统中(因为每个文件系统具有各自的 i 节点编号)。对于符号链接,该文件的实际内容(在数据块中)包含了该符号链接所指向的文件的名字。符号链接一般用于将一个文件或整个目录结构移到文件系统中的另一个位置。如果 pathna...
帮助 | 留言交流 | 联系我们 | 服务条款 | 下载网文摘手 | 下载手机客户端
北京六智信息技术股份有限公司 Copyright© 2005-2024 360doc.com , All Rights Reserved
京ICP证090625号 京ICP备05038915号 京网文[2016]6433-853号 京公网安备11010502030377号
返回
顶部