zoukankan      html  css  js  c++  java
  • 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----重要的系统执行文件

     

  • 相关阅读:
    提出的问题
    2020软件工程作业02
    2020软件工程作业01
    我当社畜这些年-1
    Electron-vue实现后台多进程(二)
    Electron-vue实现后台多进程(一)
    pytorch自定义loss函数的几种方法
    XGBoost原理
    transformers的bert预训练模型的返回值简要描述
    sklearn下的ROC与AUC原理详解
  • 原文地址:https://www.cnblogs.com/javaLf/p/8283218.html
Copyright © 2011-2022 走看看