美文网首页
Linux学习(五)——Linux文件系统

Linux学习(五)——Linux文件系统

作者: 风之旅人c | 来源:发表于2020-04-15 17:40 被阅读0次

    Linux文件系统

    文件系统和文件类型

    文件类型

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

    相关命令

    • ls -l 命令
    • find / -type [f d b c s p l] [-ls] [|wc–l] 命令
      • |wc -l 统计个数
      • -ls 显示文件详细信息

    文件命名

    • 由字母、汉字、数字、下划线、原点等字符构成。
    • 长度不超过255个字符,避免使用特殊字符。
    • 同一目录下不能有相同的文件名,不同目录下可以同名。
    • 若文件名的第1个字符为“.”,表示该文件为隐藏文件。
    • 文件的属性与取名无关,文件名中可以不规定扩展名。
    • Linux系统中文件名是区分大小写的,而Windows中文件名字是保留大小写但不区分。

    目录和路径

    • 目录是指包含许多文件项目的一类特殊文件。子目录、父目录、工作目录、用户主目录(Home Directory)。
    • 由目录名和 “/”(斜杠)做分隔符组成的字符串,用来表示文件或目录在文件系统中所处的层次的一种方法。路径又分绝对路径和相对路径。
    • “.”表示当前目录,“. .”表示父目录,“~”表示用户主目录。

    文件系统类型

    Linux的最重要特征之一就是支持多种文件系统,可以和许多操作系统共存。Virtual File System(虚拟文件系统)使得Linux可以支持多个不同的文件系统。

    文件系统类型

    • Minix:最古老、最可靠的文件系统。
    • Xia:minix的修正版。
    • Ext:ext2的老版本。
    • Ext2:ext2诞生于1993年,功能强大,方便安全
    • Ext3:ext2+log是linux通用的文件系统,是ext2的增强版本,它强化了系统的日志功能。
    • ext4是一种针对ext3系统的扩展日志式文件系统,是专门为Linux 开发的原始的扩展文件系统(ext或extfs)的第四版。ext3升级到ext4能为系统提供更高的性能,消除存储限制,获取新的功能,并且不需要重新格式化分区,ext4会在新的数据上用新的文件结构,旧的文件保留原状。
    • Smb:是一种支持Windows for Workgroups、Windows NT和Lan Manager的基于SMB协议的网络文件系统。
    • NFS:网络文件系统。
    • Vfat:与windows中通用的fat16或fat32文件系统兼容。
    • ISO9660:CD-ROM 标准文件系统。

    Linux文件系统结构

    Linux采用与Windows完全不同的独立文件系统存储方式。
    Linux的文件系统采用分层结构。其顶层为根目录,用符号“/”表示,在根目录下是不同的子目录。
    这个树状结构构成Linux中的文件系统,从而管理组织系统的所有文件。

    • / Linux系统目录树的起点。

    • /root:系统管理员(也叫超级用户)的主目录。

    • /boot:这里存放的是启动Linux时使用的一些核心文件。

    • /bin:bin是binary的缩写。这个目录存放着使用者最经常使用的命令。例如cp、ls、cat等等。

    • /home:用户的主目录,比如说有个用户叫sy,那么他的主目录就是/home/sy。注意:root用户的目录不在这里,而在/root里。

    • /dev:dev是device(设备)的缩写。这个目录下是Linux所有的外部设备,在Linux中设备也是文件,使用访问文件的方法访问设备。例如:/dev/sda代表第一个物理SCSI硬盘。

    • /lib:这个目录里存放着系统最基本的动态链接共享库,其作用类似于Windows里的.dll文件。几乎所有的应用程序都需要用到这些共享库。

    • /etc:这个目录用来存放系统管理所需要的配置文件和子目录。

    • /mnt:这个目录在刚安装好系统时是空的,系统提供这个目录的目的是让用户临时挂载别的文件系统。

    • /usr:这是最庞大的目录,我们要用到的应用程序和文件几乎都存放在这个目录下。

    • /sbin:s就是Super User的意思,也就是说这里存放的是系统管理员使用的管理命令和管理程序。

    • /tmp:用来存放临时文件的地方。

    • /var:这个目录中存放着那些不断在扩充着的东西,为了保持/usr的相对稳定,那些经常被修改的目录可以放在这个目录下,系统的日志文件就在/var/log目录中。

    • /proc:这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。也就是说,这个目录的内容不在硬盘上而是在内存里。

    软链接和硬链接

    Linux允许一个物理文件有一个以上的逻辑名,即可为一个文件创建一个链接文件,用来表示该文件的另一个名字。链接不同的文件可为之指定不同的访问权限,达到既可共享,又可控制安全的目的。链接分为硬链接和软链接。

    • 硬链接
      • 硬链接复制文件i-node,也就是保留所链接文件的索引节点(磁盘的物理位置)信息,即使文件更名或改变、移动,硬链接文件仍然存在。
    • 软链接
      • 软(符号)链接仅仅是指向目的文件的路径,类似于Windows下的快捷方式,如果被链接的文件更名或移动,符号链接文件就无任何意义。
    • 命令格式
      • 硬链接格式:ln 源文件 链接文件
      • 软链接格式:ln -s 源文件 链接文件
      • 注意:软链接可以指向目录,不允许将硬链接指向目录。

    文件和目录管理权限

    文件、目录访问权限

    • 文件
      • r 读取权限
      • w 写入权限
      • x 执行权限
    • 目录
      • 同上,x是指可以用cd命令进入目录查看文件

    用户分类

    • 件所有者(owner):建立文件、目录的用户。

    • 同组用户(group):属于同一组群的用户对属于该组群的文件有相同的访问权限。

    • 其他用户(other):除了文件所有者、同组用户的其他用户。

    • 文件所有者(u)、和文件所有者同组的用户(g)和其他用户(o)。对于每一类用户,又可以设置读(r)、写(w)和执行(x)3种权限。这样Linux下对于任何文件或者目录的访问权限都有3组。

    访问权限的表示

    • 字母表示法
    • 数字表示法

    相关命令

    • chmod命令

      • 命令格式1:chmod n1n2n3 文件|目录
      • 为指定文件或目录修改给定的数值访问权限。其中n1代表所有者的权限,n2代表同组用户的权限,n3代表其他用户的权限。
      • 命令格式2:chmod [ugoa][+-=][rwxugo] <文件名或目录名〉
      • 修改文件或目录的访问权限。
        • u所有者 g同组 o其他人 a所有人员
        • +增加权限 -减少权限 = 设置权限
    • chown命令

      • chown [-R] <用户[:组]> <文件或目录>
      • -r对目录递归
    • chgrp命令

      • chgrp group file

    默认权限、隐藏属性、特殊权限

    • umask命令

      • 命令格式:umask [mask]
      • 设置文件或目录的默认权限
      • 当用户创建文件或目录后,系统将设置一个默认权限,可通过命令umask查看或设置系统默认的权限。umask用一个3位2进制数来指定,由命令的mask可看出这是要屏蔽部分权限。当创建文件时,文件的权限就设置为创建程序请求的任何权限去掉umask屏蔽的权限。
      • 由于系统默认屏蔽的权限为022,因此新创建的目录权限就为777-022=755,即新创建的目录的权限为755(用字符表示就是rwxr-xr-x),表示所有者具有所有权限,同组用户和其他用户具有读和执行权限,没有写的权限。新创建的普通文件权限为666-022=644,即rw--r--r--。
    • 文件隐藏属性

      • 查看文件隐藏属性:lsattr
      • 修改文件隐藏属性:chattr
        • chattr [+-=] [ ai] 文件或目录名称
        • a: 当设置a之后,这个文件将只能增加数据,而不能删除也不能修改数据,必须要为root才能设置这个属性。
        • i:不能删除,不能修改,不能改名。必须要为root才能设置这个属性。
    • 文件特殊权限

      • SUID
      • SGID
      • SBIT

    文件的归档与压缩

    常见压缩命令

    • compress uncompress
      • 压缩后缀名:*.z
      • 打开压缩文件命令:zcat
    • gzip gunzip|gzip -d
      • 压缩后缀名:*.gz
      • 打开压缩文件命令:zcat
    • bzip2 bunzip2|bzip2 -d
      • 压缩后缀名: *.bz2
      • 打开压缩文件命令:bzcat

    常见的压缩文件格式

    • tar 打包未压缩的文件,即tarfile
    • tar.gz gzip压缩过的文件
    • tar.bz2 bzip2压缩过的文件

    tar命令

    • 格式:tar <选项> 备份文件 源文件或目录
    • 为文件和目录做备份,归档为tar文件,设置选项还可以进行文件的压缩。
    • 当源是目录时(通常都是)将包括其下的所有文件和子目录。
    • -c 创建一个新文档。
    • -f 当与-c一起使用时,创建的tar文件使用该选项指定的文件名;当与-x一起使用时,则解除该选项指定的归档文件。
    • -t 显示包括在tar文件中的文件列表。
    • -v 显示文件的归档进度。
    • -x 从归档中抽取文件。
    • -z 使用gzip来压缩tar文件。
    • -j 使用bzip2来压缩tar文件。
    • -C 目录:指定解压缩后的目录。

    相关文章

      网友评论

          本文标题:Linux学习(五)——Linux文件系统

          本文链接:https://www.haomeiwen.com/subject/eichvhtx.html