一、Linux文件属性

  

  1、第一列代表这个文件的类型与权限(permission): 共有10个字符

  

  第一个字符代表这个文件的类型,是“目录,文件或链接文件等”:

    [d]---->目录

    [-]----->文件

    [l]------>连接文件(linkfile)

    [b]------>表示文件里面的可供存储的接口设备

    [c]------>表示设备文件里面的串行端口设备,例如键盘,鼠标(一次性读取设备)

接下来的字符中,以3个为一组,且均为“rwx”的3个参数的组合。

    [r]------>可读read

    [w]------>可写write

    [x]------->可执行execute

    [-]-------->无权限

    第一组为“文件所有者权限”

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

    第三组为“其他非本用户组的权限”

  2、第二列表示有多少文件名连接到此节点(i-node)

    每个文件都会将他的权限与属性记录到文件系统的i-node中,不过我们使用的目录树却是使用文件名来记录,因此每个文件名就会连接一个i-node。这个属性记录的就是有多少不同的文件名连接到相同的一个i-node号码。

  3、第三列表示这个文件(或目录)的“所有者账号”

  4、第四列表示这个文件的所属用户组

    在Linux系统下,你的账号会附属于一个或多个的用户组中。

  5、第五列为这个文件的容量大小,默认单位为B

  6、第六列为这个文件的创建文件日期或者是最近的修改日期。

      如果这个文件被修改的时间距离现在太久了,那时间部分就仅会显示年份。

      如果想要显示完整的时间格式, 可以使用ls的参数,即“ls -l --full-time

  7、第七列为文件名

      如果文件名之前多一个“.”,则这个为隐藏文件

二、如何改变文件属性与权限

  chgrp------>改变文件所属用户组

  chown-------->改变文件所有者

    chmod-------->改变文件的权限 

  1、改变所属用户组:chgrp

    要被改变的组名必须要在/ect/group文件内存在才行,否则就会显示错误。

    语法:chgrp [-R] 用户组名 dirname/filename 

    选项与参数:

      -R: 进行递归(recursive)的持续更改,即连同子目录下的所有文件,目录都更新为这个用户组

    

  2、改变文件所有者:chown

    要注意,用户必须是已经存在于系统中的账号,也就是在/etc/passwd这个文件中有记录的用户名称才能改变。

    chown 还可以顺便直接修改用户组的名称。

    语法: chown [-R] 用户名:用户组名  文件或目录

    选项与参数:

      -R: 进行递归(recursive)的持续更改,即连同子目录下的所有文件,目录都更新为这个用户组

  什么时候要使用chown或chgrp呢?最常见的例子就是在复制文件给你之外的其他人时。如下将.bashrc文件复制成为.bashrc_test文件,并且是要给bin这个人

  

  3、改变权限:chmod

    设置权限有两种方法:使用数字或者符号进行权限的更改。

    数字类型改变文件权限:

      Linux文件的基本权限就有9个,分别是owner,group, others三种身份各有自己的read,write,execute权限。我们可以使用数字代表各种权限,

    r:4    w:2     x:1

    每种身份(owner, group, others)各自的三个权限(r,w,x)分数是需要累加的,如[-rwxrwx---], 分数则是:

    owner=rwr=4+2+1=7

    group=rwr=4+2+1=7

    others=---=0+0+0=0

    所以该文件权限是770

    数字改变权限

    chmod语法如下:chmod [-R] xyz 文件或目录     

    选项与参数:

      xyz: 就是刚刚提到的数字类型的权限属性,为xyz属性数值的相加。

      -R: 进行递归(recursive)的持续更改,即连同子目录下的所有文件,目录都更新为这个用户组

    

    符号类型改变文件权限

      通过u,g,o来分别代表user,group,others 3种身份。此外a代表all,即全部的身份。

chmod

u

g

o

a

+(加入)

-(除去)

=(设置)

r

w

x

文件或目录

      如下设置“-rwxr-xr-x”权限:

      

    如果我不知道原先的文件属性,而我只想增加.bashrc这个文件的每个人均可写入的权限,那么我就可以用:

    而如果是要将权限去掉而不更改其他属性,如去掉全部人的可执行权限,则:

    

 三、目录与文件的权限意义

  1、权限对文件的重要性:主要针对“文件的内容”

    r(read): 可读取此文件的实际内容

    w(write): 可以编辑、新增或者是修改该文件的内容(但不含删除该文,删除该文件与此文件的父目录是否有w权限有关)

    x(execute): 该文件能否被执行。

  2、权限对目录的中要性

    目录主要的内容是记录文件名列表,文件名与目录有强烈的关联。

    r(read contents in directory):

      表示具有读取目录结构列表的权限,所以当你具有读取一个目录的权限时,表示你可以查询该目录下的文件名数据,所以你就可以利用ls这个命令将该目录的内容列表显示出来。

    w(modify contents of directory):

      具有更改该目录结构列表的权限:

        新建新的文件与目录;

        删除已存在的文件与目录;

        将已存在的文件与目录进行重命名;

        转移该目录内的文件、目录位置。

    x(access directory):

       目录的x代表的是用户能否进入该目录成为工作目录的用途,所谓的工作目录就是你目前所在的目录

       与cd命令有关系

四、Linux文件种类与扩展名

  1、文件

    a、文件种类:

      普通文件(regular file)

      纯文本文件(ASCII):内容为我们可以直接读到的数据

      二进制文件(binary)

      数据格式文件(data): 有些程序在运行的过程中会读取某些特定格式的文件,那些特定格式的文件可以被称为数据文件。

    b、目录(directory): 第一个属性为[d]

    c、连接文件(link):类似Windows系统下面的快捷方式,第一个属性为  [l]

    d、设备与设备文件(device)

      与系统外设及存储等相关的一些文件,通常都集中在/dev这个目录。通常又分为两种:

        块(block)设备文件:

          就是一些存储数据,以提供系统随机访问的接口设备,例如硬盘,软盘等。你可以随机地在硬盘的不同快读写,这种设备就是成组设备,你可以自行查一下/dev/sda看看,会发现第一个属性为[b].

        字符(character)设备文件:

          一些串行端口的接口设备,例如键盘、鼠标等。这些设备的特征就是“一次性读取”,不能够截断输出。其第一个属性为[c] 

      套接字(sockets):

        数据接口文件,这种文件通常被用在网络上的数据连接,其第一个属性为[s], 通常在/var/run这个目录中可看到这种文件类型。

      管道(FIFO,pipe): 

        FIFO一种特殊的文件类型,它主要的目的在解决多个程序同时访问一个文件所造成的错误问题。FIFO--》first-in-first-out,第一个属性为[p]

  2、Linux文件的扩展名

    常用的扩展名:

      a. *sh: 脚本或批处理文件(scripts),因为批处理文件为使用shell写成,所以扩展名就编成.sh

      b. *Z、*.tar.gz、*.zip、*.tgz:经过打包的压缩文件。

      c. *.html、*.php: 网页相关文件,分别代表HTML语法与PHP语法的网页文件。

  3、Linux 文件名长度限制

    使用默认的Ext2/Ext3文件系统时,针对文件的文件名长度限制为:

      单一文件或目录的最大容许文件名为255个字符;

      包含完整路径名称及目录(/)的完整文件名为4096个字符

  4、 Linux文件名的限制

    避免一些特殊字符: * ?< > ; & ! [ ] |\ ' " ` ( ) { } - +

Linux文件权限概念的更多相关文章

  1. CentOS学习笔记--文件权限概念

    Linux 文件权限概念 当你的屏幕出现了『Permission deny』的时候,不要担心,『肯定是权限设定错误』啦!(以下节选自 鸟哥的 Linux 私房菜 第六章.Linux 的文件权限与目录配 ...

  2. Linux 文件权限总结

    在 Linux 中最基本的任务之一就是设置文件权限.理解它们是如何实现的是你进入 Linux 世界的第一步.如您所料,这一基本操作在类 UNIX 操作系统中大同小异.实际上,Linux 文件权限系统就 ...

  3. 修改linux文件权限

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

  4. Linux:文件权限

    Linux:文件权限 1.文件权限 ☆文件所有者 ☆用户组 ☆其他人 ☆ROOT 说明: Linux系统中默认所有系统上的账号与一般身份用户,还有那个root的相关信息记录在/etc/passwd文件 ...

  5. Linux&amp;shell 之Linux文件权限

    写在前面:案例.常用.归类.解释说明.(By Jim) Linux文件权限用户useradd test (添加用户test)userdel test (删除用户test)passwd test(修改用 ...

  6. linux文件权限整理

    网上对linux文件权限的已经很多,不过还是要自己整理一下,不然每次都要查资料. linux下所有东西都是文件,包括设备,所以这里的文件也包括文件夹. 先是查看文件权限:ls -lh xzc@xzc- ...

  7. 修改linux文件权限命令:chmod 【转载】

    Linux系统中的每个文件和目录都有访问许可权限,用它来确定谁可以通过何种方式对文件和目录进行访问和操作. chmod  命令可以改变所有子目录的权限,下面有2种方法 改变一个文件的权限: chmod ...

  8. linux文件权限表示及用户权限管理

    UNIX/Linux下关于文件执行权限的表示和查看想必是最熟悉不过的,然而你是否真正了解用户文件的权限标识和用户的权限呢? 实际上文件权限标识不仅仅只有U, G, O 11 10 9 8 7 6 5 ...

  9. Linux文件权限;ACL;Setuid、Setgid、Stick bit特殊权限;sudo提权

    相关学习资料 http://blog.sina.com.cn/s/blog_4e2e6d6a0100g47o.html http://blog.csdn.net/aegoose/article/det ...

随机推荐

  1. OpenStack 企业私有云的若干需求(5):主流硬件支持、云快速交付 和 SLA 保证

    本系列会介绍OpenStack 企业私有云的几个需求: 自动扩展(Auto-scaling)支持 多租户和租户隔离 (multi-tenancy and tenancy isolation) 混合云( ...

  2. Android-Universal-Image-Loader 图片异步加载类库的使用(超详细配置)

    这个图片异步加载并缓存的类已经被很多开发者所使用,是最常用的几个开源库之一,主流的应用,随便反编译几个火的项目,都可以见到它的身影. 可是有的人并不知道如何去使用这库如何进行配置,网上查到的信息对于刚 ...

  3. poj 3468:A Simple Problem with Integers(线段树,区间修改求和)

    A Simple Problem with Integers Time Limit: 5000MS   Memory Limit: 131072K Total Submissions: 58269   ...

  4. js与jsp

    jsp :j2ee 中的一样模版技术,运行于服务器端javascript :一种运行于客户端的脚本语言,动态性.JavaScript是一种采用事件驱动的脚本语言,它不需要经过Web服务器就可以对用户的 ...

  5. 【poj2828】Buy Tickets 线段树 插队问题

    [poj2828]Buy Tickets Description Railway tickets were difficult to buy around the Lunar New Year in ...

  6. 【Oracle 数据迁移】环境oracle 11gR2,exp无法导出空表的表结构【转载】

    今天做数据迁移,但是发现有些空表无法exp,后来找到问题所在. [原文]:http://www.cnblogs.com/wenlong/p/3684230.html 11GR2中有个新特性,当表无数据 ...

  7. C的输入输出函数的基本用法

    printf输出函数: printf()函数是格式化输出函数, 一般用于向标准输出设备按规定格式输出信息. printf()函数的调用格式为: printf("<格式化字符串>& ...

  8. 面试过程中javascript原型链与作用域的问题

    现在校招也基本结束了,所以有时间把这段时间遇到的问题做个总结.在很多的笔试题目中,发现有很多对JS作用域方面的考察,所以查阅资料总结一下. 众所周知,js不像其他OOP语言那样,他是一种弱类型的语言, ...

  9. inline(内联函数)

    一般来说,调用函数会造成:目前的指令位置被存储下来,程序流跳转到所调用的函数,然后执行调用函数,最后跳转回之前存储的位置.对于需要常常调用的小函数来说,这会影响程序的运行效率.所以,c99新增了inl ...

  10. javascript对象初读

    <script type="text/javascript"> function baseClass() { this.showMsg = function() { a ...