• 三大类文件类型
    • 普通文件:包括文本文件、数据文件、可执行的二进制程序文件
    • 目录文件: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

    #总结#

    又坚持了一天,加油!

linux学习笔记(3)-文件系统的更多相关文章

  1. Linux学习笔记(一) 文件系统

    对于每一个 Linux 学习者来说,了解 Linux 文件系统的结构是十分有必要的 因为在 Linux 中一切皆文件,可以说只有深入了解 Linux 的文件系统,才会对 Linux 有更深刻的理解 L ...

  2. Linux学习笔记(二) 文件管理

    了解 Linux 系统基本的文件管理命令可以帮助我们更好的使用 Linux 系统,以下介绍几个常用的文件管理命令 1.pwd pwd 是 Print Working Directory 的简写,用于显 ...

  3. Linux学习笔记(四) vi编辑器

    一.vi 编辑器 vi 编辑器 (Visual Interface) 是所有 Unix 及 Linux 系统下标准的编辑器,相当于 Windows 系统中的记事本 它有三种模式,分别是: Comman ...

  4. Linux学习笔记(五) 账号管理

    1.用户与组账号 用户账号:包括实际人员和逻辑性对象(例如应用程序执行特定工作的账号) 每一个用户账号包含一个唯一的用户 ID 和组 ID 标准用户是系统安装过程中自动创建的用户账号,其中除 root ...

  5. Linux学习笔记(六) 进程管理

    1.进程基础 当输入一个命令时,shell 会同时启动一个进程,这种任务与进程分离的方式是 Linux 系统上重要的概念 每个执行的任务都称为进程,在每个进程启动时,系统都会给它指定一个唯一的 ID, ...

  6. Linux学习笔记(七) 查询系统

    1.查看命令 (1)man 可以使用 man 命令名称 命令查看某个命令的详细用法,其显示的内容如下: NAME:命令名称 SYNOPSIS:语法 DESCRIPTION:说明 OPTIONS:选项 ...

  7. Linux学习笔记-文件系统和基本命令

    目录 分区设备文件名 分区 挂载 文件目录 文件处理命令 目录处理命令 硬件设备文件名 IDE硬盘 /dev/hd[a-d] USB硬盘 /dev/sd[a-p] 光驱 /dev/cdrom或者/de ...

  8. Linux学习笔记之 Btrfs文件系统简介及使用

    Btrfs 也有一个重要的缺点,当 BTree 中某个节点出现错误时,文件系统将失去该节点之下的所有的文件信息.而 ext2/3 却避免了这种被称为”错误扩散”的问题. Btrfs相关介绍: Btrf ...

  9. deepin linux学习笔记

    目录 deepin linux学习笔记 前言 linux常用命令 ls 显示文件夹内容 cd 切换当前目录 pwd 查看当前工作目录 mkdir 新建文件夹 rm 删除文件或文件夹 mv 移动文件 c ...

  10. linux学习笔记2 - linux常用命令

    转载请标注原链接:http://www.cnblogs.com/xczyd/p/5543731.html 第一篇博客:linux学习笔记1-ubuntu的安装与基本设置 之中,已经介绍了如何安装lin ...

随机推荐

  1. hdu 3635 Dragon Balls

    Dragon Balls Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Tot ...

  2. Python性能测试

    python -m profile xxx.py > log.txt 打开log.txt查看,搜索你所关心的方法调用耗费的时间. profile的统计结果分为ncalls.tottime.per ...

  3. 【Knockout】二、监控属性Observables

    MVVM和viewModel Knockout是建立在以下三大核心功能之上的: 监控属性和依赖跟踪(Observables and dependency tracking) 声明式绑定(Declara ...

  4. C# 计算文件的 Hash 值

    /// <summary> /// 提供用于计算指定文件哈希值的方法 /// <example>例如计算文件的MD5值: /// <code> /// String ...

  5. centos6.5下磁盘分区及挂载

    1..查看磁盘空间 2.磁盘分区 3.格式化分区 4.挂载/卸载

  6. 【转】Android属性之build.prop,及property_get/property_set

    简要分析一下build.prop是如何生成的.Android的build.prop文件是在Android编译时收集的各种property(LCD density/语言/编译时间, etc.),编译完成 ...

  7. 添加点标注IMarkerElement

    private void AddPointElement(IPoint pPoint) { if (pPoint != null) { IElement pElement = null; IRgbCo ...

  8. 在O(1)时间删除链表结点

    题目:给定单向链表的头指针和一个结点指针,定义一个函数在O(1)时间删除该结点. 链表结点与函数的定义如下: struct ListNode { int m_nValue; ListNode* m_p ...

  9. JDK中工具类的使用

    JDK中内置了很多常用的工具类,且多以“s”结尾,如:集合工具类Collections,数组工具类Arrays,对象工具类Objects,文件工具类Files,路径工具类Paths,数学工具类Math ...

  10. spring 计划任务:cron表达式

    Cron表达式是一个字符串,字符串以5或6个空格隔开,分开工6或7个域,每一个域代表一个含义,Cron有如下两种语法 格式: Seconds Minutes Hours DayofMonth Mont ...