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)
l Z, .tar, .tar,.gz, .zip, *.tgz: 经过打包的压缩文件,因压缩方式不同,后缀也不同
l .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----重要的系统执行文件

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
linux系统命令大全
系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI) hdparm -i /dev/hda 罗列一个磁盘的架构特性 hdparm -tT /dev/sda 在磁盘上执行测试性读取操作 cat /proc/cpuinfo 显示CPU info的信息 cat /proc/interrupts 显示中断 cat /proc/meminfo 校验内存使用 cat /proc/swaps 显示哪些swap被使用 cat /proc/version 显示内核的版本 cat /proc/net/dev 显示网络适配器及统计 cat /proc/mounts 显示已加载的文件系统 lspci -tv 罗列 PCI 设备 lsusb -tv 显示 USB 设备 date 显示系统日期 cal 2007 显示2007年的日历表 date 041217002007.00 设置日期和时间 - 月日时分年.秒 clock -w 将时间修改保存到 BIOS...
- 下一篇
centos7安装supervisor
其实现在网络上supervisor的教程有很多,比较杂,我找了几个对我来说是有帮助的教程,再结合自己的理解做一些笔记,可以供自己以后翻看。 链接:https://www.cnblogs.com/Hai--D/p/5820718.html http://blog.csdn.net/xyang81/article/details/51555473 有时候在linux上的程序还是需要统一管理,这时候supervidor就非常好用,在windowns上操作就非常好。 首先: 一、安装supervisor 1.wget https://pypi.python.org/packages/80/37/964c0d53cbd328796b1aeb7abea4c0f7b0e8c7197ea9b0b9967b7d004def/supervisor-3.3.1.tar.gz 2.tar zxf supervisor-3.3.1.tar.gz 3.cd supervisor-3.3.1 4.python setup.py install 如果报错可能: 提示setuptools-0.6c11.t...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2整合Redis,开启缓存,提高访问速度
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- CentOS关闭SELinux安全模块
- CentOS7设置SWAP分区,小内存服务器的救世主
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- 设置Eclipse缩进为4个空格,增强代码规范
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2全家桶,快速入门学习开发网站教程
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长