Linux中文件I/O函数】的更多相关文章

一.lseek函数 每个打开文件都有一个与其相关联的“当前文件偏移量”.它通常是一个非负整数,用以度量从文件开始处 计算的字节数.通常,读.写操作都从当前文件偏移量处开始,并使偏移量增加所读写的字节数.当打开一个文 件时,除非指定O_APPEND选项(调用open函数时使用了O_APPEND),否则该偏移量被设置为0.调用lseek函数显 式地为一个打开文件设置偏移量.该函数原型为: #include <unistd.h> off_t lseek(int fd,off_t offset,int…
一. linux常用文件IO接口 1.1. 文件描述符 1.1.1. 文件描述符的本质是一个数字,这个数字本质上是进程表中文件描述符表的一个表项,进程通过文件描述符作为index去索引查表得到文件表指针,再间接访问得到这个文件对应的文件表. 1.1.2. 文件描述符这个数字是open系统调用内部由操作系统自动分配的,操作系统分配这个fd时也不是随意分配,也是遵照一定的规律的:fd从0开始依次增加.fd也是有最大限制的,在linux的早期版本中(0.11)fd最大是20,所以当时一个进程最多允许打…
转自:http://www.jb51.net/article/77458.htm linux中目录与文件权限的意义 一.文件权限的意义 r:可以读这个文件的具体内容: w:可以编辑这个文件的内容,包括增加删除文件的具体内容: x:文件就具有了可执行的权限-------注意:这里和window不一样,在win中,文件的可执行权限是通过扩展名表现出来的,如exe.bat等,但是在linux中文件的可执行权限是通过这个x决定的,与文件名没有什么关系. 二.目录权限的意义 r:可以查看此目录下的完整文件…
php中文件操作常用函数有哪些 一.总结 一句话总结:读写文件函数 判断文件或者目录是否存在函数 创建目录函数 file_exists() mkdir() file_get_content() file_put_content() 1.php检查文件或者目录是否存在函数是什么? file_exists() file_exists — 检查文件或目录是否存在 <?php $filename = '/path/to/foo.txt'; if (file_exists($filename)) { ec…
如何查看linux中文件打开情况 前言 我们都知道,在linux下,“一切皆文件”,因此有时候查看文件的打开情况,就显得格外重要,而这里有一个命令能够在这件事上很好的帮助我们-它就是lsof. linux下有哪些文件 在介绍lsof命令之前,先简单说一下,linux主要有哪些文件: 普通文件 目录 符号链接 面向块的设备文件 面向字符的设备文件 管道和命名管道 套接字 以上各类文件类型不多做详细介绍. lsof命令实用用法介绍 lsof,是list open files的简称.它的参数很多,但是…
原文内容来自于LZ(楼主)的印象笔记,如出现排版异常或图片丢失等问题,可查看当前链接:https://app.yinxiang.com/shard/s17/nl/19391737/1c62bb7f-f817-427f-b9e8-0c3107b4b26c   linux中文件压缩的简单介绍 *.zip文件,表示 zip程序打包压缩的文件 *.rar文件,表示rar程序压缩的文件 *.tar文件,表示tar程序打包 未压缩的文件 命令: zip -r -q -o shiyanlouCode.zip…
linux中文件颜色,蓝色,白色等各自代表的含义 绿色文件---------- 可执行文件,可执行的程序 红色文件-----------压缩文件或者包文件 蓝色文件----------目录 白色文件----------一般性文件,如文本文件,配置文件,源码文件等 浅蓝色文件----------链接文件,主要是使用ln命令建立的文件 红色闪烁----------表示链接的文件有问题 黄色----------表示设备文件 灰色----------表示其他文件---------------- Cent…
一.link.linkat.unlink.unlinkat.remove函数 创建一个指向现有文件的链接的方法是使用link函数或linkat函数.函数的原型为: #include <unistd.h> int link(const char *existingpath,const char *newpath); int linkat(int efd,const char *existingpath,int nfd,const char *newpath,int flag); 这两个函数创建一…
http://blog.csdn.net/wswifth/article/details/5115358 在师哥的代码(packet.c)中使用的是Linux2.4内核中的一个子系统:netfilter,该子系统的使用可以过滤数据包,也就对数据包经行了截获,它通过调用内核网络代码中的一些hook函数完成所需要的工作. 而当一个当数据包游历Linux内核的网络堆栈时,它穿过了几个hook点,在这里,数据包可以被分析并且选择是保留还是丢弃,这些hook点就是Netfilter hook. 而钩子函数…
1.main函数是一个进程还是一个线程? 不知道你是用c创建的,还是用java创建的. 因为它们都是以main()做为入口开始运行的. 是一个线程,同时还是一个进程. 在现在的操作系统中,都是多线程的.但是它执行的时候对外来说就是一个独立的进程. 这个进程中,可以包含多个线程,也可以只包含一个线程. 当用c写一段程序的话,就是在操作系统中起一个进程它包含一个线程. 而当用java等开发一个多线程的程序的话,它在操作系统中起了一个进程,但它可以包含多个同时运行的线程. 你起一个CS游戏,这上CS游…
linux下文件有3个时间的,分别是atime,mtime,ctime.有些博友对这3个时间还是比较迷茫和困惑的,我整理了下,写下来希望对博友们有所帮助. 1 这三个time的含义 简名 全名 中文名 含义 atime access time 访问时间 文件中的数据库最后被访问的时间 mtime modify time 修改时间 文件内容被修改的最后时间 ctime change time 变化时间 文件的元数据发生变化.比如权限,所有者等 2 如何查看这3个time [root@centos7…
touch命令 touch用来创建新文件,或者修改时间戳. linux中的文件有三个时间点,利用stat命令查看: 1.atime:最后访问时间:文件最后一次被存取或执行的时间. 2.mtime:最后修改时间:文件最后一次被修改的时间,内容上的修改. 3.ctime:最后更改时间:文件最后一次被修改的时间,属性上的修改,如所属者.权限. 利用cat查看文件(只读),只有文件的Access时间改变. 修改文件的属性,只有Change时间改变. 修改文件内容,三个时间都发生改变. ls -l 中的时…
压缩与解压 compress 文件名 1 -v //详细信息 2 3 -d //等于 uncompress 默认只识别 .Z 如果使用别的后缀,会导致不识别,解压缩失败.也可以使用 -d -c 压缩包 > 解压缩的形式,解压被改了后缀的压缩包.这种方式不会覆盖源文件. 4 5 //优点是这种方式不会覆盖源文件.缺点是会丢失文件的原有权限,新的权限基于当前umask码而定. 6 7 -c //输出的标准输出 再结合> 生成文件 举例: 8 9 compress -c pssswd > pa…
1.SUID 首先我们要了解,在Linux中启动一个程序或者启动一个进程是需要有用户的,一个文件的存在是要有用户和组的,一个进程启动后,它的属主取决于进程的发起者,比如 我用root用户启动了一个 cat 进程,那么cat 进程的属主就是root,同理我用user1启动more进程,more进程对应的属主就是user1.其次,一个可执行文件或者一个程序是否能启动为进程,取决于它的发起者是否拥有可执行的权限.那么问题来了,普通用户对文件有可执行的权限,但是对其配置文件 或者作用于其他文件没有权限怎…
简单了解一下linux中的文件权限格式与chmod命令 chmod命令:改变文件或者目录的权限 格式:chmod [参数] [<权限范围><符号><权限代码>] -R 或者--recursive 递归处理,表示将指定目录下的所有文件夹及其子目录一并处理 权限范围表示方法: u:User 即文件或者目录的拥有这 g:group即文件或者目录的所属群组 o:other 除了文件或目录拥有者或所属群组之外,其他用户都属于这个范围 a:all 即全部的用户,包含拥有者,所属群组…
一.stat.fstat.fstatat.lstat函数 函数的原型为: #include <sys/stat.h> int stat(const char *restrict pathname,struct stat *restrict buf); int fstat(int fd,struct stat *buf); int lstat(const char *restrict pathname,struct stat *restrict buf); int fstatat(int fd,…
转自:http://www.cnblogs.com/Jezze/archive/2011/12/23/2299861.html 简单归纳:fd只是一个整数,在open时产生.起到一个索引的作用,进程通过PCB中的文件描述符表找到该fd所指向的文件指针filp. open:文件描述符的操作(如: open)返回的是一个文件描述符(int fd),内核会在每个进程空间中维护一个文件描述符表, 所有打开的文件都将通过此表中的文件描述符来引用(fd1,fd2,fd3...); fopen:而流(如: f…
我们都知道linux下所有设备都是以文件存在的,所以当我们需要用到这些设备的时候,首先就需要打开它们,下面我们来详细了解一下文件I/O操作. 用到的文件I/O有以下几个操作:打开文件.读文件.写文件.关闭文件等,对应用到的函数有:open.read.write.close.lseek(文件指针偏移) 文件描述符:对于内核而言,所有打开的文件都通过文件按描述符引用.文件描述符是一个非负整数.                      当打开一个现有文件或者创建一个新文件时,内核向进程返回一个文件描…
转载自http://www.cnblogs.com/Jezze/archive/2011/12/23/2299861.html 简单归纳:fd只是一个整数,在open时产生.起到一个索引的作用,进程通过PCB中的文件描述符表找到该fd所指向的文件指针filp. 文件描述符的操作(如: open)返回的是一个文件描述符,内核会在每个进程空间中维护一个文件描述符表, 所有打开的文件都将通过此表中的文件描述符来引用; 而流(如: fopen)返回的是一个FILE结构指针, FILE结构是包含有文件描述…
chmod chmod 421 xx.txt //4=r,2=w,1=x df 查看已挂载磁盘的总容量.使用容量.剩余容量等,可以不加任何参数,默认是按k为单位显示的 df常用参数有 –i -h -k –m等 -i 使用inodes 显示结果 -h 使用合适的单位显示,例如G -k -m 分别为使用K,M为单位显示 du 用来查看某个目录所占空间大小 语法:du [-abckmsh] [文件或者目录名] 常用的参数有: -a:全部文件与目录大小都列出来.如果不加任何选项和参数只列出目录(包含子目…
一.fork入门知识 一个进程,包括代码.数据和分配给进程的资源.fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同,两个进程也可以做不同的事.    一个进程调用fork()函数后,系统先给新的进程分配资源,例如存储数据和代码的空间.然后把原来的进程的所有值都复制到新的新进程中,只有少数值与原来的进程的值不同.相当于克隆了一个自己. 我们来看一个例子: /* *  fork_test.c *  version 1…
一.fork入门知识 一个进程,包括代码.数据和分配给进程的资源.fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同,两个进程也可以做不同的事.    一个进程调用fork()函数后,系统先给新的进程分配资源,例如存储数据和代码的空间(自己的).然后把原来的进程的所有值都复制到新的新进程中(自己的包含父进程),只有少数值与原来的进程的值不同.相当于克隆了一个自己(这一小段才是经典). 我们来看一个例子: /* *…
 一.fork入门知识 一个进程,包含代码.数据和分配给进程的资源.fork()函数通过系统调用创建一个与原来进程差点儿全然同样的进程,也就是两个进程能够做全然同样的事,但假设初始參数或者传入的变量不同,两个进程也能够做不同的事.    一个进程调用fork()函数后,系统先给新的进程分配资源,比如存储数据和代码的空间.然后把原来的进程的全部值都拷贝到新的新进程中,仅仅有少数值与原来的进程的值不同.相当于克隆了一个自己. 我们来看一个样例: /* * fork_test.c * version…
转自:http://blog.csdn.net/jason314/article/details/5640969 一.fork入门知识 一个进程,包括代码.数据和分配给进程的资源.fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同,两个进程也可以做不同的事.    一个进程调用fork()函数后,系统先给新的进程分配资源,例如存储数据和代码的空间.然后把原来的进程的所有值都复制到新的新进程中,只有少数值与原来的进程…
在Unix系统中,操作系统为磁盘上的文本与图像,鼠标键盘操作,网络交互等IO操作设计了一组通用API. 使他们被处理的时候可统一用字节流的方式.所以说,除了进程之外,其他的一切均可看做文件. Linux系统中,不区分文件和目录.所谓的目录,只是记录了其他文件名的文件. 所以,如果当前目录下有一个文件a,那么使用 mkdir a 创建a目录的时候会出错. Linux将设备当做文件来处理,比如,当插入U盘的时候,把U盘看成IO设备,使用read,write,像操作文件一样读写设备. 在创建硬链接的时…
前言 我们都知道,在linux下,“一切皆文件”,因此有时候查看文件的打开情况,就显得格外重要,而这里有一个命令能够在这件事上很好的帮助我们-它就是lsof. linux下有哪些文件 在介绍lsof命令之前,先简单说一下,linux主要有哪些文件: 普通文件 目录 符号链接 面向块的设备文件 面向字符的设备文件 管道和命名管道 套接字 以上各类文件类型不多做详细介绍. lsof命令实用用法介绍 lsof,是list open files的简称.它的参数很多,但是我们这里只介绍一些实用的用法(注意…
1.d:directory(目录): 表示这个文件是个目录,其他的还有f(file文件)等等: 2.r:read(可读) 3.w:write(可写) 4 x :execute(可执行) 一般Linux文件或目录权限分为三个,用户,组和其它.每个都有三个权限rwx,即读,写,执行权限.权限的表示方法有两种,一是直观法,即直接用rwx表示,另外一种是二进制数值法,如:644,755等.读是4,写是2,执行是1,三个相加得7,以此类推,如果是6,则表示读,写,没有执行权限.Linux下用ls -l能显…
转自:http://blog.csdn.net/jason314/article/details/5640969 一.fork入门知识 一个进程,包括代码.数据和分配给进程的资源.fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同,两个进程也可以做不同的事.    一个进程调用fork()函数后,系统先给新的进程分配资源,例如存储数据和代码的空间.然后把原来的进程的所有值都复制到新的新进程中,只有少数值与原来的进程…
windows篇 linux文件下载到windows sz命令 登录到linux服务器使用 sz log.log 命令,弹出对话框选择下载文件的目录,点击确定即可. windows文件上传到linux rz命令 登录到linux服务器使用rz命令,弹出文件选择对话框,选择windows本地的要上传的文件,点击打开即可上传文件到linux服务器. mac篇 linux文件下载到mac 使用scp命令 scp  root@192.168.0.187:/usr/local/nginx-1.14.0.t…
chmod是更改文件的权限 chown是改改文件的属主与属组 chgrp只是更改文件的属组. 一.文件权限解读 如上图所示,开头的-rwxrw-r--这一字符串标识文件权限. 这个字符串有10位,可以分为4段来解读.注:r--可读,w--可写,x--可执行. 第一段(第1位)表示是目录还是文件,-表示是文件,d表示是目录: 第二段(第2-4位,共3个字符串)表示文件所属用户对它的权限: 第三段(第5-7位,共3个字符串)表示文件所属用户组用户对它的权限: 第四段(第8-10位,共3个字符串)表示…