Linux文件系统管理

一、认识Linux分区

在Windows 系统中经常会碰到C盘盘符(C:)标识,而Linux 系统中没有盘符的概念,可以认为Linux 下所有文件和目录都存在于一个分区内。Linux系统中每一个硬件设备(如硬盘、内存等)
都映射系统的一个文件。IDE 接口设备在Linux 系统中映射的文件以hd为前缀,SCSI、STAT、SAS等设备映射的文件以sd为前级,NVMe 接口设备在Linux 系统中映射的文件以nvme为前缀。具体的文件命名规则是以英文字母排序的,如系统中第1个IDE设备为hda,第2个IDE设备为hdb。
了解了硬件设备在Linux 中的表示形式后,再来了解一下分区信息。如图用于查看系统中
的分区信息。

系统中使用/dev/mapper/rhel-root 映射为root文件系统,本质上这个是逻辑卷,不是物理磁盘,逻辑卷依赖于设备映射程序(DM)内核驱动程序。符号链接/dev/rhel/root 指向/dev/dm-<number>块设备节点。number 的分配是连续的,从0开始每个逻辑卷在/dev/mapper 目录中有另外一个符号链接,名称为/dev/mapper/rhel-root。
日常中,在对新硬盘进行分区时,先对物理设备进行分区格式化,然后再进行逻辑卷管理。物理硬盘一般采用EXT文件格式,第1个分区为号码1(如sda1),第2个分区为号码2(如sda2),以此类推。分区分为主分区和逻辑分区,每一块硬盘设备最多只能由4个主分区构成,任何一个扩展分区都要占用一个主分区号码,主分区和扩展分区数量最多为4个。
在进行系统分区时,主分区一般设置为激活状态,用于在系统启动时引导系统。分区时每个分区的大小可以由用户自由指定。Linux 分区格式与Windows 不同,Windows 常见的格式有FAT32、FAT16、NTFS,而 Linux 常见的分区格式为SWAP、EXT3、EXT4、XFS等。

二、Linux中的文件管理

1、文件的类型

Linux 系统是一种典型的多用户系统,不同的用户处在不同的地位,拥有不同的权限。为了保护系统的安全性,对同一资源来说,不同的用户具有不同的权限,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。

第1列表示文件的类型。
第2列表示文件权限。例如,文件权限是“rw-r--r-”,表示文件所有者可读、可写,文件所归属的用户组可读,其他用户可读此文件。
第3列为硬链接个数。
第4列表示文件所有者,就是文件属于哪个用户。
第5列表示文件所属的组。
第6列表示文件大小,通过选项h可以显示为可读的格式,如K/M/G等。
第7列表示文件修改时间。
第8列表示文件名或目录名。
"-" :第1位标识是“”表示普通文件,是Linux系统中最常见的文件,比如常见的脚本等文本文件和常用软件的配置文件,可执行的二进制文件也属于此类
"d" :第1位标识为“d”表示目录文件,和Windows中文件夹的概念类似
"l" :第1位标识为“l”表示符号链接文件,软链接相当于Windows中的快捷方式,而硬链接则可以认为是具有相同内容的不同文件
"b/c" :第1位标识是“b”或“c”,表示设备文件。第1位标识为“b”表示块设备文件,块设备文件的访问每次以块为单位,比如512字节或1024字节等,类似Windows中簇的概念。块设备可随机读取,如硬盘、光盘属于此类。第1位标识为“c”表示字符设备文件,字符设备文件每次访问以字节为单位,不可随机读取,如常用的健盘就属于此类
"s" :第1位标识为“s”表示套接字文件,程序间可通过套接字进行网络数据通信
 "p"  :第1位标识为“p”表示管道文件。管道是Linux系统中一种进程通信的机制,生产者写数
据到管道中,消费者可以通过进程读取数据

2、文件的属性与限制

为了系统的安全性,Linux为文件赋予了3种属性:可读、可写和可执行。在 Linux系统中,每个文件都有唯一的属主,同时用户可以属于同一个组,通过权限位控制定义每个文件的属主,同组用户和其他用户对该文件具有不同的读、写和可执行权限。


700 是目录的权限,分为三组,rwx 当前用户 rwx 当前组 rwx 其他用户
rwx :r == 4 可读
         w == 2 可写      rwx r-x r-x 755 默认目录权限
       x == 1 可执行       rw- r-- r-- 644 默认普通文件权限
       - == 0 无权限        rwx --- --- 700 目录的权限

3、改变文件的所有权

一个文件属于特定的所有者,如果更改文件的属主或属组可以使用chown和chgrp命令。chown命令可以将文件变更为新的属主或属组,只有root 用户或拥有该文件的用户才可以更改文件的所有者。如果拥有文件但不是root用户,那么只可以将组更改为当前用户所在的组。chown命令的常用参数说明如下


-f :禁止除用法消息之外的所有错误消息
-h :更改遇到的符号链接的所有权,而不是符号链接指向的文件或目录的所有权,如未指定则更
改链接指向目录或文件的所有权
-H:如果指定了-R选项,并且引用类型目录的文件的符号链接在命令行上指定,那么chown命令会更改由符号引用的目录的用户标识(和组标识,如果已指定)和在该目录下的文件层次结构中的所有文件
-L:如果指定了-R选项,并且引用类型目录的文件的符号在命令行上指定或在遍历文件层次结构期间遇到,那么chown 命令会更改由符号链接引用的目录的用户标识和在该目录之下的文件层次结构中的所有文件
-R:递归地更改指定文件夹的所有权,但不更改链接指向的目录

chown root a.txt ==>报错,没有权限 ⇒ sudo chown root a.txt =>提权修改
sudo chown -R root ./test #将目录./test 及其下子目录的文件主改成 root
sudo chown root:root xxx.cfg #修改xxx.cfg 文件的用户和属主身份。
 

chgrp: chgrp命令用来改变文件或目录所属的用户组。该命令用来改变指定文件所属的用户组。
如果用户不是该文件的文件主或超级用户(root),则不能改变该文件的组。

sudo chgrp root abc #把文件abc属组由caoqb更改为root
sudo chgrp -R root test1/ #把目录test1及其目录下的所有文件一并由caoqb更改为root

4、改变文件限制

chmod命令来自英文词组change mode的缩写,其功能是改变文件或目录权限的命令。
默认只有文件的所有者和管理员可以设置文件权限,普通用户只能管理自己文件的权限属性。
设置权限时可以使用数字法,亦可使用字母表达式,对于目录文件,建议加入-R参数进行递归作,
这意味着不仅对于目录本身,而且也对目录内的子文件/目录进行新权限的设定。

语法格式:chmod 参数 文件名

常用参数:
-c 改变权限成功后再输出成功信息 --no-preserve-root 不特殊对待根目录
-f 改变权限失败后不显示错误信息 --preserve-root 禁止对根目录进行递归操作
-R 递归处理所有子文件 --reference 使用指定参考文件的权限
-v 显示执行过程详细信息 --version 显示版本信息
--help 显示帮助信息


参考示例:
touch a.txt 创建一个有644权限的普通文件
mkdir bdir 创建一个有755权限的目录文件

chmod 0755 a.txt #设定某个文件的权限为0775

a+r a ==》 all == u+g+o r ==>读
u g o ==>u 是拥有着权限 g 用户组权限 o 其他用户权限
rwx rwx rwx

chmod u+r a.txt # 所属用户增加可读权限
chmod u-r a.txt # 所属用户减少可读权限
chmod u=r a.txt # 所属用户设置可读权限
chmod a+r a.txt # 给所有人增加可读权限
chmod u+x,g+w a.txt # 同时修改多个权限
chmod ug+x a.txt # 同时修改多个权限
chmod 777 a.txt # 给所有人增加读、写、执行权限
                           #小心使用,不是必须不要777权限。

chmod 777 目录 # 修改目录本身的权限
一般情况下,目录的默认权限是:0755
                        普通文件的权限是:0644

cd bdir =⇒ touch a b c

chmod -R a+w Dir    #设定某个目录及其内部的子文件可被任何人读取
                                  #-R递归目录

注意:
用户的最终权限,是从左向右进行顺序匹配,即,所有者,所属组,其他人,
一旦匹配权限立即生效,不再向右查看其权限
r和w权限对root 用户无效
只要所有者,所属组或other三者之一有x权限,root就可以执行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值