1.1、文件系统
文件系统(file system)是指数据在计算机的硬盘中存放的格式,针对不同的操作系统,文件存储格 式和存取的方式各不相同,所以文件系统也不尽相同。
1.1.1、windows 的文件系统
①、FAT16 file allocation table 文件分配表
②、FAT32
③、NTFS new technology file system 新技术文件系统
1.2、linux 文件系统介绍
①、Ext2 标准的 linux 文件系统
②、Ext3 Ext2 的升级版,增加日志功能,并有根据日志中断重整功能。
③、linux swap linux 的交换分区
④、VFAT 长文件名系统,与 windows 共同支持的文件系统。
其他支持的:fat、ISO9660、cramfs
1.3、linux 下的目录和文件类型
在查看文件的基本属性的时候,每一行的第一位,也就是权限位之前的那一位表示文件的类型:
- 代表普通文件 d 代表目录文件
l 代表链接文件 p 代表管道文件
以及其他的 s、b、c 等特殊文件
文件的扩展名(后缀)
文件的后缀名主要是方便用户和系统识别,例如:“.jpg”“.mp3”用户看到可以知道.jpg 是图片文件, 而.mp3 是音频文件;系统读取的时候可以用来识别与哪些程序关联。以方便双击打开。对系统内部来说, 扩展名没有太大的意义。
1.4、linux 文件系统和 windows 文件系统的对比
LINUX:存储设备在文件系统层次结构中,以目录表示;用正斜杠/分割目录;文件名不需要后缀;每个文 件/目录都有与之相关的权限和所有权
WINDOWS:驱动器以字母表示;用反斜杠\分割目录;文件名的后缀有特殊含义;安全特性各不相同
1.5、linux 系统下的默认目录
/bin
/boot
/dev
/etc
/home
/media
/root
/sbin
/tmp
/usr
/var
1.6、linux 的目录与文件的权限
①、权限的类型
r 读权限 数值表示 4
w 写权限 数值表示 2
x 执行权限 数值表示 1
1 代表执行,2 代表写,3 代表 1+2,4 代表读,5 代表 1+4,6 代表 2+4,7 代表 1+2+4
②、三组、九位权限位
u 属主 前三位 文件的主人(文件的所有者)
g 属组 中间三位 文件主人所在的组(文件所有者所在的组)
o 其他用户 后三位 除了 u 和 g 以外的用户
③、更改目录、文件的权限值
chmod 命令:
(1)、数值表示法 chmod 数值 文件名/目录名
chmod 766 dir1 将目录 dir1 的权限更改为 4+2+1 4+2 4+2
chmod 777 file1 将文件 file1 的权限更改为 4+2+1 4+2+1 4+2+1
(2)、字母描述法 chmod?? 属主(或属组或其他人或所有的)=(或者+或者-)权限 文件名/目录名
chmod u=r file1 给文件的属组赋予读取权限
chmod u=wx file1 给文件的属组赋予写和执行权限
chmod g+rw file1 给文件的属组增加读写权限
chmod g-rw file1 给文件的属组去掉读写权限
chmod o=rw file1 给文件的其他用户的权限改为读写
chmod a+rwx file1 给所有用户增加读写和执行权限
④、系统的 umask 值
umask 值可以计算,当创建目录或文件时系统默认分配的权限。创建文件的默认权限是 666 减掉权限 位数值,目录的默认权限是 777 减掉权限位的数值。
[root@localhost ~]umask
0022
查看系统默认的 umask 值为 0022,第一位 0 代表粘贴位,第 2-4 位代表权限位
这样系统默认创建文件的权限为 666-022 为 644 为属主读写,属组读,其他读
系统默认创建文件夹的权限位 777-022 为属主读写执行,属组读执行,其他读执行
⑤、粘贴位:(sticky)当一个目录被设置为"粘着位"(用 chmod a+t),则每个用户可以以完整的权限来使用 和执行文件或目录,但是该目录下的文件只能由:
一、超级管理员删除
二、该目录的所有者删除
三、该文件的所有者删除
setUID 用户特殊权限位
当设置用户特殊权限位时,用户在执行这个文件时便拥有是属主的权限,便可以使用属主用户所能使 用的所有系统资源。
setGID 组的特殊权限位
当设置组的特殊权限位的时候,用户在执行这个文件时便拥有文件属组的权限,便可以使用文件属组 所能使用的系统资源。
Suid 对应数值为 4
Sgid 对应数值为 2
t 对应数值为 1
特殊权限位在设置过程中占用 x 权限位,如果同时开启 x 权限,则用小写来表示,如果关闭 x 权限则用大 写来表示。
设置举例:
chmod 1666 dir1
drw-rw-rwT root root 4096 dec 17 19:05 dir1
更改 dir1 的权限,增加粘贴位权限,属主为读写,属组为读写,其他用户为读写
chmod 2666 dir1
drw-rwSrw- root root 4096 dec 17 19:05 dir1
更改 dir1 的权限,增加组位特殊权限,属主为读写,属组为读写,其他用户为读写
chmod 7777 dir1
drwsrwsrwt root root 4096 dec 17 19:05 dir1
更改 dir1 的权限,增加粘贴位权限,用户和组位特殊权限,属主为读写执行,属组为读写执行,其他用 户为读写执行
⑥、更改目录或是文件的属主或属组
必须由文件或目录的属主或超级用户才能修改!!!
chown 命令更改目录或文件的属主和属组
chown u1 dir1 将当前目录下的 dir1 目录的属主改为 u1
chown u2.g1 dir1 将当前目录下的 dir2 目录的属主改为 u2 属组改为 g1
-R 递归式改变指定目录及目录下所有文件和子目录
-v 显示 chown 命令所做的工作
可以以空格分开,同时更改多个目录或文件,并且支持通配符来修改多个文件或目录,支持用户和组的 ID 来修改
chgrp 命令更改目录或文件所属的组
chgrp g1 dir2 将 dir2 的属组更改为 g2
以空格分开,同时更改多个目录,并且支持通配符来修改多个目录和文件,支持用户和组的 ID 来修改 -R 递归式改变指定目录及目录下所有文件和子目录