转自: http://blog.csdn.net/daheiantian/article/details/5974962

最近阅读《鸟哥的linux私房菜》,确实是一本好书,使自己在文件属性和权限方面有了较深的理解,总结如下。

(注:本篇博文的图片来自于《鸟哥的linux私房菜》一书)

一、提纲

本篇博文主要包含以下几个部分:

1.   用户和用户组的概念;

2.   文件属性;

3.   目录与一般文件的区别;

4.   ls命令的使用详解;

二、用户和用户组

linux的系统是“多用户、多任务环境”的,也就是说“linux系统允许多个用户同时使用系统,并且可以同时执行不同的任务”。所以为了确保各个用户的文件安全, linux系统具有非常严格的文件权限管理机制。

主要体现在两个方面:

1.   对文件操作的权限:

三种: 读、写、执行。

2.   文件的访问方式:

三种: owner/group/other。

读、写、执行的操作权限比较容易理解,主要是文件的访问方式。它们的含义如下:

  • 拥有者 owner

也就是文件的所有者,通常是建立文件的用户。在linux系统中,每个文件都有一个所有者。每一个用户都会被分配唯一的uid。

  • 用户组

一个用户组包含若干用户。值得注意的是:一个用户也可以属于多个用户组,也可以不属于任何用户组。每一个用户组都会被分配唯一的gid。

  • 其他人

对于一个文件来说,如果某用户既不是owner,也和owner不在同一个用户组,那么该用户对于文件来说就是其他人。

另外:在linux系统中,

①各个用户账号的信息都保存在/etc/passwd文件中;

②密码保存在/etc/shadow文件中;

③用户组信息保存在/etc/group文件中。

三、  文件属性 

在命令行里执行命令"ls -al ",我们会看到一个详细的列表,列表的每一行的形式为:

[c-sharp] view plaincopyprint?
  1. -rwxr-xr-x 1 root root 7 04-21 12:47 test.txt
  2. ①     ②  ③   ④  ⑤     ⑥        ⑦

其中各个部分的含义如下图:

把从左到右依次编号,各个字段的含义如下:

1.   文件的属性,一共有10个属性,具体含义见下图:

  • 第一个属性,表示这个文件的类型,常见的有:文件、目录或连接文件等。

" d ":   表示是一个 目录(directory);

" - ":   表示一个 文件;

" l ":    表示一个连接文件(link file);

  • 后九个属性中,每三个位一组,"r"表示可读(read)、"w"表示可写(write)、"x"表示可执行(excute)。

第一组为“拥有者owner的权限”;

第二组为“同用户组的权限”;

第三组为“其他人的权限”;

综合这两点:上面图中的的10个属性含义为:是一个文件,这个文件的“拥有者”可读、可写、可执行, “同用户组的人”也是可读、可写、可执行,但是“其他人”没有任何权限。

2.   第二列表示链接占用的节点,这个主要是和link node有关,初学linux的可以先不用研究。

3.   第三列表示文件的“拥有者”,即owner。

4.   第四列表示拥有者的“用户组”。

5.   第五列表示这个文件的大小。

6.   第六列表示文件的最后“修改时间”(即modification time, 简称mtime),对于新创建的文件就是指其创建的时间。

补充:linux系统“文件时间”主要包括三个内容:

修改时间(modification time, 简称mtime):当前文件“内容数据”更改时,这个属性被更新。使用ls命令显示的时间就是“修改时间mtime ”。

状态时间(status time, 简称ctime):当文件状态(status)改变时,这个属性被更新。例如:更新文件的权限和属性时。

访问时间(access time, 简称atime):当读取文件内容时,这个属性被更新。

注意:如果只是更改文件的内容,“状态时间ctime ”会改变,但是“修改时间mtime”是不会改变,因为文件的内容数据并没有变化。

7.   第七列就是文件的文件名。注意:在linux系统中,如果一个文件名以"."开头,那么这个文件就是隐藏文件,这点与windows不同。

四、  目录与一般文件的区别

在linux中,目录也属于文件。针对目录文件,r/w/x 的含义与一般文件略有不同。

  • r  (read contents in directory):拥有这个权限,就能够读取目录结构,也就是可以使用ls命令将目录内容列出来。
  • w   (modify contents of directory):拥有这个权限,可以更改目录结构。常见的操作为:

--- 建立新的文件和目录;

--- 删除文件和目录;

--- 重命名文件和目录;

--- 移动文件和目录;

  • x  (access directory):决定这能否进入目录。如果使用的账户对某个目录没有x权限,那么使用cd命令的时候,就无法进入目录。
    比如建立一个文件夹tmp
    默认属性是751,chmod 551 tmp,则不具有w权限,这里的w的权限是指对于tmp内部不具有w权限,也就是说mv tmp tmp1是可以的,因为没有对tmp内部操作。但是touch tmp/aa就不行了,因为对tmp内部不具有w
    其实这rwx三个权限均是对文件夹内部而言
    对于可执行文件而言,必须具有的权限是rx

在《鸟哥的linux私房菜》书中,提供了很好的例子,截图如下:

 五、    ls命令的使用详解

ls就是list的缩写,用于显示文件和目录。这个命令时用的非常多的一条命令,类似于windows中的dir(现在不少linux版本中也提供了dir命令),其中dir是directory的缩写。

常用的参数有

[c-sharp] view plaincopyprint?
  1. 命令格式:
  2. ls [-aAdfFhilnrRSt] 目录名称
  3. -a  :全部的档案,连同隐藏文件( 开头为 . 的档案) 一起列出来;
  4. -A  :全部的档案,连同隐藏文件,但不包括 . 与 .. 这两个目录;
  5. -d  :仅列出目录本身,而不是列出目录内的文件数据;
  6. -f  :直接列出结果,而不进行排序 (ls 预设会以文件名排序!);
  7. -F  :根据档案、目录等信息,给予附加数据结构,例如:
  8. *:代表可执行文件; /:代表目录;
  9. -l  :长数据串行出,包含档案的属性与权限等等数据;
  10. -n  :列出 UID 与 GID 而非使用者与群组的名称;
  11. -R  :连同子目录内容一起列出来,等于该目录下的所有文件都会显示出来;
  12. -S  :按照文件容量大小排序,而不是用文件名称排序;
  13. -t  :按照时间排序,而不是用文件名。

鸟哥对于ls命令使用的例子为:

另外:在很多linux版本中,由于"ls -l"非常常用,所以常常可以简写为"ll"(两个字幕L的小写形式)。

linux的文件属性和权限学习——分析ls命令结果相关推荐

  1. Linux—目录文件属性和权限管理详解

    关注微信公众号:CodingTechWork,一起学习进步. 引言   Linux中了解用户和用户组概念后,我们就需要对文件目录进行赋权操作,以便于文件访问权限的管控,这就涉及到文件的属性,那用户和用 ...

  2. Linux基础——文件属性和权限

    文件属性和权限 文件属性和权限是什么? 文件属性 修改文件属性 修改group 修改owner 修改权限 修改时间 权限对于文件和目录的区别 umask和预设权限 隐藏属性--chattr 特殊权限 ...

  3. Linux下,文件权限UGO,ls -l命令的详细查看内容,修改文件文件夹属主属组的命令

    Linux下,用户权限UGO 注意: 1.Linux中的对象都有基本权限UGO,ugo分别表示user,group,other, 2.这里的对象是对文件和文件夹的简写,不是编程语言中的对象概念. 一. ...

  4. redhat linux ls ls,Linux(3)RedHat7 基本命令二-ls命令詳解

    導語 本文將講述關於ls命令的詳細解析. ls命令 用法 ls [選項]... [文件]... ls [-aAdfFhilnrRSt] 目錄名稱 ls [–color={never,auto,alwa ...

  5. linux查看某个文件夹的大小(ls命令、du命令详解)

    ls 命令:列出当前工作目录下的所有文件/文件夹的名称 使用ls -l,会显示成字节大小,ls- lh会以KB.MB等为单位进行显示更加直观. du 命令:查看当前目录和子目录文件夹/文件大小情况 d ...

  6. Linux修改文件属性与权限

    chgrp:修改文件所属用户组  格式:chgrp [-R] dirname/filename   -R进行递归修改 chown:修改文件拥有者  格式:chown [-R]  账号名称  文件或目录 ...

  7. linux对文件属性及权限操作的一些基本命令

    1.chown 改变所属 chown -R na-admin 2.chgrp 改变用户组 chgrp -R na-admin 3.chattr 改变属性 使用例:将文件变为不可编辑 chattr -i ...

  8. linux read函数_Linux中shell输入ls命令后会系统会发生什么

    大家都用过Shell执行一些Linux命令 在命令的背后,到底发生了什么呢,让我们来一起探索 Shell执行主流程 1.Printthe info of reminding 打印提示信息 2.Wait ...

  9. linux下文件属性rwxr,Linux文件的权限[srwxr-xr-x]

    Linux文件的权限[srwxr-xr-x] 发布时间:2018-07-28 09:37, 浏览次数:1288 , 标签: Linux srwxr xr 一.UNIX下关于文件权限的表示方法和解析 U ...

最新文章

  1. 21张让你代码能力突飞猛进的速查表(神经网络、线性代数、可视化等)
  2. python axis 1_科学网—Python初学之解读MDFA模块(2):解读 def rwalk(X, axis=-1) - 刘磊的博文...
  3. Windows Server 2012改造成Windows8的方法(转载)
  4. rabbitmq取消自动重连_rabbitmq客户端自动重连
  5. MCGS 无限配方数据存储及U盘导入导出-第一集
  6. 监听程序当前无法识别连接符中请求的服务_[Servlet] 18 监听器
  7. matlab图像处理 推荐,Matlab计算机视觉、图像处理工具箱推荐
  8. React 页面渲染后自动执行onClick事件问题
  9. L298n电机驱动模块(芯片)快速入门
  10. Spring Boot 2.x基础教程:进程内缓存的使用与Cache注解详解
  11. rpm -qa的意思详解
  12. 吾生也有涯,而学也无涯
  13. 26学习渗透测试工具 Metasploit 的基本用法,包括漏洞扫描、攻击模块
  14. GitHub的Super Linter是“一个统治所有人的Linter”
  15. 物联网安全的发展现状与展望
  16. 汽车电子系统网络安全指南与汽车信息物理融合系统网络安全指南
  17. Git可视化工具使用
  18. Source insight使文件产生关联
  19. 输入法图标不见了?怎么办?
  20. java改变时间格式

热门文章

  1. 二十三、 爬取mzsock网站写真社区
  2. 手把手教你薅羊毛,1 元体验业内领先AI技术!
  3. AAAI 2020 | NAS+目标检测:AI设计的目标检测模型长啥样?
  4. NeurIPS 2018 | 腾讯AI Lab:可自适应于不同环境和任务的强化学习方法
  5. ACM公选课第五节贪心4.14-5.4补+第六节上贪心线段覆盖
  6. 深度神经网络中处理数据和训练模型的一些技巧
  7. 随机数据的构造与使用
  8. 西安科技大学计算机考研难度,西安科技大学考研难吗
  9. matlab 变长参数,变长参数函数的概念
  10. ajax多文件上传,js限制上传文件大小,文件上传前在浏览器展示