1、文件类型
Unix系统的大多数文件是普通文件或目录,但是也有另外一些文件类型:
1.普通文件(Regular file)。这是最常见的文件类型,这种文件包含了某种形式的数据。至于这种数据是文本还是二进制数据对于系统核而言并无区别。对普通文件内容的解释由处理该文件的应用程序进行。
2.目录文件(Directory file)。这种文件包含了其它文件的名字以及指向与这些文件有关信息的指针。对一个目录文件具有读许可数的任一进程都可以读该目录的内容,但只有系统核可以写目录文件。
3.字符特殊文件(Charocter special file)。这种文件用于系统中的某些类型的设备。
4.块特殊文件(Block special file)。这种文件典型地用于磁盘设备。系统中的所有设备或者是字符特殊文件,或者是块特殊文件。
5.FIFO。这种文件用于进程间的通信,有时也将其称为命名管道。在14.5对其进行说明。
6.套接口(socket)。这种文件用于进程间的网络通信。套接口也可用于在一台宿主机上的进程之间的非网络通信。在第十五章,我们将用套接口进行进程间的通信。只有4.3+BSD才返回套接口文件类型,虽然 SVR4支持用套接口进行进程间通信,但现在是经由套接口函数库实现的,而不是通过系统核内的套接口文件类型,将来的SVR4版本可能会支持套接口文件类型。
7.符号连接(Symboliclink)。这种文件指向另一个文件。我们在4.16中将更多地述及符号连接。
下面看一下 ls -l 的输出:
# ls -l /etc/profile /dev/tty0 /dev/sda1 /dev/cdrom /dev/log /home/incoming /tmp/fifo
lrwxrwxrwx 1 root root 4 10-04 17:43 /dev/cdrom -> scd0
srw-rw-rw- 1 root root 0 10-04 17:44 /dev/log
brw-r----- 1 root disk 8, 1 2008-10-05 /dev/sda1
crw-rw---- 1 root root 4, 0 2008-10-05 /dev/tty0
-rw-r--r-- 1 root root 937 2006-01-31 /etc/profile
prw-r--r-- 1 root root 0 10-04 21:01 /tmp/fifo
/home/incoming:
总计 8
drwxr-xr-x 2 root root 4096 10-04 20:58 dir
说明,‘lrwxrwxrwx’十个字母的意思,可以分为四组,
第一组: 第一个字母,这里是‘l’,代表这是一个符号连接文件
c 字符特殊文件
b 块特殊文件
s socket套接字文件
l 符号连接文件
- 普通文件
d 目录文件
p FIFO文件
上面每行中:
第一列:
第1个字符表示文件的类型(d表示目录,-表示普通文件);
第2-4字符表示文件属主对此文件的访问权限(如:“rwx”和“rwx”);
第5-7字符表示用户组对此文件的访问权限(如:“rwx”和“r-x”);
第8-10字符表示其他用户对此文件的访问权限(如:“r-x”和“r--”);
其中,访问权限用三个字符表示,顺序是“rwx”,“r”表示可读、“w”表示
可写、“x”表示可执行。若某项禁止访问则为“-”,如:“r-x”表示可读、
不可写、可执行;
第二列:是文件数量(如:2和1);
第三列:此文件的属主名(如:root和wjm);
第四列:用户组名(如:group和newservice);
第五列:文件所占字节数(如:48和321);
第六至七列:最后修改的日期和时间(如:“10-04 21:01”和“2006-01-31”);
最后一列:文件名(如:/tmp/fifo和/dev/tty0)。
一般格式
-rwxrwxrwx user group date filename
2、存取权限
UNIX文件的存取有三种权限:
权限 普通文件的存取权限 目录的存取权限
R 具有读取文件的权利 能读取文件名称
W 具有写入文件的权利 能建立和删除文件,可以改变文件名
X 具有执行文件的权利 能使用该目录下的文件(如cd命令)搜索文件等
3、能够存取文件的用户类型
有三种类型的用户可以存取文件:
用户类型 说明
owner 文件的属主(拥有者)
group 用户组内成员
other 其他用户(非owner和非group)
每种类型的用户都有三种文件存取权限:r、w、x。
4、文件存取权限的显示
可以通过”ls -l”命令显示,如:
$ ls -l file1
显示如下:
-rwxr-xr-- 2 wjm newservice 321 Oct 17 09:33 file1
上行中:
第2-4字符”rwx”表示此文件属主wjm对文件file1的权利为”可读、可写、可执行”;
第5-7字符”r-x” 表示此用户组newservice内的用户对文件file1的权利为: ”可读、不可写、可执行”;
第8-10字符”r--” 表示其他用户对文件file1的权利为”可读、不可写、不可执行”
5、文件存取权限的修改
用chmod命令修改文件的存取权限,chmod命令的格式如下:
格式1: chmod symbolic_mode file…
格式2: chmod absolute_mode file…
(1)格式1:符号模式(symbolic_mode), 符号模式的命令格式如下:
chmod [who] op permision file…
who项表示用户类型,它的内容为以下一项或多项:
U 文件属主(user --- owner)
G 用户组(group)
O 其他人(other)
A 所有人(all)
op项表示动作:
+ 表示要加上permission指定的权利
- 表示要取消permission指定的权利
permission项为存取权限,它的内容为以下一项或多项:
r 表示可读
w 表示可写
x 表示可执行
举例:
chmod u+w test report 属主对test和report文件“可写”
chmod u-x abc.c 属主对abc.c文件不可执行
chmod u+rwx myfile1 属主对myfile1“可读、可写、可执行”
chmod ugo+rwx myfile2 任何人都对myfile1“可读、可写、可执行”
(2)格式2:绝对模式(absolute_mode), 符号模式的命令格式如下:
chmod xyz file…
x、y、z分别是0-7的数字,分别表示属主、用户组、其他人对该文件的存取权限。x、y、z的取值公式均为:
a*4 + b*2 + c
其中,
a=1分别表示可读,a=0表示不可读;
b=1分别表示可写,b=0表示不可写;
c=1分别表示可执行,c=0表示不可执行;
举例:
chmod 751 ncp 属主对ncp拥有“可读、可写、可执行”的全部权利;组内成员对ncp只有“可读、可执行”的权利;其他用户对ncp只有“可执行”的权利。
6、改变文件属主及文件所在组
改变文件属主的格式如下:
chown 属主名 文件名
必须对文件具有write权利才可改变文件的属主。
改变文件所在组的格式如下:
chgrp 组名 文件名
必须是文件的属主或supervisor才能改变文件组别的归属。
举例:
chown wjm test1 将文件test1的属主改为wjm
chgrp newservice test1 将文件test1的用户组改为newservice
阅读(4797) | 评论(0) | 转发(0) |