#api
行缓存会输出的时机: 行缓存满,程序结束,遇到fflush刷新,遇到换行符。
磁盘一般是全缓存。 标准错误通常是无缓存,但愿尽快被输出到终端上。
系统调用api不带缓冲,C库函数api带缓冲。
#数组
调用read系统调用读取大量磁盘数据时:
先经过df命令查看磁盘文件系统(通常是/dev/sda1) 。
而后经过sudo tune2fs -l /dev/sda1, 查看block size 参数值,
咱们每次调用read系统调用去读取的数据大小最好和该值相同,此时读取效率会很高。
#缓存
文件描述符fd是文件描述符表内的数组的下标,能够经过该数组下标进而找到文件表项和i节点。
#函数
1. cat cat命令执行,无参数时,表示从标准输入(键盘)读取内容,并输出到标准输出。spa
2. cat filename cat命令后面跟文件名,表示从文件读取内容,并输出到标准输出。
3. cat>filename 表示从标准输入读取内容,并将内容输出到强制新建的filename文件中。
4. cat<filename 表示从文件file读取内容,并将内容输出到标准输出去。
记忆法则:
若是使用了<或者>符号,那么大于的一侧(也就是符号开口的那一侧)永远表示输入端。 小于的一侧(也就是尖角的一侧)永远表示输出端。
默认的输入端和输出端就是标准输入和标准输出。
若是单独使用cat filename, 这是执行一个输出动做,即表示将file内容输出到标准输出。
若是只单独使用cat,这是执行一个输入又输出的动做,即表示从标准输入获取内容并输出到标准输出去(行缓冲)。
#blog
#效率
#file
#终端
#程序
#
#
#
#
#
#
#
#
#
#
#
#
.