Linux文件I/O小结

文件类型:

        -r 普通文件(regular)

        -d 目录文件(directory)

        -b 块特殊文件(block special)

        -c 字符特殊文件(characterspecial)

        -p 管道文件(pipe)

        -s 套接字文件(socket)

        -l 符号链接文件(symbolic link)

文件I/O操作相关函数:

        文件描述符操作:dup dup2

        不带缓冲的Linux文件系统调用:open close read write lseek

        改变文件权限:chmod fchmod 

        改变文件所有者:chown fchown lchown

        硬链接操作:link ulink remove

基于流的文件操作:

        带缓冲的流操作库函数:fopen fclose fread fwirte flseek

        字符I/O操作:fgetc fputc feof ferror

        行I/O操作:fgets fputs  遇到'\n'结束

        格式化I/O操作:printf fprintf sprintf snprintf scand

缓冲:

        1.全缓存:直到缓冲区被填满,才调用系统I/O函数。

        2.行缓存:直到遇到换行符\n,才调用系统I/O函数。stdin和stdout默认都是行缓存的。

        3.无缓存:没有缓冲区,数据会立即读入或输出到外存文件或设备上。stderr是无缓存的。

缓冲操作相关函数:

        设置缓冲的属性:setbuf setbuffer setlinebuf setvbuf

        缓冲的冲洗:fflush

硬链接和符号链接

        1.硬链接:直接指向文件的inode,是有着相同inode但文件名不同的文件。

                硬链接要求链接和文件位于同一个文件系统中。

                只有超级用户才能创建指向目录的硬链接。

                删除一个硬链接并不影响具有形同inode的文件。

        2.  符号链接:是对一个文件的间接指针,符号链接文件中包含了另一个文件的路径。

                符号链接无相同文件系统的限制。

                任何用户都可以创建文件和目录的符号链接。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值