我是靠谱客的博主 和谐小蝴蝶,最近开发中收集的这篇文章主要介绍linux文件属性、权限0.目录1 .命令ls,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

0.目录

  • 目录
  • 命令ls
  • 文件权限
    • 1 读写执行权限的意义
    • 2 读写执行权限的修改
    • 3 文件默认权限
    • 4 文件特殊权限及修改
    • 5 文件隐藏权限及修改
    • 6 facl
    • 7 文件权限检查次序
  • 文件属主属组修改
  • 文件时间戳

1 .命令ls

命令ls,用于列出(list)各文件。
默认仅显示非隐藏文件文件名。
这里写图片描述

各选项:

  • 选项“-a”:显示包括隐藏文件在内的所有文件名。
    • 文件名第一个字符为“.”的即为隐藏文件。
  • 选项“-d”:若参数为目录1,该选项表示仅列出目录本身,而非目录内的文件。
  • 选项“-R”:若参数为目录,该选项表示连同子目录及其下文件都列出。
    这里写图片描述
  • 选项“-l”:列出详细的文件和属性。
    这里写图片描述
    各字段以空格分隔,各字段意义:
    1. 共10个字符。第一个字符表示文件类型2;后9个字符,每3个一组分别表示文件属主(u)、属组(g)、其他用户(o)对于此文件是否有读(r)、写(w)、执行(x)权限。
    2. 该文件被硬链接的次数。
    3. 文件属主。
    4. 文件属组。
    5. 文件大小,默认单位为B。3
    6. 文件内容最近一次被修改的时间,即mtime。
    7. 文件名。
  • 选项“-h”:与选项“-l”连用,使显示的文件大小使用人类(human)常用单位,如KB、MB等,而非B。
  • 选项“–time={atime,ctime}”:与选项“-l”连用,输出文件最近访问时间(atime)或属性改变时间(ctime),而非内容修改时间(mtime)。
  • 选项“–full-time”:与选项“-l”连用。选项“-l”输出的时间默认显示月、日、时间;若距离现在过久,则仅显示年月。该选项表示显示完整时间。
    这里写图片描述

2 .文件权限

2.1 读、写、执行权限的意义

  • 对于普通文件
    • r:表示读取文件的内容的权限。
      • 例如读取一个文本文件的文字;
      • 对某文件执行复制操作时,需用户对该文件有“r”权限4。
    • w:表示编辑修改文件内容的权限(但不含删除该文件)。
    • x:表示文件是否可以被执行。
      • windows可通过文件扩展名判断文件是否可以被执行,而linux的文件名并无特别意义,文件是否可执行完全看是否有此权限。
  • 对于目录文件

    • r:表示读取目录结构列表的权限,即可使用命令“ls”查看目录中的文件名列表。
      • 目录的主要内容就是记录文件名列表
    • w:表示更改目录结构列表的权限,即:

      • 可在该目录创建新的目录或文件;
      • 可在该目录删除已存在的目录或文件,不论被删除的文件权限为何;
        这里写图片描述
      • 可在该目录重命名已存在的目录和文件;
      • 可在该目录剪切已存在的目录和文件等。

      综上,“w”权限对目录来讲可理解为,变动该目录下的文件名列表的权限。

    • x:表示能否切换到该目录作为当前工作目录,即:

      • 可使用命令“cd”至该目录;
      • 可读取、执行该目录下的文件(如果文件本身开放读、执行权限的话),若目录无“x”权限,则无法读取、执行该目录下的文件;
      • 可使用“ls -l”查看该目录下各文件属性等。

      注:
      1、目录开放“x”权限时,一般也要开放“r”权限。否则虽然可以“cd”至该目录,但不能“ls”(所以更不能“ls -l”)。
      2、用户在某目录下创建、删除、剪切文件(这些操作属于该目录的“w”权限),或对该目录下的文件进行复制等操作时,若仅有“w”权限而无“x”权限,则仍会提示无权限操作,需同时对该目录有“x”权限才可5。
      这里写图片描述
      从上图也可看出,若开放目录的“w”权限给“其他用户(others)”,系统会为目录名着背景色。

2.2 读、写、执行权限的修改

命令chmod,用于修改文件权限。仅root和文件属主可修改文件权限,两种方式:

  • 使用8进制数修改
    文件的读、写、执行权限共9位(每位取值0或1),每3位一组分别代表属主(u)、属组用户(g)、其他用户(o)的读、写、执行权限,共3组。每组取值范围是0到7(- - - 到rwx),可视作3个8进制数。所以修改的权限可用3个8进制数表示:
    这里写图片描述

    这里写图片描述
    如上,可使用3位8进制数来修改属主、属组用户、其他用户(上图显示的是4位8进制数,第1位是用来修改特殊权限的,如无需修改特殊权限,可省略此位)。使用“-R”选项可一次修改目录及其下所有文件的权限。

  • 使用符号修改

    修改谁的权限 添加、减去、指定 权限
    chmod u、g、o、a +、-、= r、w、x 文件

    如上所示,可修改属主(u)、属组用户(g)、其他用户(o)或全部(a,包含ugo)用户的“rwx”权限,修改方式包括添加、删除、指定。

    例如使某文件的属主权限添加“x”权限,其他用户去掉“r”权限:
    这里写图片描述
    没有指定改变属组用户的权限,故属组用户权限不会变化。

    又如,不改变其他权限,使所有人都有文件的“x”权限:
    这里写图片描述

2.3 文件默认权限

默认权限计算

  • 普通文件常常是为了记录数据,且为安全起见,不随便开放“x”权限,所以默认最大为开放读写(rw-rw-rw-),即“666”;
  • 目录则需开放“x”以便切换至该目录,默认最大是“777”;
  • 创建一个新目录或普通文件,其默认权限为上述的最大默认权限减去遮罩码。
    • 比如遮罩码设置为0022(第一位用于特殊权限,下述),则新建文件即为“rw-rw-rw-”减去“- - - -w - - w -”等于“rw- r- -r- -”;新建目录用同样方法计算可得默认权限为“rwxr-xr-x”。

命令umask,用于显示、设置遮罩码(仅在当前shell生效,)

  • 显示遮罩码,选项“-S”表示以符号(Symbolic)方式显示
    这里写图片描述
  • 设置遮罩码
    这里写图片描述
    • 使用命令设置的遮罩码仅在当前shell生效。永久生效的是配置文件,/etc/bashrc中使用了该命令设置了各用户的默认遮罩码。这里写图片描述根据这个设置可知,root的默认遮罩码为0022;普通用户的遮罩码为0002。
    • 如需使设置的遮罩码永久生效,一般也不在/etc/bashrc中直接修改(且普通用户无该文件“w”权限)。可在bashshell的环境参数配置文件“~/.bashrc”中设置,可以看到该文件的内容也就是读取了文件/etc/bashrc。
      这里写图片描述

2.4 文件特殊权限及修改

  • SUID权限
    Set UID,简称SUID。该权限仅对二进制文件有效6,且仅在该文件执行过程中生效

最后

以上就是和谐小蝴蝶为你收集整理的linux文件属性、权限0.目录1 .命令ls的全部内容,希望文章能够帮你解决linux文件属性、权限0.目录1 .命令ls所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(51)

评论列表共有 0 条评论

立即
投稿
返回
顶部