最近跟一个运维人员学了点新东西,感觉以前没怎么注意,但现在感觉很有用,特来记录一下。
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表示
第一个7:表示属主拥有4+2+1的权限也就是同时有读,写,执行权限
第二个7:表示与属主同一个组的所有用户拥有4+2+1的权限
第三个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命令中,执行一个程序,后面加上&;, 代表的意思是什么?
后台执行.也就是执行这个程序的同时,你的终端同时还能够做其他的事情,如果不加这个符号,那么你执行这个程序后,你的终端只能等这个程序执行完成才能够继续执行其他的操作 . 如:启动etcd: ./etcd ...
[转帖]Linux命令中特殊符号
Linux命令中特殊符号 转自:http://blog.chinaunix.net/uid-16946891-id-5088144.html 在shell中常用的特殊符号罗列如下:# ; ;; . ...
我用过的Linux命令之chmod
chmod命令用于改变linux系统文件或目录的访问权限.用它控制文件或目录的访问权限.该命令有两种用法.一种是包含字母和操作符表达式的文字设定法:另一种是包含数字的数字设定法. Linux系统中的每 ...
Linux命令之chmod、chown
一.chmod命令 chmod命令用于改变linux系统文件或目录的访问权限.用它控制文件或目录的访问权限.该命令有两种用法.一种是包含字母和操作符表达式的文字设定法:另一种是包含数字的数字设定法. ...
linux 命令:chmod权限设置命令
Linux系统中的每个文件和目录都有访问许可权限,用它来确定谁可以通过何种方式对文件和目录进行访问和操作. 文件或目录的访问权限分为只读,只写和可执行三种.以文件为例,只读权限表示只允许读其内容,而禁 ...
Linux命令:chmod、chgrp、chown的区别
chmod是更改文件的权限: chgrp只是更改文件的属组: chown是更改文件的属主与属组. 1.chmod:更改文件的权限 文件权限的设置方式有两种,分别是数字和标记. mode : 权限设定字 ...
java运行shell命令,chmod 777 xxx,改变权限无效的解决的方法。
在java程序中运行shell命令,改变文件的权限.能够在命令行中运行 chmod 777
IntelliJ中的main函数和System.out.println()快捷键
1.在IntelJ中和Eclipse中稍有不同,在Eclipse中,输入main再按Alt+/即可自动补全main函数,但是在IntellJ中则是输入psvm,选中即可 2.在方法体内部有for循环, ...
Hibernate和JDBC、EJB比较
参考:http://m.blog.csdn.net/article/details?id=7228061 一.Hibernate是JDBC的轻量级的对象封装,它是一个独立的对象持久层框架,和App S ...
使用Open Flash Chart(OFC)制作图表(Struts2处理)
Java开源项目中制作图表比较出色的就是JFreeChart了,相信大家都听说过,它不仅可以做出非常漂亮的柱状图,饼状图,折线图基本图形之外,还能制作甘特图,仪表盘等图表.在Web应用中可以为项目增色 ...
Android的Drawable
1.获取Drawable的内部宽\高:getIntrinsicHeight/Width.但是并不是所有Drawable都有内部宽高(比如说一个颜色形成的宽高,Drawable的宽高不等于大小,大小是根 ...
EntityFramework Core高并发深挖详解,一纸长文,你准备好了吗?
前言 之前有关EF并发探讨过几次,但是呢,博主感觉还是有问题,为什么会觉得有问题,其实就是理解不够透彻罢了,于是在项目中都是用的存储过程或者SQL语句来实现,利用放假时间好好补补EF Core并发的问 ...
Logback 基础知识
1.Logback使用logback 是log4j的替代者,其需要slf4j.其配置文件主要有以下三种1. logback.groovy2. logback-test.xml3. logback.xm ...
把vux中的@font-face为base64格式的字体信息解码成可用的字体文件
在最近移动端项目中用到了vux,感觉用着还习惯,当把vux使用到PC端的时候出现了IE浏览器出现,这样的错误信息: CSS3114: @font-face 未能完成 OpenType 嵌入权限检查.权 ...
django静态模版使用
第一步:在app目录下建立static文件夹,将CSS文件.js文件放到static文件夹下 第二步:TEMPLATES = [ { 'BACKEND': 'django.template.backe ...