最近跟一个运维人员学了点新东西,感觉以前没怎么注意,但现在感觉很有用,特来记录一下。

linux使用ll命令列出列表的时候,前面总是有一堆drwxr-xr-x ,这些代表什么意思从来还没有去在意过,只是找到自己的目录然后一顿操作完事。但是这次在tomcat下部署项目的时候怎么都不能启动,后来找来运维人员一看是因为没有权限,他就告诉我这些都是什么意思,然后我也自己查了一下资料,这里就整理一下,也方便自己记忆。

首先,这些字母表示的是权限的意思

权限的计算从第二位字母开始,三个符号为一组合,其中-表示没有这个权限,那么先拿drwxr-xr-x简单解释一下:

  • d:这一位表示文件类型。d是目录文件,l是链接文件,-是普通文件,p是管道
  • rwx:这三位(2-4位)表示这个文件的属主拥有的权限,r是读,w是写,x是执行。这里表示这个属主同时拥有读、写、执行权限
  • r-x:这三位(5-7位)表示和这个文件属主所在同一个组的用户所具有的权限。这里表示的是有读和执行权限,没有写权限
  • r-x:这三位(8-10位)表示其他用户所具有的权限。这里表示的是有读和执行权限,没有写权限

其次,使用ls -l(或者ll)命令列出后每一行代表的含义

  • 第1段: 文件属性字段:文件属性字段总共有10个字母组成,第一个字母表示文件类型,如果这个字母是一个减号”-”,则说明该文件是一个普通文件。字母”d”表示该文件是一个目录,字母”d”,是dirtectory(目录)的缩写。

    注意,一个目录或者说一个文件夹是一个特殊文件,这个特殊文件存放的是其他文件和文件夹的相关信息。
  • 第2段:文件硬链接数或目录子目录数
  • 第3段:文件拥有者
  • 第4段:文件拥有者所在的组
  • 第5段:文件文件大小(以字节为单位)
  • 第6段:文件创建月份
  • 第7段:文件创建日期
  • 第8段:文件创建时间
  • 第9段:文件名 (如果是一个符号链接,那么会有一个 “->”箭头符号,后面根一个它指向的文件)

可以拿下面这个比对一下:

drwxr-xr-x 1 62323 197609       0 4月  21 14:16 bin/
drwxr-xr-x 1 62323 197609 0 4月 21 14:16 cmd/
drwxr-xr-x 1 62323 197609 0 4月 21 14:16 dev/
drwxr-xr-x 1 62323 197609 0 4月 21 14:16 etc/
-rwxr-xr-x 1 62323 197609 149784 2月 26 19:48 git-bash.exe*

最后就是赋权时数字的含义

使用chmod赋权的时候,我们通常会这样写:

chmod 777 test.txt

那么上面的777 代表的含义是这样的:

  • r:read 表示读权限 --数字4表示
  • w:write 表示写权限 --数字2表示
  • x:excute 表示执行权限 --数字1表示
  1. 第一个7:表示属主拥有4+2+1的权限也就是同时有读,写,执行权限
  2. 第二个7:表示与属主同一个组的所有用户拥有4+2+1的权限
  3. 第三个7:表示其他用户拥有4+2+1的权限

所以这里可以看出来这个777具有的威力(赋权一定要谨慎!)

再比如:rwxrwxr-- 774

表示此文件(文件夹)的拥有者和同组用户有读写及执行权限,其他用户组只有读权限。也就是前面三个表示所有者权限,中间三个表示同组用户权限,最后一组表示其他用户权限(不包括root)。

最后举个详解案例:

	drwxr-xr-x 1 62323 197609       0   4月  21 14:16  bin/

其中:

  • d:表示bin是目录
  • rwx:表示62323属主拥有的权限是可读(r),可写(w)和可执行(x)
  • r-x(5-7位):表示与62323这个属主在同一个组(197609)的用户的权限是可读(r)和可执行(x)
  • r-x(8-10位):表示其他用户拥有的权限是可读(r)和可执行(x)
  • 1:文件硬链接数或目录子目录数为 1
  • 62323:表示我笔记本电脑的一个用户(是我的qq号的前几位)
  • 197609:表示62323这个用户所属的组group
  • 0:表示文件大小是0字节
  • 4月:表示创建月份是4月
  • 21:创建日期是21日
  • 14:16:表示创建时间是下午的14:16
  • bin/:表示的文件名称,这里指的是目录名称

linux命令中chmod 777 以及drwxr-xr-x分别代表什么意思的更多相关文章

  1. linux命令中,执行一个程序,后面加上&, 代表的意思是什么?

    后台执行.也就是执行这个程序的同时,你的终端同时还能够做其他的事情,如果不加这个符号,那么你执行这个程序后,你的终端只能等这个程序执行完成才能够继续执行其他的操作 . 如:启动etcd: ./etcd ...

  2. [转帖]Linux命令中特殊符号

    Linux命令中特殊符号 转自:http://blog.chinaunix.net/uid-16946891-id-5088144.html   在shell中常用的特殊符号罗列如下:# ; ;; . ...

  3. 我用过的Linux命令之chmod

    chmod命令用于改变linux系统文件或目录的访问权限.用它控制文件或目录的访问权限.该命令有两种用法.一种是包含字母和操作符表达式的文字设定法:另一种是包含数字的数字设定法. Linux系统中的每 ...

  4. Linux命令之chmod、chown

    一.chmod命令 chmod命令用于改变linux系统文件或目录的访问权限.用它控制文件或目录的访问权限.该命令有两种用法.一种是包含字母和操作符表达式的文字设定法:另一种是包含数字的数字设定法. ...

  5. linux 命令:chmod权限设置命令

    Linux系统中的每个文件和目录都有访问许可权限,用它来确定谁可以通过何种方式对文件和目录进行访问和操作. 文件或目录的访问权限分为只读,只写和可执行三种.以文件为例,只读权限表示只允许读其内容,而禁 ...

  6. Linux命令:chmod、chgrp、chown的区别

    chmod是更改文件的权限: chgrp只是更改文件的属组: chown是更改文件的属主与属组. 1.chmod:更改文件的权限 文件权限的设置方式有两种,分别是数字和标记. mode : 权限设定字 ...

  7. java运行shell命令,chmod 777 xxx,改变权限无效的解决的方法。

    在java程序中运行shell命令,改变文件的权限.能够在命令行中运行 chmod 777 <span style="font-family: Arial, Helvetica, sa ...

  8. linux 命令——27 chmod

    chmod命令用于改变linux系统文件或目录的访问权限.用它控制文件或目录的访问权限.该命令有两种用法. 一种是包含字母和操作符表达式的文字设定法: 另一种是包含数字的数字设定法. Linux系统中 ...

  9. linux命令之chmod 2011.11.24转载于网络

    使用权限 : 所有使用者 使用方式 : chmod [-cfvR] [--help] [--version] mode file... 说明 : Linux/Unix 的档案调用权限分为三级 : 档案 ...

随机推荐

  1. 如何理解重载与重写——Overload vs Override/Overwrite

    重载: 在同一个类中,拥有类似功能的同名方法之间的关系叫做重载. 重载的条件:1.具有相同方法名和类似功能: 2.参数的类型或者个数不同: 3.与返回值无关: 重写: 在子父类的继承关系中,子类继承父 ...

  2. border、outline、boxshadow那些事

    border 边框是我们美化网页.增强样式最常用的手段之一.例如: <div class="text"></div> .text { width: 254p ...

  3. Java基础之方法详解

    方法的所属性 在Java的语言中,方法相当于C语言中的函数,但是它与传统的函数也有着明确的不同:在结构化的语言中,函数是一等公民,整个程序是由一个个函数组成的:但是在面向对象的语言里,类是一等公民,整 ...

  4. 查看Linux中lanmp的各软件编译参数

    转载 如何查看已经安装的nginx.apache.mysql和php的编译参数 Mysql查看mysql编译参数 Mysql5.4及之前版本查看编译安装参数,进入到mysql安装目录的bin下面 $ ...

  5. hive_action

    w pdf469 [不直接MR访问数据的工具   查询间接转化为MR] https://en.wikipedia.org/wiki/Apache_Hive Apache Hive supports a ...

  6. AssertionError: View function mapping is overwriting an existing endpoint function: insertCase

    首先,理解这个错误是什么意思,以及出现的原因: 使用Flask定义URL的时候,如果出现"AssertionError: View function mapping is overwriti ...

  7. 项目开源-基于ASP.NET Core和EF Core的快速开发框架

    前言:作为一名95后的程序猿,已经写了一年多的代码了,为了提升自己的技术水平,所以决定尝试编写一个快速开发框架开源出来,一来提升自己的技术水平,二来助力.NET Core生态发展 写这个框架主要是为了 ...

  8. 005-unity3d 添加背景音乐、音效 以及 天空盒子

    一.基础知识 1.项目中需要有AudioListener,播放器中播放的声音就是AudioListener组件坐在的位置听到的声音.默认AudioListener是放到Main Camera上.没有A ...

  9. VMware 虚拟化编程(7) — VixDiskLib 虚拟磁盘库详解之三

    目录 目录 前文列表 VixDiskLib 虚拟磁盘库 VixDiskLib_GetMetadataKeys VixDiskLib_ReadMetadata 获取虚拟磁盘元数据 VixDiskLib_ ...

  10. 阶段1 语言基础+高级_1-3-Java语言高级_04-集合_05 List集合_1_List集合_介绍&常用方法

    有序的,还包含索引,允许有重复的值 . add   打印出来的不是地址,说明重写了toString的方法 remove方法 返回的是被移除的元素 set方法 get 索引越界异常 几种越界的异常