- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
普通文件:c语言源文件,shell脚本,二进制的可执行文件等。
目录文件:目录,存储文件的唯一的地方。
链接文件:类似于windows下的快捷方式。
管道文件:负责将一个进程的信息传递给另一个进程,从而使该进程的输出成为一个另一个进程的输入的内存部分,这样的文件被称作命名管道文件。
块设备文件:I/O设备大致分为两类:块设备和字符设备。块设备将信息存储在固定大小的块中,每个块都有自己的地址。数据块的大小通常在512字节到32768字节之间。块设备的基本特征是每个块都能独立于其它块而读写。磁盘是最常见的块设备。
字符设备文件:字符设备是指在I/O传输过程中以字符为单位进行传输的设备,例如键盘,打印机等。;多用户系统:
根据在同一时间系统内可以使用的用户多少,系统可分为单用户系统和多用户系统。单用户系统是指一台计算机在同一时间只能由一个用户使用,一个用户独自享用系统的全部硬件和软件资源,而如果在同一时间允许多个用户同时使用系统,则称为多用户系统。
x是可执行(execute)
用户,用户组:
1.用户是能够获取系统资源的权限的集合.
2.linux用户的分类: a.管理员 root :具有使用系统所有权限的用户,其UID 为0. b.普通用户 : 即一般用户,其使用系统的权限受限,其UID为500-60000之间. c.系统用户 :保障系统运行的用户,一般不提供密码登录系统,其UID为1-499之间. (UID:user identification 用户标识)
3.系统在创建用户时,就为每一个用户安排了一个归属组。;chmod 命令用法
1. 文字设定法
chmod命令是非常重要的,用于改变文件或目录的访问权限。
chmod [who] [+ | - | =] [mode] 文件名?
命令中各选项的含义为:
操作对象who可是下述字母中的任一个或者它们的组合:
u 表示“用户(user)”,即文件或目录的所有者。
g 表示“同组(group)用户”,即与文件属主有相同组ID的所有用户。
o 表示“其他(others)用户”。
a 表示“所有(all)用户”。它是系统默认值。
; 操作符号可以是:
+ 添加某个权限。
- 取消某个权限。
= 赋予给定权限并取消其他所有权限(如果有的话)。
设置mode所表示的权限可用下述字母的任意组合:
r 可读。
w 可写。
x 可执行。
X 只有目标文件对某些用户是可执行的或该目标文件是目录时才追加x 属性。
例如:chmod g+r,o+r example
2. 数字设定法
0表示没有权限,1表示可执行权限,2表示可写权限,4表示可读权限,然后将其相加。所以数字属性的格式应为3个从0到7的八进制数。,其顺序是(u)(g)(o)。
例如:chmod 771 example
;原子操作:
原子操作是指不会被线程调度机制打断的操作;这种操作一旦开始,就一直运行到结束。
文件描述符:
内核(kernel)利用文件描述符(file descriptor)来访问文件。文件描述符是非负整数。打开现存文件或新建文件时,内核会返回一个文件描述符。读写文件也需要使用文件描述符来指定待读写的文件。
文件描述符与包括相关信息(如文件的打开模式、文件的位置类型、文件的初始类型等)的文件对象相关联,这些信息被称作文件的上下文。;open:
open函数中的参数:O_NOCTTY:使用本参数时,如果文件为终端,那么该终端不会成为调用open()的那个进程的控制终端。
lseek:
如果定位小于文件开头,则默认为文件开头。
如:lseek(fd,-10,SEEK_SET);
read(fd,buff,1); //读取的是第一个字符。
文件末尾有一个不显示的文件结束符。
如:lseek(fd_r,-2,SEEK_END);
read(fd,buff,1); //读取的是最后一个显示的字符;STDIN_FILENO:就是标准输入设备(一般是键盘)的文件描述符。
STDOUT_FILENO:就是标准输出设备(一般是显示器)的文件描述符。
stdin与STDIN_FILENO的区别:
stdin类型为 FILE*
STDIN_FILENO类型为 int
使用stdin的函数主要有:fread、fwrite、fclose等,基本上都以f开头
使用STDIN_FILENO的函数有:read、write、close等
;#include dirent.h
struct dirent
{
long d_ino; /* inode number 索引节点号 */
off_t d_of
文档评论(0)