Linux文件目录和权限命令


前言:

Linux一般将文件可存取的身份分为三个类别,分别是 owner/group/others,根据权限划分,每个目录都可以拥有相对身份的-rwx[可读可写可执行]

 

使用者与群组:

Owner :文件拥有者,如jane拥有此文件所属权,可对该文件进行相应权限操作。

Group  :文件拥有组,如一个project组中,有三个人people1,people2, people3,而该文件被project组所拥有,则组内的三个成员就可以对文件进行相应权限操作。

Other  :其他所有者,即除去owner和group的可执行的操作

Linux文件属性

使用ls -al可查看当前目录下的文件(-a显示隐藏文件,以.开头的文件)

 

根据空格符划分:[ 权限 ][链接][拥有者][群组][文件大小][ 修改日期 ] [ 文件名 ]

1)      [权限]:由十位字符组成,代表这个文件的类型与权限

第一个字符代表这个文件是目录、文件或链接文件等等

目录

l  当为[ d ]则是目录,例如上表文件名为“.config”的那一行;

l  当为[ - ]则是文件,例如上表文件名为“esd_auth”那一行;

l  若是[ l ]则表示为链接文件(link file);

l  若是[ b ]则表示为设备文件里面的可供储存的周边设备(可随机存取设备);

l  若是[ c ]则表示为设备文件里面的序列埠设备,例如键盘、鼠标(一次性读取设备)。

  接下来的字符中,以三个为一组,且均为“rwx” 的三个参数的组合。

l  [ r ]代表可读(read)

l  [ w ]代表可写(write)

l  [ x ]代表可执行(execute)。

l  这三个权限的位置不会改变,如果没有权限,就会出现减号[ - ]

l  查阅时可将类型与数据划分开: [-][rwx][r-x][r--]è1 234 567 890

1 :代表这个文件名为目录或文件

234:拥有者的权限

567:同群组使用者权限

2)      [链接]:表示有多少文件名链接到此节点(i-node)

每个文件都会将他的权限与属性记录到文件系统的i-node中,我们使用的目录树却是使用文件名来记录,因此每个文件名就会链接到一个i-node,这个属性记录的,就是有多少不同的文件名链接到相同的一个i-node号码。

3)      [拥有者]:表示这个文件(或目录)的“拥有者帐号”

4)      [群组]:表示这个文件的所属群组

5)      [文件大小]:文件的容量大小,默认单位为Bytes

6)      [ 修改日期 ]:文件的创建日期或者是最近的修改日期

7)      [ 文件名 ]:文件的文件名

改变文件属性与权限

1)      chgrp :改变文件所属群组(change group):被改变的群组名称必须要

在/etc/group文件内存在才行,否则就会显示错误

2)      chown :改变文件拥有者(change owner): 使用者必须是已经存在系统中的帐号,也就是在/etc/passwd 这个文件中有纪录的使用者名称才能改变

chown [-R] 帐号名称 文件或目录

chown [-R] 帐号名称:群组名称 文件或目录(可连同变更文件的所属组)

-R : 进行递归(recursive)的持续变更,连同次目录下的所有文件都变更

 

3)      chmod :改变文件的权限, SUID, SGID, SBIT等等的特性

分别可以使用数字或者是符号来进行权限的变更。

权限分数对照:r:4  w:2  x:1

a)      chmod [-R] xyz 文件或目录

xyz :数字类型的权限属性,为 rwx 属性数值的相加。

b)      chmod | u g o a | +(加入) -(除去) =(设置) | r w x | 文件或目录

user、group 、others三种身份,借由u, g, o来代。此外, a 则代表 all 即全部的身份

文件默认权限:umask

umask 就是指定 “目前使用者在创建文件或目录时候的权限默认值”

1)      umask  0022  :与一般权限相关的是后3位数字,第1位是特殊权限用的

2)      umask –S  u=rwx,g=rx,o=rx

3)      umask 的分数指的是“该默认值需要减掉的权限”

 

如图所示,git用户默认umask值为0002 即对所属者全部拥有,所属组全部拥有,其他用户不拥有权限值2,即w,所以我们新建的test目录权限为drwxrwxr-x

Linux文件种类与扩展名

l  纯文本文件(ASCII):可以直接读到的数据,cat指令可查看该文件

l  二进制文件(binary :一般计算机系统的可执行文件

l  数据格式文件(data):特定格式的文件可以被称为数据文件,last可查看该文件,使用cat会出现乱码

l  目录(directory)

l  链接文件(link)

l  设备与设备文件(device):与系统周边及储存等相关的一些文件,通常在/dev目录下

²  区块(block)设备文件:一些储存数据, 以提供系统随机存取的周边设备,如硬盘与软盘等[b]

²  字符(character)设备文件:一些序列埠的周边设备, 例如键盘、鼠标等[c]

l  数据接口文件(sockets): 通常被用在网络上的数据传输

l  数据输送档(FIFO, pipe): FIFO也是一种特殊的文件类型,解决多个程序同时存取一个文件所造成的错误问题。

Linux文件扩展名

l  .sh : 脚本或批处理文件 (scripts)

Z, .tar, .tar,.gz, .zip, *.tgz: 经过打包的压缩文件,因压缩方式不同,后缀也不同

.html, .php:网页相关文件

Linux目录配置的依据—FHS(Filesystem Hierarchy Standard)

l  FHS主要功能:规范每个特定的目录下应该要放置什么样子的数据

l  FHS下目录的四种交互形态

1)    可分享的:可以分享给其他系统挂载使用的目录

2)    不可分享的:一些隐私数据

3)    不变的:不会经常变动的数据

4)    可变的:经常改变的数据

l  FHS针对目录树架构定义的三层目录

1)    三个目录的定义:

2)    /(root, 根目录):与开机系统有关;

3)    /usr (unix software resource):与软件安装/执行有关;

4)    /var (variable):与系统运行过程有关。

 

/etc----配置文件

/bin----重要执行文件

/dev----所需要的设备文件

/lib----执行文件所需要的函数库与内核所需的模块

/sbin----重要的系统执行文件

相关内容