首页 > 代码库 > linux学习笔记(3)-文件系统

linux学习笔记(3)-文件系统

  • 三大类文件类型
    • 普通文件:包括文本文件、数据文件、可执行的二进制程序文件
    • 目录文件:linux系统把目录看成一种特殊的文件,利用它构成了文件系统的树形结构
    • 设备文件:把设备也看成是一个文件,例如你的鼠标,你的硬盘,等在linux中表现的就是一个文件

       

  • 文件类型的标识符

    前面谈到linux有多种不同的文件类型,对不同的文件处理方式肯定不同,例如对普通文件和对目录文件处理方式肯定是不同的,那么系统有是怎么识别的呢?,在文件属性里分别用不同的编码给他们做标记就行

    下面是 不同文件的不同编码

    • 普通文件(-)
    • 目录(d)
    • 符号链接(l)
    • 字符设备文件(c)
    • 快设备文件(b)
    • 套接字(s)
    • 命名管道(p)

    用命令查看文件的类型

    #ls -l

    例如下图中的test文件夹,前面有drwxr-xr-x,其中第一个编码d,就是这是一个目录,其他类推

       

    /dev目录可以找到字符设备文件、快设备文件和连接文件哦!

       

  • 文件权限

    一个文件的权限系统分为三部分,是根据用户的属性来划分的

    • 文件的拥有者的权限(u)
    • 文件所属组的成员权限(g)
    • 其他用户权限(o)

       

    文件的权限类型也分为三部分

    • 读r (Read,读取):对文件而言,具有读取文件内容的权限;对目录来说,具有浏览目录得到权限
    • 写w (Write,写入):对文件而言,就有修文件内容的权限;对目录来说,具有删除、移动目录内文件的权限
    • 执行x(eXecute,执行):对文件而言,具有执行文件的权限;对目录而言,表示是该用户具有进入目录的权限

       

    比如

    -rw-r--r--

    第一个"-"表示该文件是普通文件

    接下来的"rw-"表示文件的所属者具有读和写权限

    接下来的"r--"表示和文件所属用户的同组用户仅仅具有读权限

    接下来的"r--"表示其他同行仅仅具有读权限

       

       

  • 修改文件权限命令

    利用chmod可以修改文件权限

    格式chmod [-R] {[ugoa][+-=][rwx]} <文件名或者目录名>

    备注:格式中的[]表示该选项是可选的,{}表示是一个整体,<>表示必选参数

    不同选项的意义

    • -R:若操作的是目录,表示递归的对该目录下的所有子项目实施相同的权限设置
    • u表示属主(user)
    • g表示所属组用户(group)
    • o表示其他用户(other)
    • a表示所有用户(all)

    +-=分别表示 增加,删除,设置

       

    实例操作

    先新建一个test.txt文件

    #touch test.txt

    #ls -l

    发现所属主具有读和写权限

       

    对其增加执行权限

    #chmod u+x test.txt

    #ls -l

    Chmod 也可以利用三位数字改变文件的权限

    第一位代表文件的所属主的权限

    第二位代表文件的所属组的权限

    第三位代表文件的其他用户的权限

    4(读)R

    2() W

    1(执行) X

    #chmod 700 test.txt

    #ls -l

    Test.txt文件的所属主具有读写执行的权限,其他用户没有任何权限,会发现这很方便的

       

  • 修改文件的的所属者和所属组

    可以利用chown命令来改变,(change owner)改变文件或目录所属的用户和用户组权限

    注意:执行前必须保证用户和用户组是系统已经存在的

    先有用户user1 user2。所属组有group1 group2

    testfile从原先的所属者为user1改为user2,原先的所属组user1改为group2

    #chown user2:group2 testfile

       

       

    #总结#

    又坚持了一天,加油!