zoukankan      html  css  js  c++  java
  • linux学习笔记_5_文件,目录权限相关

    文件目录基本属性

    查看文件基本属性

    • 使用ls -al 可以查看一个目录下所有文件,子目录的属性
    $ ls -al
    total 16
    drwxr-xr-x  3 lifan lifan 4096  5月  9 15:40 .
    drwx------ 37 lifan lifan 4096  5月  9 22:18 ..
    drwxr-xr-x  2 lifan lifan 4096  5月  9 15:40 tmp
    -rw-r--r--  1 lifan lifan   39  5月  9 15:24 tmp.bin-hd
    lrwxrwxrwx  1 lifan lifan    7  5月  9 15:27 tmp.bin-so -> tmp.bin
    

    显示结果与属性名称对应关系

    权限 链接数量 拥有者 用户组 文件大小 修改日期(文件内容) 文件名
    -rw-r--r-- 1 lifan lifan 39 5月 9 15:24 tmp.bin-hd

    权限字段

    权限字段一共10个字符,各个字符含义解释如下

    • 第一个字符:
      • [-]表示文件,该类别下有分为三类,可以使用file filename方式查看文件类别:
        • 纯文本文件,可以直接阅读内容的文件。
        • 二进制文件,一般为系统可直接执行的文件。
        • 数据文件,程序运行中读取的文件。
      • [d]表示目录
      • [l]表示链接文件(软链接)
      • 设备文件,一般在/dev目录下
        • [c]字符(character)设备文件,串行端口的接口设备。例如键盘,鼠标等设备
        • [b]块(block)存取设备,可随机存储的接口设别。例如硬盘,软盘等
      • [s] 数据接口文件。 这类文件通常被用在网络上的数据交换。/run, /tmp目录下可以见到这种类型文件
      • [p] 数据输送文件(first in first out(FIFO), pipe),用于解决多个程序读取同一个文件的问题。manjaro 下 /run目录下可见该类型文件
    • 2-4 表示拥有者的权限
    • 5-7 表示用户组的权限
    • 8-10 表示其他人的权限

    文件,目录在文件系统下的数据格式

    • 目录数据格式:一个inode区块,一个或多个数据区块。inode区块,记录目录的属性;数据区块,记录目录下文件,目录的名称及对应inode号码。
    • 文件数据格式:一个inode区块,一个或多个数据区块。inode区块,记录文件的属性;数据区块,记录文件内容。

    文件,目录权限对应操作的理解

    • 文件权限对应操作
      • 文件的r(读),w(写), x(执行)指向内容均为文件的内容
    • 目录权限对应操作
      • 目录的r(读)指的是对目录数据区块的读取权限。对应到实际操作即,查看目录下文件内容(读取数据区块内容)。
      • 目录的w(写)指的是对目录数据区块的修改权限。对应到实际操作即,增加文件,修改文件名,删除文件(修改数据区块内容)。
      • 目录的x(执行)指的是能否进入该目录。
      • 通过实际操作特殊情况如下。若对目录仅有r,通过ls,仅可查看文件名和权限自字段第一个字符,只有增加x,可查看完整权限。其他情况如上所述

    修改文件,目录属性

    • chgrp (change group)修改文件所属用户组
      • chgrp [-R] groupname filename/dirname
        • -R表示递归的修改目录下子目录,文件用户组
    • chown (change owner)修改文件的拥有者
      • chown [-R] username filename/dirname
        • -R 作用同上
      • chown [-R] username:groupname filename/dirname 可以同时修改拥有者,用户组属性
    • chmod 修改文件,目录权限
      • chmod [-R] xxx filename/dirname
        • -R 作用同上
        • xxx是代表属性的三位数字。
      • 符号形式
        • u,g,o分别表示拥有者,用户组,其他人,=用于设置权限,对应的+用于增加权限,-用于删除权限。a表示对所有身份进行操作。
        • chmod u=rx,g=r,o=r filename/dirname表示,拥有者设置为写,执行;用户组设置为读;其他人设置为读。
        • chmod u=rw,a+x filename/dirname 拥有者设置为读写,所有身份增加执行权限。

    参考

    《鸟哥的linux 私房菜》

  • 相关阅读:
    docker on spark
    Install Docker Mac OS X
    HBase 1.1.1 发布(分布式数据库)
    spark streaming原理
    spark RDD的原理
    spark implementation hadoop setup,cleanup
    最近hadoop遇到的issuses
    Spark的日志配置
    大数据系列修炼-Scala课程11
    大数据系列修炼-Scala课程10
  • 原文地址:https://www.cnblogs.com/lif323/p/10882601.html
Copyright © 2011-2022 走看看