Linux系统应用 第六章 Linux文件系统

6.1文件系统和文件类型

Linux文件系统结构

Linux的最重要特征之一就是支持多种文件系统,Linux采用与Windows完全不同的独立文件系统存储方式。其采用分层结构,顶层为根目录,用符号“/”表示,在根目录下是不同的子目录。
在这里插入图片描述

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

1.文件系统类型

Linux的最重要特征之一就是支持多种文件系统,可以和许多操作系统共存。Virtual File System(虚拟文件系统)使得Linux可以支持多个不同的文件系统。
考点: Linux支持的文件系统类型有( xfs 、ext4 、swap)
CentOS 7.3默认采用的文件系统类型为(xfs)
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:网络文件系统。
Msdos:与Msdos、OS/2等FAT文件系统兼容。
Vfat:与windows中通用的fat16或fat32文件系统兼容。
Umsdos:Linux下的扩展msdos文件系统。
ISO9660:CD-ROM 标准文件系统。
HPFS:OS/2文件系统。
SYSV:UNIX最常用的System V文件系统 。

2. 文件类型

使用“ls –l”命令显示文件列表时,共显示9个部分,其中第一部分表示文件的类型和权限,而第1个字符代表文件的类型,可以为-、d、s、b、c、p和l。
1)普通文件(-): 用于存放数据、程序等信息的一般文件,包括文本文件和二进制文件。
2)目录文件(d): 相当于Windows系统中的文件夹,由该目录所包含的目录项所组成的文件。
3)套接字文件(s): 套接字文件系统是一个用户不可见的,高度简化的,用于汇集网络套接字的内存文件系统,它没有块设备, 没有子目录,没有文件缓冲,它借用虚拟文件系统的框架来使套接字与文件描述字具有相同的用户接口。当用户用socket(family,type,protocol)创建一个网络协议族为family, 类型为type,协议为protocol的套接字时, 系统就在套接字文件系统中为其创建了一个名称为其索引节点编号的套接字文件。
4)块设备文件(b): 存取是以一个字块为单位。普通文件的处理是不必要对硬件进行过多操作的,而字符型设备和块设备就不同了,所以是以特别形式文件出现。/dev/cdrom,/dev/fd0,/dev/hda都是磁盘(光驱,软驱,主硬盘),它们的存取是通过数据块来进行的。
5)字符设备文件(c): 存取数据时是以单个字符为单位的。/dev/audio是字符设备文件,对audio的存取是以字节流方式来进行的。
6)命名管道文件(p): 负责将一个进程的信息传递给另一个进程,从而使该进程的输出成为另一个进程的输入。
7)符号链接文件(l): 符号链接又叫软链接,这个文件包含了另一个文件的路径名。可以是任意文件或目录,可以链接不同文件系统的文件。 详细见下:软连接

考点: 查看普通文件:find / -type f
find / -type [f d b c s p l] [-ls] [|wc–l] 命令可以查找出系统中不同类型的文件有哪些,使用-ls选项可以显示出这些文件的详细信息,使用管道命令| 和统计命令wc –l可以统计出查找到的文件的个数。
在这里插入图片描述
另:使用ls –l 命令可查看用户主目录中的文件,ls –l /dev查看/dev中的文件

3. 文件命名

可由字母(可用汉字)、数字、下划线、圆点、特殊字符(?*\ $尽量不用)构成长度不超过255个字符,且区分大小写。
第1个字符为“.”表示该文件为隐藏文件。文件的属性与取名无关,文件名中可以不规定扩展名。

3.目录、路径基础

1)目录
目录是指包含许多文件项目的一类特殊文件。子目录、父目录、工作目录、用户主目录(Home Directory)。

2)路径
由目录名和 “/”(斜杠)做分隔符组成的字符串,用来表示文件或目录在文件系统中所处的层次的一种方法。路径又分绝对路径和相对路径。

3)“.”表示当前目录,“. .”表示父目录,“~”表示用户主目录。

ls –l 命令查看用户主目录中的文件
ls –l /dev

软链接和硬链接

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

硬链接: 硬链接复制文件i-node,也就是保留所链接文件的索引节点(磁盘的物理位置)信息,即使文件更名或改变、移动,硬链接文件仍然存在。
创建硬链接格式:ln 源文件 链接文件

软(符号)链接: 软(符号)链接仅仅是指向目的文件的路径,类似于Windows下的快捷方式,如果被链接的文件更名或移动,符号链接文件就无任何意义。在对符号文件进行读或写操作的时候,系统会自动把该操作转换为对源文件的操作。但删除链接文件时,系统仅仅删除链接文件,而不删除源文件本身。

创建软链接格式:ln -s 源文件 链接文件
删除软链接用rm softlink_file 或者 unlink softlink_file。

注意:软链接可以指向目录,不允许将硬链接指向目录。
ln -s /root aaa 正确
ln /root aaa 错误

6.2文件和目录权限管理

1. 文件、目录访问权限
1)文件
读®:允许读文件的内容
写(w):允许向文件中写入数据
执行(x):允许将文件作为程序执行
2)目录
读®:允许查看目录中有哪些文件和目录
写(w):允许在目录下创建(或删除)文件、目录,修改文件名字或者目录名字
执行(x):允许访问目录(用 cd 命令进入该目录,并查看目录中可读文件的内容)

2. 用户分类
文件所有者(owner):建立文件、目录的用户。
同组用户(group):属于同一组群的用户对属于该组群的文件有相同的访问权限。
其他用户(other):除了文件所有者、同组用户的其他用户。
在Linux中,将文件访问权限分为3类用户进行设置:
文件所有者(u)、和文件所有者同组的用户(g)和其他用户(o)。对于每一类用户,又可以设置读(r)、写(w)和执行(x)3种权限。
执行ls –l 文件显示的内容是:
文件类型 u权限 g权限 o权限 owner group 时间 文件名

在这里插入图片描述
3. 访问权限的表示
1)字母表示法
2)数字表示法 为了使用方便简捷,权限也可以用数字表示。
在这里插入图片描述

我们也可以使用数字进行文件权限的划分,其中r=4、w=2、x=1、-=0,这样rwx这组权限就是4+2+1=7,r-x这组权限就是5,/home的权限就可以用755表示。

修改权限的命令

1.chmod命令

  1. 命令格式1:
    chmod n1n2n3 <文件|目录>
    功能:为指定文件或目录修改给定的数值访问权限。其中n1代表所有者的权限,n2代表同组用户的权限,n3代表其他用户的权限。
    选项:n1n2n3三位数字表示的文件访问权限。

  2. 命令格式2:
    chmod [ugoa][±=][rwxugo] <文件名或目录名〉
    功能:修改文件或目录的访问权限。
    选项:
    1)用户标识
    所有者(u)
    同组(g)
    其他人(o)
    所有的人员(a)
    2)设定方法
    +增加权限
    -删除权限
    = 分配权限,同时删除旧的权限
    3)权限字符
    r(读)
    w(写)
    x(执行)
    u(和所有者的权限相同)
    g(和所同组用户的权限相同)
    o(和其他用户的权限相同)
    3)修改文件权限举例
    要求:新建a.txt文件并将该文件设置为所有者拥有全部权限,其他人拥有执行权限。
    修改方法:
    ①字母表示法:chmod u=rwx,go=x a.txt
    ②数字表示法:chmod 711 a.txt
    这两条命令的效果是一样的 。
    在这里插入图片描述
    2. chown命令
    格式:# chown [-R] <用户[:组]> <文件或目录>
    功能:更改属主和组。
    选项:
    -R:对目录及其子目录进行递归设置。
    例如:
    chown sjh:sjh result.txt //修改所有者为sjh,所有组为sjg
    如果是对目录进行更改,叫加上-R,这样的话这个目录下的所有文件都修改所有者为sjh,所有组为sjg

3. chgrp命令
格式:chgrp group file
其中group:组名或组代号
功能: 改变文件或目录组群

4.桌面环境下修改文件权限
桌面环境下选中需要修改文件权限的文件、文件夹(目录),右击弹出快捷菜单,选中文件“属性”对话框。在“基本”选项卡中修改文件名,并可修改文件图标。在“权限”选项卡,可以修改文件的权限。
在这里插入图片描述

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

1.默认权限
umask命令
格式:umask [mask]
功能:设置文件或目录的默认权限

当用户创建文件或目录后,系统将设置一个默认权限,可通过命令umask查看或设置系统默认的权限。umask用一个3位2进制数来指定,由命令的mask可看出这是要屏蔽部分权限。当创建文件时,文件的权限就设置为创建程序请求的任何权限去掉umask屏蔽的权限。

由于系统默认屏蔽的权限为022,因此新创建的目录权限就为777-022=755,即新创建的目录的权限为755(用字符表示就是rwxr-xr-x),表示所有者具有所有权限,同组用户和其他用户具有读和执行权限,没有写的权限。新创建的普通文件权限为666-022=644,即rw–r--r–。

2.文件隐藏属性
1)查看文件隐藏属性:lsattr
2)修改文件隐藏属性:chattr
chattr [±=] [ ai] 文件或目录名称
a: 当设置a之后,这个文件将只能增加数据,而不能删除也不能修改数据,必须要为root才能设置这个属性。
i:不能删除,不能修改,不能改名。必须要为root才能设置这个属性。
举例:touch attrtest (此时,文件attrtest能改名,能删除,能修改)
lsattr attrtest
chattr +a attrtest(此时,文件attrtest不能改名,不能删除,不能修改,只能在文件尾追加内容)
cat >>attrtest
chattr +i attrtest
cat >>attrtest (此时还能不能追加数据???)

3.文件特殊权限
文件特殊权限有以下三种:
SUID (4,U表示user,Set UID,SUID只能用在文件上,不能用在目录)
SGID(2,G表示group,Set GID)
SBIT(1)
1)SUID:Set UID (只对二进制程序有效,对shell script无效)
例如:ls –l /usr/bin/passwd
注意:当用户执行passwd命令的时候,需要修改/etc/shadow文件。

2)SGID:Set GID
例如:ls –l /usr/bin/locate
注意:当用户执行locate命令的时候,需要读取/var/lib/mlocate/mlocate.db文件。

3)SBIT:Sticky Bit (只对目录有效)
例如:ls –dl /tmp (当用户在该目录下创建文件或目录时,仅有自己与root才有权利删除该文件)

s和t是替代x这个权限的,但是,如果它本身没有x这个权限,修改为s或t时就会变成大S或大T,例如:
执行chmod 7666 filename。 因为666表示“-rw-rw-rw”,均没有x权限,所以最后变成“-rwSrwSrwT”。

详解: https://blog.csdn.net/ZYC88888/article/details/79163169
考点:

下面哪一条命令能找出系统中或者带有SUID或者带有SGID的文件?find   /   -perm   +6000
命令添加的“-perm +6000” 选项,表示查找设置了set-uid(权限数为4)或者set-gid(权限数为2)位的文件。

6.3文件归档与压缩

建议先归档后压缩且用bzip2来压缩,因为bzip2压缩效率比较好
在这里插入图片描述
在这里插入图片描述
1.tar命令
格式:tar <选项> 备份文件 源文件或目录
功能:为文件和目录做备份,归档为tar文件,设置选项还可以进行文件的压缩。
说明:当源是目录时(通常都是)将包括其下的所有文件和子目录。

选项(不可少,规定tar 命令要完成的操作):

  -c  创建一个新文档。
  -f  当与-c一起使用时,创建的tar文件使用该选项指定的文件名;当与-x一起使用时,则解除该选项指定的归档文件。
  -t  显示包括在tar文件中的文件列表。
  -v  显示文件的归档进度。
  -x  从归档中抽取文件。
  -z  使用gzip来压缩tar文件。
  -j  使用bzip2来压缩tar文件。
  -C  目录:指定解压缩后的目录

2.tar命令举例:

1)创建一个tar文件:
tar –cvf  home.tar /home
2 )列出tar文件的内容 
tar -tvf  home.tar
3 )抽取tar文件的内容
tar -xvf  home.tar
4 )使用bzip2压缩tar文件
tar -cjvf home.tbz  /home		//归档
tar -cjvf  home2.tar.bz2  /home		//压缩
5 )解压缩并解除归档
tar -xjvf home2.tar.bz2

在这里插入图片描述

3.tar的其他高级用法

1.在打包压缩的过程中不包含某个目录:
–exclude=目录或文件名
举例:
tar –cjvf home.tar.bz2 --exclude=sjh /home
tar -cjvf home-date +%Y-%m-%d.tar.bz2 --exclude=sjh /home

2.仅备份比某个时刻还要新的文件
tar–N“2014-06-21” -cjvf aaa.tar.bz2 /etc
tar -cjvf bbb.tar.bz2 --newer-mtime=“2014-06-21” /etc
打包个别(部分)文件,解包个别(部分)文件
在这里插入图片描述

4.桌面环境(图形界面)下文件归档与压缩

桌面环境下归档管理器几乎支持所有的压缩文件格式。从桌面环境依次双击“应用程序”->“工具”->“归档管理器”,打开“归档管理器”。
在这里插入图片描述
右击某个文件夹,从弹出的快捷窗口中选择“Compress…”,可以打开压缩窗口,对文件夹进行归档或压缩。
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值