本系列文章系本人原创,欢迎转载,转载请注明出处
注:这篇文章所建立的所有文件(源文件,库文件,可执行文件等)均可在这里下载。下载的是chapter4.tar.gz文件,可以在Linux系统终端中用如下命令解压到当前目录:
tar zxvf chapter4.tar.gz
在Linux系统中,几乎可以认为一切皆文件。所以文件的操作是非常频繁且至关重要的。在这一章中,我们来介绍一下Linux系统下的文件操作相关的程序设计。
一、文件的权限
在讲解文件操作之前,我们先简单的介绍下Linux系统上的文件权限。
在任意目录下输入下列命令:
ls -l
将会有类似如下的输出:
我们先看第一行:
drwxrwxr-x. 2 test test 104 Nov 3 21:21 example
第一列的第一个字符 “d”表示该行的文件(example)是一个目录。第一列接下来的 “rwxrwxr-x”可以分为三组:
第一组 “rwx”: 对应文件(这里的example目录)的所有者的权限,所有者即第三列的 “test”用户。
第二组 “rwx”:对应文件的所属组的权限,所属组即第四列的 “test”组。
第三组 “r-x”:其他用户的权限。
那么每组下的rwx是什么意思呢?
r: 表示对应的用户/组有写的权限
w: 表示对应的用户/组有读的权限
x: 表示对应的用户/组有执行文件的权限
对于通常意义下的文件,这三个权限很好理解,那么对于目录,又该怎样理解呢? 其实我们可以简单的理解为既然Linux下几乎一切皆文件,那么目录也是文件,目录的内容就是目录下的那些文件,这样就不难理解目录的rwx权限分别对应什么操作了:
r: 查询该目录下的文件(如 “ls 目录”)
w: 修改目录下的目录结构,如删除文件,重命名文件,新建文件等
x: 表