鸟哥私房菜——第五章小结笔记

Linux的文件权限与目录配置

Linux将文件可读写的身份分为三类:执行者(owner)、所属群组(group)、其他人(others),而三种身份各有读(read)、写(write)、执行(execute)。
ls -al:查看文件命令
ls是list的意思,重点在显示文件的文件名与相关属性。选项[-al]则表示列出所有的文件详细的权限与属性(包含隐藏文件)。效果如下所示:
one
先解释下上面七个字段的意思。
·第一栏第一个字符代表这个文件是目录、文件或链接文件等:
若为[d]则是目录,例如上表第一行;
若为[-]则是文件,例如上表第三行;
若为[l]则是链接文件(link file)
若为[b]则是设备文件里面的可供存粹的周边设备(可按快随机读写的设备)
若为[c]则表示为设备文件里面的串行端口设备,例如键盘、鼠标等一次性读取设备
接下来的字符中,以三个为一组,且均为【rwx】的三个参数的组后。其中[r]代表可读(read)、
[w]代表可写(write)、 [x]代表代表可执行[execute]。需要注意的是这个三个权限的位置不会改变,如果没有就会出现减号[-]。
第一组为文件拥有者可具备的权限,第二组为加入此用户组之账号的权限,第三组为非本人且没有加入本用户组的其他账号的权限;
·第二栏表示有多少文件名链接到此节点
·第三栏表示这个文件(或目录)的拥有者账号
·第四栏表示这个文件的所属用户组
·第五栏表示这个文件的容量大小,默认单位是Bytes
·第六栏表示这个文件的创建日期或是最近的修改日期
·第七栏表示文件名。需要注意的是如果文件名之前多一个【.】则表示这个文件为隐藏文件

修改文件属性与权限

chgrp:修改文件所属用户组;
chown:修改文件拥有者;
chmod:修改文件的权限,SUID、SGID、SBIT等特性
修改用户组和拥有者很简单,特别说下修改文件权限。权限设置方法有两种,分别是数字和符号。

数字类型:

Linux文件的基本权限就有9个,分别是拥有者(owner)、所属群组(group)、其他人(others)三者身份各有自己的读(read)、写(write)、执行(execute)权限。根据找这些数据,文件的权限字符为:
【-rwxrwxrwx】这个九个权限是三个三个一组。其实可以用数字来代表各个权限,对照表为:
r:4
w:2
x:1
每种身份的各自的三个权限数字是需要累加的,例如当权限是:【-rwxrwx—】数字则是:
owner=rwx=4+2+1=7
group=rwx=4+2+1=7
others=—=0+0+0=0
因此修改权限的命令chmod的语法是:
chmod [-R] xyz 文件或是目录。xzy就是数字类型的权限属性,为rwx属性数值的累加。-R表示递归修改,即连同子目录下的所有文件都会修改。

符号类型:

根据上面的了解九个权限分别是(1)user (2)group (3)others三者身份,那么就可以借由 u、g、o来代表三种身份权限。此外a代表all即全部的身份
例如设置一个文件的权限为【-rwxr-xr-x】对应的写法是:chmod u=rwx,go=rx 文件名

目录与文件的权限意义

权限对文件的重要性
r(read):可读取此文件的实际内容,如读取文本文件的文字内容等
w(write):可以编辑此、新增或是修改此文件的内容(但不含删除此文件)
x(execute):该文件具有可以被系统执行的权限
注意:Linux系统中判断某一个文件是否能被执行,是借由是否具有【x】这个权限来决定的,和文件名没有关系。
权限对目录的重要性
r(read):表示具有读取目录结构列表的权限,因此当你具有读取(r)一个目录的权限时,表示可以查询该目录下文件名数据。
w(write):表示具有改动改目录结构列表的权限。如可以新建或删除文件与目录,移动与重命名已存在的文件与目录
x(execute):代表用户能否进入改目录成功工作目录。所谓的工作目录就是你目前所再的目录。

Linux文件种类与扩展名

·常规文件(regular file):大概分为:纯文本文件,二进制文件,数据文件
·目录(directory)
·链接文件(link)
·设备与设备文件:通常分为两种:区块(block)设备文件,字符(character)设备文件
·数据接口文件(sockets)
·数据传送文件(FIFO<先进先出的缩写(first-in-first-out)>,pipe)
.sh:脚本或处理文件,因为批处理文件是使用shell写出的,因此扩展名为.sh
Z,.tar,
.tar.gz,.zip,.tgz:经过打包的压缩文件,有不同的压缩软件,取其相关的扩展名
.html,.php:网页相关的文件,分别代表HTML与PHP语法的网页文件。
Linux针对文件名长度限制为:单一文件或目录的最大容许文件名为255字节,以一个ASCLL英文占用一个字节来说,则大约可达255个字符长度。若以每个汉字占用2个字节来说,最大文件名大约在128个汉字之间

Linux目录的配置

Linux目录配置的依据——FHS,阵对目录树架构定义出了三层目录下面应该放置什么数据:
/(root,根目录):与启动有关。根目录(/)所在分区应该越小越好,如此不但性能较佳,根目录所在的文件系统也较稳定
/usr(unix software resource):与软件安装/执行有关。
/var(variable):与系统运行过程有关
目录树的一些特性:
·目录树的起始点为根目录(/)
·每一个目录不止能使用本地分区的文件系统,也可以使用网络上的文件系统。例如可以通过NFS服务器挂载某特定目录
·每一个文件再次目录树中的文件名(包含完整路径)都是独一无二的。
绝对路径:由根目录(/)开始写起的文件名或目录名称
相对路径:开头不是由根目录(/)写起的文件名或目录名称。相对路径是以你当前所在路径的相对位置来表示的
. :代表当前的目录,也可以使用./来表示
.. :代表上一层目录,也可以使用../来表示