Unix/Linux中的read和write函数】的更多相关文章

文件描述符 对于内核而言,所有打开的文件都通过文件描述符引用.文件描述符是一个非负整数.当打开一个现有文件或创建一个新文件时,内核向进程返回一个文件描述符.当读或写一个文件时,使用open或create返回的文件描述符表示该文件,将其作为参数传给read或write函数. write函数 write函数定义如下: #include <unistd> ssize_t write(int filedes, void *buf, size_t nbytes); // 返回:若成功则返回写入的字节数,…
[转]unix/linux中的dup()系统调用    在linux纷繁复杂的内核代码中,sys_dup()的代码也许称得上是最简单的之一了,但是就是这么一个简单的系统调用,却成就了unix/linux系统最著名的一个特性:输入/输出重定向.    sys_dup()的主要工作就是用来“复制”一个打开的文件号,使两个文件号都指向同一个文件.既然说简单,我们就首先来看一下它的代码(定义在fs/fcntl.c中):   而sys_dup()的主体是dupfd()(定义在同一个文件中):       …
在unix或者linux中,每创建一个文件或者目录时,这个文件或者目录都具有一个默认的权限,比如目录755,文件644,那么这些默认权限是怎么控制的呢? 答案是"umask"权限掩码.一般默认的umask值为022,其最终效果就是新创建的目录权限为755,文件权限为644.所以只要修改了用户的umask值,就可以控制默认权限. 怎么查看当前umask值? umask 0022 umask -S  (SuSE Linux Enterprise 11实例) u=rwx,g=rx,o=rx…
我们知道unix/linux刚开始的时候是没有图形界面的,随着时代的发展,排版.制图.多媒体应用越来越普遍了,这些需求都需要用到图形界面(Graphical User Interface).为此,MIT在1984年开发出了X window system,X在字母表中是W(indows)的下一个字母,寓意“下一代GUI”的意思.目前为止,unix/linux上几乎所有的发行版都采用X window system来作为自己的图形界面,它已经成为事实上的unix/linux图形界面标准. X wind…
本文转载自:如何使用Unix/Linux grep命令——磨刀不误砍柴工系列.该博文条理很清晰. grep简介 grep在一个或多个文件中查找与模式字符串(pattern)匹配的行,并将搜索的结果打印出来,不会修改原文件内容.使用grep 命令的语法为: $grep [option(s)] pattern [file(s)] 其中option为grep命令的选项,pattern为要匹配的简单字符串或携带特殊字符的模式字符串,file为文件列表,可有多个文件. grep中经常用到的选项 -i 忽略…
在Linux系统中,有一个很重要的目录——/usr目录.关于这个目录名称的由来,网上主要有下面几种说法: user的缩写 User Shareable Read-only的缩写 Unix/User System Resources的缩写 Unix/User Software Resources的缩写 目前大多数版本的Linux中/usr目录主要放置的是可执行文件和先关库文件,因此user好像不太可能. 查阅了相关的资料,关于/usr目录起源的说法如下: /usr usually contains…
Unix/Linux下,shell脚本调用sqlplus的几种方式介绍: 一.最简单的shell调用sqlplus #!/bin/bash sqlplus -S /nolog > sqlplus.log <<EOF    conn scott/scott    select sysdate from dual;    quit EOF 二.sqlplus返回执行结果给shell 方法一: #!/bin/bash biz_date=`sqlplus -S scott/scott <&…
fork函数介绍 一个现有进程可以调用fork函数创建一个新进程.该函数定义如下: #include <unistd.h> pid_t fork(void); // 返回:若成功则在子进程中返回0,在父进程中返回子进程ID,若出错则返回-1 fork函数调用一次,返回两次.它在调用进程(称为父进程)中返回一次,返回值是新派生进程(称为子进程)的进程ID号:在子进程中返回一次,返回值为0.因此,返回值本身告知当前进程是子进程还是父进程. fork在子进程返回0而不是父进程的进程ID的原因在于:任…
#include<unistd.h> linux标准库#include <unistd.h>与windows的#include <windows.h>(C语言开发) #include    <unistd.h> 符号常量 是POSIX标准定义的unix类系统定义符号常量的头文件,包含了许多UNIX系统服务的函数原型,例如read函数.write函数和getpid函数unistd.h在unix中类似于window中的windows.h! #ifdef WIN3…
函数原型: 描述:    exec()系列函数使用新的进程映像替换当前进程映像.    工作方式没有什么差别, 只是参数传递的方式不同罢了. 说明:    1. 这6个函数可分为两大类: execl()系列 和 execv()系列.    2. `l' 是指把所有传递给程序的参数依次列(list)出来.        `v' 是指把所有参数放到容器(数组, vector)中再一次性传入.         不论是list出来还是vector them all, 参数的最后一个都必须为空指针((ch…