[APUE]第四章文件和目录

来源:互联网 发布:单片机类型 编辑:程序博客网 时间:2024/05/17 03:45

本章内容较多,本文只记录在学习过程中所发现的问题,同时记录所需掌握的Linux方面知识.

文件类型

普通文件
目录文件
块特殊文件
字符特殊文件
FIFO
套接字
符号链接
这里要介绍下dos2unix命令,刚好前几天在工作中有所接触。
dos2unix命令用来将DOS格式的文本文件转换成UNIX格式的(DOS/MAC to UNIX text file format converter)。DOS下的文本文件是以\r\n作为断行标志的,表示成十六进制就是0D 0A。而Unix下的文本文件是以\n作为断行标志的,表示成十六进制就是 0A。DOS格式的文本文件在Linux底下,用较低版本的vi打开时行尾会显示^M,而且很多命令都无法很好的处理这种格式的文件,如果是个shell脚本,。而Unix格式的文本文件在Windows下用Notepad打开时会拼在一起显示。因此产生了两种格式文件相互转换的需求,对应的将UNIX格式文本文件转成成DOS格式的是unix2dos命令。

在ubuntu中安装dos2unix方法:
apt install dos2unix
安装完成通过 man dos2unix可以看到如下解释:

图4-3的程序讲解中提到了\的用法:通知shell要在下一行继续键入命令,shell在下一行通过>提示我们继续输入

设置用户ID和设置组ID

当执行一个程序文件时,进程的有效用户ID通常就是实际用户ID,有效组ID通常是实际组ID。但是可以在文件模式字(st_mod)中设置一个特殊标志,其含义是“当执行此文件时,将进程的有效用户ID设置为文件所有者的用户ID(st_uid)”.在文件模式字中可以设置另一位,它将执行此文件的进程的有效组ID设置为文件的所有者ID(st_gid).在文件模式字中的这两位被称为设置用户ID(set-user-ID)位和设置组ID(set group-ID)位。
UNIX系统程序passwd(1)允许任一用户改变其口令,该程序时一个设置用户ID程序。

文件与目录

目录与文件的权限意义:
权限对文件的重要性:
r (read) 可读取此文件的实际内容,如读取文本文件的文字内容
w(write)可以编辑、新增或者修改该文件的内容
x(execute):该文件具有被系统执行的权限

权限对目录的重要性:
r 表示具有读取目录结构列表的权限
w 表示具有更改该目录结构列表的权限
x 表示用户能否进入该目录的权限

符号链接与硬链接

Linux相关知识参考符号链接与硬链接
pwd -P可以查看真实路径.针对图4-18的解释如下:

虽然显示的路径越来越长,但其实真实目录通过pwd -P看依然是foo.

粘着位

如果一个可执行程序文件设置了粘着位,那么当该程序第一次被执行,在其终止时,程序正文部分的一个副本扔被保留在交换区,这使得下次执行该程序时能较快地将其装载入内存。
如果对一个目录设置了粘着位,只有对该目录具有写权限的用户并且满足下列条件之一,才能删除或重命名该目录下的文件:
拥有此文件
拥有此目录
超级用户
/tmp 和/var/tmp是设置黏着位的典型代表。任何用户都可以在这两个目录中创建文件。任一用户对这两个目录的权限通常都是读 写和执行。但是用户不能删除或重命名属于其他人的文件,为此在这两个目录的文件模式中都设置了黏着位。