在看韦东山视频linux驱动方面有一些吃力,究其原因,虽然接触过linux应用程序编程,但是没有深入去理解,相关函数用法不清楚,正好看到国嵌视频对这一方面讲的比较透彻, 所以把学习过程记录下来,也作为linux应用程序开发的一个系列吧! 文件编程有两种方式,一是系统调用方式,二是库函数调用. 前者依赖特定的平台,后者不依赖平台. 系统调用:创建 int creat(const char *filename,mode_t mode); filename:要创建的文件名 mode:创建模式 S_IR…
dup ,dup2,fcntl,ioctl系统调用 . dup ,dup2 函数 int dup(int oldfd) int dup(int oldfd , int newfd) dup用来复制参数oldfd的文件描述符duo2可以用newfd来指定新文件描述符的数值 2.fcntl函数对已经打开的文件描述符进行各种控制操作,以及改变已经打开文件的各种属性 3.ioctl函数控制设备,不能用其他函数进行控制操作都可以用ioctl来进行 3.文件属性的操作 1.  shell里可通过ls来获取文…
---恢复内容开始--- c库函数文件操作独立于具体的系统平台,可移植性较好. 库函数-创建和打开 FILE*fopen(const char*filename,const char*mode) mode:打开模式 常见的打开模式: r,rb:只读方式打开 w,wb: 只写方式打开,如果文件不存在,则创建该文件 a,ab:追加方式打开,如果文件不存在,则创建该文件 r+,r+b,rb+:读写方式打开 w+,w+b,wh+:读写方式打开,如果文件不存在,则创建该文件 a,a+b,ab+:读和追加方…
在linux中,/etc/fstab文件是磁盘挂载的问题,若该文件不小心给修改了,或者被删除了,那么就会导致系统无法重启.因为/etc/fstab文件是记录磁盘挂载的信息,若该文件出现了问题,那么对应的主目录(/)和(/boot)以及swap的磁盘将无法挂载,所以这个文件对于linux系统来说是相当重要的. 我犯的错误是:我在对hadoop集群进行文件配置的时候,在一台主机上对/etc/fstab文件进行修改,修改好了之后,准备分发给其他主机,我开始以为fstab文件的内容是一样的,于是我就该文…
Linux是通过link的数量来控制文件删除的,只有当一个文件不存在任何link的时候,这个文件才会被删除.一般来说,每个文件都有2个link计数器:i_count和i_nlink. i_count的意义是当前文件使用者(或被调用)的数量,i_nlink的意义是介质连接的数量(硬链接的数量):可以理解为i_count是内存引用计数器,i_nlink是磁盘的引用计数器. 当一个文件被某一个进程引用时,对应i_count数就会增加:当创建文件的硬链接的时候,对应i_nlink数就会增加 1.企业案例…
Linux下文件删除的原理 只要dongdaxiafile(源文件).服务进程.dongdaxiaflie_hard_link(硬链接文件)三个中的任意一个存在文件不会被删除.…
目录 1.Linux编辑工具vim 2.Linux文件类型 3.Linux文件属性 4.今日份Linux练习题 Linux编辑工具vim 1.什么是vim 文本文件的编辑工具,  和windows的notepad++一样. 2.为什么要使用vim Linux一切皆为文件,需要修改配置文件,让软件按照我们的期望值运行,所以需要使用编辑工具 3.VI和VIM的区别 没有什么区别, vim有高亮显示, 其他无区别 相当于windows 记事本与notepad++区别. vim需要安装 yum inst…
rsync使用 1. 为什么使用rsync? rsync解决linux系统下文件同步时, 增量同步问题. 使用场景: 线上需要定时备份数据文件(视频资源), 使用rsync完成每天的增量备份. 参见: http://roclinux.cn/?p=2643 http://www.ibm.com/developerworks/cn/linux/l-cn-nohup/ 2. rsync使用遇到的问题 线上数据文件全量备份, 32T数据, 主要是视频文件, 数据量较大, 按照100M/s, 需要3天+,…
第1章 软硬链接 1.1 硬链接 1.1.1 含义 多个文件拥有相同的inode号码 硬链接即文件的多个入口 1.1.2 作用 防止你误删除文件 1.1.3 如何创建硬链接 ln 命令,前面是源文件 后面是创建的链接文件 [root@znix oldboy]# ln oldboyedu.txt oldboyedu.txt-hard 查看两文件的inode号相同. [root@znix oldboy]# ls -lhi oldboyedu.txt oldboyedu.txt-hard 151273…
文件删除的原理 linux的文件名是存在父目录的block里面的,并指向这个文件的inode节点,这个文件的inode节点在标记指向存放这个文件的block的数据块.我们删除文件,实际上不是清除inode节点和block的数据,只是在这个文件的父目录里面的block中,删除了这个文件的名字,从而使这个文件名消失,并且无法指向这个文件的inode节点,当没有文件指向这个文件inode节点的时候,会同时释放inode节点存放这个文件的数据块,并更新inode MAP 和block MAP 今后让这些…