Linux操作系统基础知识(二)

文件系统相关命令 df、dumpe2fs、du

1、df:查看文件系统相关信息

命令格式:
df 【可选项】:查看所有文件系统信息
df 【可选项】文件系统 :查看某个文件系统的相关信息
文件系统可以使用挂载点来表示、也可以用文件设备名

可选项:
-a 显示所有的文件系统信息 (相比较 df 多了一些系统自带的文件系统信息 )
-T 显示文件系统类型
-h 使用习惯单位显示容量
-m 以MB为单位显示容量
-k 以KB为单位显示容量

2、dumpe2fs: 显示ext2、ext3、ext4文件系统的超级快和块组信息
可以查看文件系统的默认块大小、inode大小、ACL权限是否开启以及使用情况等等。

命令格式:

dumpe2fs【 可选项 -bfhixV 】【可选项 -o superblock=superblock 】【 可选项-o blocksize=blocksize】设备文件名
(注意df 命令是用挂载点、而此处是设备文件名)

可选项:
-b : 显示文件系统中保留的损坏块
-o superblock = superblock : 检查文件系统时,使用指定大小的超级块。此选项通常不需要,除非文件系统
向导正在检查严重损坏的文件系统的剩余部分。
-o blocksize = blocksize : 检查文件系统时,指定块大小。此选项通常不需要,除非文件系统向导正在检
查严重损坏的文件系统的剩余部分。
-f : 强制执行
-h :只显示超级块信息,不显示任何块组描述符详细信息
-i :显示从e2image获得的文件系统信息,使用设备作为image文件的路径名
-x :以十六进制显示文件系统信息
-v :显示命令版本信息,并且退出

3、du:统计目录或文件大小(主要是目录)

命令格式: du 【可选项】 目录/文件

可选项: -s :只显示总和、不显示具体文件
-h :使用习惯单位显示容量

挂载命令mount 、 umount及相关文件 /etc/fstab、/etc/mtab、/proc/mounts

1、mount :用于查看挂载文件系统、查看挂载信息、重挂载

命令格式(1): mount 【可选项】 :显示已挂载设备

可选项:
-a: 挂载 /etc/fstab 中定义的所有挂载点
-l :显示全部已挂载信息,等同于mount,没卵用的可选项
-t : 指定显示的已挂载文件系统的类型

命令格式(2):
mount 【可选项】 设备文件名 挂载点 : 挂载文件系统
可选项:
-t: 指定挂载的文件系统的类型 ,一般不需要指定,系统能识别 ,除非是虚拟设备啊啥的
-o:指定挂载的更多特殊选项 ,可以有多个。
例如 -o ro 表示只读,例如 -o remount, ro表示重挂载且设为只读

还可以挂载Windows 共享文件:
在Windows上共享文件时指定一本机用户,便可以使用挂载该用户密码ip到目录中,达到访问共享文件的目的。 注意:此处 -t cifs 可以省略

mount -t cifs -o username=nick,password=Test123456 //10.32.2.30/doc /mnt

话说回来,vm tools 跟winscp他不香吗?

还可以通过挂载构建一块内存磁盘:

mount  -t  tmpfs  -o  size=512m  tmpfs  /mnt

这样,放在/mnt 下的文件就可以被高速访问哦,但是要注意断开数据就没了

另:可以把多个文件系统挂载到同一目录 ,会覆盖,上面的umount之后会显示下面的;
也可以把一个文件系统挂载到多个目录。

2 、umount: 卸载文件系统

命令格式: umount 【可选项】 文件系统

		文件系统可以是挂载点、也可以是文件设备名。

可选项:
-a :卸载命令使用挂载点时可用, 卸载挂载目录下的所有文件系统
-h :显示帮助
-n :卸载时不把信息存入 /etc/mtab
-r :若无法成功卸载、则尝试以只读方式重挂载
-t <文件系统类型>:卸载命令使用挂载点时可用,仅卸载指定类型的文件系统
-v :执行时显示详细信息
-V :显示版本信息

注意这个命令不能再挂载点的目录下执行。

3 、
/etc/fstab :
定义某些挂载点,使用命令 mount -a 时会全部挂上

(一般是在系统启动时的脚本中调用,自己最好别用

/etc/mtab、 /proc/mounts

mount 和 umount 命令会在 /etc/mtab 文件中维护当前挂载的文件系统的列表,这个文件在目前的系统中还是被支持的。但是更好的方式是用链接文件 /proc/mounts 代替 /etc/mtab 文件。

proc是 Linux 内核映射到用户空间的虚拟文件系统,它不和具体的物理设备关联,但它们具有普通文件系统的特征,又更加稳定可靠。

fdisk手动管理分区

(1)在虚拟机断电时添加一个新硬盘;

(2)fdisk -l :查看当前硬盘状态
会发现,多了一个未分区文件设备。

(3)fdisk 设备名 :查看新硬盘的信息

(4)按 m ,获取帮助,如下:
在这里插入图片描述
其中,
n表示添加一个新分区,
d表示删除一个分区,
l表示显示已有分区文件系统类型,
w表示写入分区,
t表示改变Id,(id时硬盘的唯一标识符)不采用默认的id号表示分区,
p显示系统有哪些分区,
q表示退出等,
(ctrl+退格键才能退格)

按l 试下 、可以看到有很多文件系统类型
在这里插入图片描述

(5)按 n ,新建一个分区,然后选择主分区,即 p
在这里插入图片描述

(6)如下图、设置分区号为1、大小为2G(也可以以设多少个柱面的方式来设置大小),然后得到一个分区

在这里插入图片描述

(7)按 n — e ,建立一个扩展分区,大小为默认,即占据所有剩余空间;

(8)按 n — l,建立一个逻辑分区,大小为默认,即占据所有扩展分区空间;
在这里插入图片描述
(9)按 w ,写入硬盘,并输入partprobe命令启动分区表;

(10)需要格式化分区:mkfs -t ext4 /dev/sdb1
以及mkfs -t ext4 /dev/sdb5 ,注意这里不能格式化扩展分区

(11)挂载一下分区,就可以使用了,但是每次重启我们都会看不到sdb1和sdb5分区的内容,因为没有开机自
动挂载,每次都需要我们手动挂载才能看到。

于是,我们可以去修改自动挂载文件 /etc/fstab,
(注意修改要小心,如果改错了可能会导致系统没法启动)

如图、/etc/fstab 共六个字段:
在这里插入图片描述
分别为:

  1. UUID(荐)/设备文件名 :硬盘唯一标识符
  2. 挂载点
  3. 文件系统类型
  4. 挂载参数
  5. 指定分区是否会被dump备份,0表示不备份,1表示每天备份,2表示不定期备份,备份我们可以看到的是lost+found文件夹
  6. 指定分区是否会被fsck检测,0表示不检测,其他表示检测,但是有优先级,数字小的比数字大的优先级高,如1比2优先级高

如果想添加某个分区开机自动挂载,在文件中按格式写入,然后mount -a 即可;
假如写错了,就需要使用root用户去修改文件,这时候文件可能会提示无法修改,因为我们挂载根分区时候默认采用只读的。这时就需要重新将根分区以读写的方式 recount ,然后重启电脑即可。

ACL权限管理

区别于只能将用户分为三类为之设置权限的ugo,
ACL可以:

1 、可以针对某个用户来设置权限
2 、可以针对某个用户组来设置权限
3 、子文件/目录继承父目录的权限
4 、设置某个文件 /文件夹的最大有效 acl 权限

ps:acl命令后方所加的文件/目录路径都是绝对路径。

命令(1):
setfacl 【可选项】 文件/目录 :管理ACL权限

可选项:
-m <acl参数 格式:u/g : name : 具体权限> :添加/更新 acl权限 (可增可减
栗子setfacl -m u:tester:rw file
-R :与-m 配合使用,递归地配置文件/目录下所有子文件/目录的 acl 权限,当然,配置文件的语法没有错 ,但没有意义;
栗子setfacl -m u:tester:rw -R file
d:<acl参数> : 与-m 配合使用,配置默认文件夹默认 acl权限,只能是文件夹,且之后在此文件夹下新建的文件 /文件夹都会引用此默认值,即继承;
栗子setfacl -m d:u:tester:rw dir
m:<权限参数> :与-m 配合使用,设置文件 /文件夹的最大有效权限,ps:是在已设置了ACL权限之后对其起作用;
栗子: setfacl -m m:rw file
-x <acl参数> : 删除某个acl权限
栗子setfacl -x u:tester:rw file
-b :删除某文件/目录的所有acl权限
栗子setfacl -b file
-k :移除默认的acl权限
栗子setfacl -k file
–set <acl参数>,<u权限参数>,<g权限参数>,<o权限参数> :重置某文件/目录的ACL权限,不仅要设置ACL参数,还要把ugo也写进去。且当某类用户权限全为空时,必须写上 -,比如下方的o权限:
栗子setfacl --set u::rw, u:tester2:rwx, g::r, o::- aclfile

命令(2):
getfacl 文件/目录名 :查看某个文件/目录的acl 权限情况

文件特殊权限管理 SetUID 、SGID 、Stick BIT 、chattr 、lsattr

对于设置 SUID 与 SGID 权限,首先两个条件:

(1)进行权限设定的必须是可执行的二进制文件 ;
(2)命令的执行者必须有该文件的 x(执行) 权限。
ps:当执行者没有x 权限时,赋予它 SUID或SGID权限,相应的x权限位会变成S而不是s,代表不可用。

1、SUID:令普通用户在运行该可执行程序时具有与该文件所有者一样的权限

设置方式:1 、 chmod 4755 文件的绝对路径名
2、 chmod u+s 文件的绝对路径名

取消方式:1 、 chmod 755 文件的绝对路径名
2、 chmod u-s 文件的绝对路径名

设置完后,该文件的权限位的前三位的 u 的权限位的 x 会变成 s。

所以你现在知道为什么普通用户明明没法修改/etc/passwd ,却可以使用passwd修改密码的原因了吗?

2、SGID:令普通用户在运行该可执行程序时具有与该文件所属组一样的权限。

设置方式:1 、 chmod 2755 文件的绝对路径名
2、 chmod g+s 文件的绝对路径名

取消方式:1 、 chmod 755 文件的绝对路径名
2、 chmod g-s 文件的绝对路径名

设置完后,该文件的权限位的中间三位的 g 的权限位的 x 会变成 s。

3、Sticky BIT:设置对象: 目录 ,有该目录的 w 和 x 权限的普通用户;
作用: 令普通用户只能删除自己建立的文件 ,无法删除其他用户建立的文件 。

设置粘着位 chmod 1777 /tmp/chmod o+t /tmp/

删除粘着位 chmod 777 /tmp/chmod o-t /tmp/

设置完后,该文件的权限位的最后三位的 o 的权限位的 x 会变成 t。

4 、 文件系统chattr 权限 :对文件/目录进行某些操作限制,包括root用户

命令格式:chattr 【±=】 【权限选项】 文件/目录

+:增加权限
-:删除权限
=:等于某个权限

权限选项:
i:如果设置对象为文件,表示不允许对该文件进行 增删改,只能查看内容;
若为目录,表示只能查看目录下的文件数据 ,不能删除和新建文件。
a:若对象为文件,表示只能再文件中查看、增加数据,不能删除和修改;
若为目录 ,表示只能在目录中查看、新建、修改文件内容,不能删除。(注:不能改文件名

5 、lsattr :查看文件/目录的 chattr权限信息

命令格式: lsattr 【查看选项】 文件/目录
查看选项:
-a :显示所有文件和目录的 chattr 权限信息
-d :只显示自己的 chattr 权限信息

e代表为ext文件系统

  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值