1、Linux文件属性
用root用户登录Linux后,执行 ls -al 命令查看文件。显示如下:
文件属性示意图如下:
第一列代表这个文件的类型和权限
第一个字符代表这个文件是:目录、文件或链接文件等。
若是【d】则是目录;
若是【-】则是文件;
若是【l】则表示为连接文件;
若是【b】则表示设备文件里的可供存储的接口设备;
若是【c】则表示设备文件里的串行端口设备,如鼠标、键盘等。
后面的9个字符以3个位一组,均为rwx的组合。其中r代表可读,w代表可写,x代表可执行。注意3个权限的位置不会改变,如果没有权限,就会出现减号(-)。
第一组 为 “文件所有者的权限”
第二组 为 “用户组的权限”
第三组 为 “其他非本用户组的权限”
第二列表示有多少文件名连接到此节点
每个文件都会将它的权限和属性记录到文件系统的i-node中,不过我们使用的目录树却是使用文件名来记录,因此每个文件名就会连接到一个i-node。这个属性记录了有多少不同的文件名连接到相同的一个i-node号码。
第三列表示这个文件的“所有者账号”
第四列表示这个文件的所属的用户组
第五列为这个文件的大小,默认单位是B
第六列为这个文件的创建文件日期或者是最近的修改日期。
第7列为该文件的文件名
如果文件名之前多了一个 “.” ,则说明这个文件为“隐藏文件”,隐藏文件的list列表时,加-a参数可以显示。ls -al。
2、如何改变文件的权限和属性chgrp : 改变文件所属用户组
chown : 改变文件所有者
chmod: 改变文件的权限
2.1、改变文件所属用户组chgrp 【-R】 dirname/filename ...
-R : 进行递归的持续更改,也连同子目录下的所有文件、目录都更新成为这个用户组之意。常常用在更改某一目录内所有文件的情况。
范例:
chgrp hy install.log : 将install.log文件的用户组改为hy用户组。注意hy用户组必须要在/etc/group 文件内存在才可以。
2.2、改变文件的所有者chown [-R] 账号名称 文件或目录
chown [-R] 账号名称:组名 文件或目录
-R:也是递归子目录。
范例:
chown bin install.log
chown root:root install.log
改变文件所有者和用户组的这两个命令的应用场景:复制文件,由于复制行为会复制执行者的属性和权限,因此复制后需要改变文件所属用户、用户组等。
2.3、改变文件的权限文件权限有两种设置方法:数字类型改变权限和符号改变权限。
首先说明各个权限对应的数字:
r: 4
w: 2
x:1
每种身份各自的三个权限分数是需要累加的。
例如:权限为(-rwxrwx---)分数分表是:
owner = rwx = 4+ 2 + 1 = 7
group = rwx = 4+ 2+ 1 = 7
others = --- = 0+0 +0 = 0
所以在设置权限时,该文件的权限数字就是770.
1)、数字类型改变文件权限方式
命令: chmod [-R] xyz 文件或目录
xyz : 代表权限数字。如770.
-R : 进行递归的持续更改。
范例:
chmod 777 .bashrc : 将文件.bashrc这个文件的所有权限设置都启用。
2)、符号类型改变文件权限方式
使用u、g、o三个字母代表user、group、others 3中身份。此外a代表all,即所有身份。
范例:
chmod u=rwx,go=rx .bashrc
也可以增加或去除某种权限。
chmod a+w .bashrc
chmod a-x .bashrc
3、目录和文件权限的意义 3.1、权限对于文件的重要性r(read):可读取此文件的实际内容
w(write):可以编辑、新增或修改文件的内容(但是不含删除该文件)
x(execute):该文件具有可以被系统执行的权限。
3.2、文件对目录的重要性目录的主要内容是记录文件名列表,文件名与目录有强烈的关联。
r(read):表示具有读取目录结构列表的权限,当具有读取一个目录的权限时,表示你可以查询该目录下的文件名数据,可以用ls命令将目录内容显示出来。
w(write):对目录来说是很强大的。表示你具有更改该目录结构的权限。
新建新的文件和目录
删除已存在的文件与目录
将已存在的文件或目录重新命名
转移该目录内的文件、目录位置
总之,目录的w权限与该目录下面的文件名变动有关就对了。
x(execute):目录的x权限代表用户是否能进入该目录成为工作目录的用途。
因此,要开放目录给任何人浏览时,应该至少也要给与r及x权限,但是w权限不可以随便给。
4、Linux文件的种类及扩展名 4.1、文件的种类普通文件:纯文本文件、二进制文件、数据格式文件
目录
连接文件
设备与设备文件
套接字:数据接口文件,通常被用在网络上的数据连接。第一个属性为s,通常在/var/run 这个目录中可以看到这种文件类型。
管道(FIFO,pipe):它的主要目的在解决多个程序同时访问一个文件所造成的错误问题。第一个属性为p
4.2、Linux文件扩展名