Linux 文件系统管理

Posted 康华

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux 文件系统管理相关的知识,希望对你有一定的参考价值。

Linux 文件系统管理

课程大纲

 文件系统构成及命令

 硬盘分区及管理

 磁盘配额

 备份与恢复

 

文件系统构成

/usr/bin 、/bin:存放所有用户可以执行的命令

/usr/sbin 、/sbin:存放只有root可以执行的命令

/home:用户缺省宿主目录

/proc:虚拟文件系统,存放当前进程信息

/dev:存放设备文件

/lib:存放系统程序运行所需的共享库

/lost+found:存放一些系统出错的检查结果

/tmp:存放临时文件

/etc:系统配置文件

/var:包含经常发生变动的文件,如邮件、日志文件、计划任务等

/usr:存放所有命令、库、手册页等

/boot:内核文件及自举程序文件保存位置

/mnt:临时文件系统的安装点

 

特殊权限:粘着位t

粘着位的定义:当权限为777的目录被授

予粘着位,用户只能在此目录下删除自

己是所有者的文件。

 

常用命令

 查看分区使用情况:df // df -h df-m

 查看文件、目录大小:du // du -h /etc/services # du -sh /etc

 查看文件详细时间参数:stat

 校验文件md5值:md5sum

 检测修复文件系统:fsck、e2fsck

(单用户模式卸载文件系统后执行)

# e2fsck -p or # fsck -y

判断文件类型 file //# file /etc/services

使用光驱

挂载光驱

# mount /dev/cdrom /mnt/cdrom

附加: # ls -l /dev/sda1 文件类型 b开头是块设备

# ls -l /dev/tty 文件类型 c 开头是字符设备

#df //df -h 查看光盘的挂载信息

# cd /mnt/cdrom

# ls /mnt/cdrom

卸载光驱

# umount /mnt/cdrom

# eject //如果是物理光驱会弹出

 

添加硬盘分区

 划分分区(fdisk)

 创建文件系统 (mkfs)

 尝试挂载 (mount)

 写入配置文件 (/etc/fstab)

 

附加:

# dmesg : grep sdb //查看新添加的第二块硬盘

# fdisk -l /dev/sdb //查看硬盘信息

# m 帮助

command(m for help)p //查看分区表信息

command(m for help)n // 添加新分区 默认文件类型ext3

p主分区 e扩展分区

command(m for help)t //改变分区文件类型

l 显示所有文件类型代码

command(m for help)d //删除分区

command(m for help)w // 最后一定要保存退出才生效

command(m for help)q //不保存退出

 

  1. 划分分区(fdisk)

    附加: 创建文件系统(mkfs) // 类是windows 格式化

    mkfs 格式化 mkfs.ext3

    mkfs -t ext3

    # mkfs.ext3 /dev/sdb1 //格式化分区

    -b //指定数据块大小 1024 2048 4096

     

    附加: # mkdir /web

    # mount /dev/sdb1 /web //将分区挂载 /web 空目录

    # df -h //显示文件系统的磁盘使用情况

    附加: 挂载之后 重启电脑后又要重新挂载,如何解决?

    # vi /etc/fstab

    物理分区名/卷标        挂载点        文件系统        缺省设置    是否检测    检测顺序

    LABEL=/                 /            ext3                defaults            1/0        0/1/2

    /dev/sda1    

    /dev/sdb1            /web        ext3                defaults            1        2        

     

    # e2label /dev/sdb1 apache // 设置卷标为apache, 不加卷标是检测卷标,设置了卷标,编辑/etc/fstab 可以写LAVEL=apache

     

    /etc/fstab挂载设置

     ro 只读

     noexec 可执行文件不可运行

     nosuid SetUID命令不可执行

     noauto 不自动挂载

     acl 启动ACL权限控制

    命令:getfacl查看、setfacl设置

     

    SWAPFILE实现

    1. # mkdir /var/swap

    # chmod 700 /var/swap

  2. # dd if=/dev/zero of=/var/swap/file.swp bs=1024 count=65536 //创建64M 大小的文件

    附加 # dd if=/dev/sda of=/dev/sdb //sda拷贝到sdb

    # find / -name abc > abc.find 2> /dev/null //查找abc文件结果输入到abc.find文件里, 错误就不看了

    # du -h /var/swap/file.swp

     

    3. # mkswap /var/swap/file.swp //把刚刚创建的文件作为swap空间来用

    4. # vi /etc/fstab

    /var/swap/file.swp swap swap defaults 0 0 //编辑开启启动swap

    5. free // # free -m

    6. swapon /var/swap/file.swp //启用这个空间 关闭的命令 swapoff

    7. free

     

    磁盘配额

    1、开启分区配额功能

    编辑/etc/fstab文件,在挂载属性上加上标志

    usrquota用户配额或grpquota 用户组配额

    /dev/sda3 /home ext3 defaults,usrquota 1 2

    mount -o remount /home

    临时设置:mount -o remount,usrquota /home

    2、建立配额数据库(进入单用户模式)

    quotacheck -cvuga

    会生成aquota.user 、aquota.group两个文件

    3、启动配额功能

    quotaon 分区名称quotaon /home

    quotaoff关闭配额 quotaon /home

    4、编辑用户配额

    edquota 用户名

    edquota -g 用户组名

    edquota -t 设置宽限期

    复制用户配额

    edquota -p 模板用户 复制用户1 复制用户2

    quota命令查看用户的配额使用情况

    管理员查看配额信息:repquota -a

     

    创建配额的选项

     软限制(Soft limit):定义用户可以占用的磁

    盘空间数。当用户超过该限制后会收到以超过配额的警告。

     硬限制(Hard limit):当用户试图将文件存放

    在其已经超过该限制值目录时,报告文件系统错误。

     宽限期(Grace period):定义用户在软限制下可以使用其文件系统的期限。

     

    系统的潜在威胁

     系统硬件故障

     软件故障

     电源故障

     用户的误操作

     人为破坏

     缓存中的内容没有及时的写入磁盘

     自然灾害

     

    备份介质的选择

     备份介质

     硬盘

     光盘

     磁带

    可移动存储设备

     一般在选择备份介质时,要从可靠性、速度和介质价格之间进行权衡

     

    备份策略

     完全备份

    每隔一段时间对系统进行一次完全的备份,

    这样在备份时间间隔内,一旦系统发生故障

    使得数据丢失时,就可以用上一次的备份数

    据恢复到上一次备份时的情况。

     增量备份

    首先进行一次完全备份,然后每隔一段较短

    的时间进行一次备份,但是仅仅备份每个短

    时期内更改的内容。

     

    备份的分类

     系统备份

             实现对操作系统和应用程序的备份

             尽量在系统崩溃以后能快速简单完全地恢复系统的运行

             主要备份/etc、/boot 、/var/log、/usr/local等

             一般只有当系统内容发生变化时才进行

     用户备份

             实现对用户文件的备份 /home

             用户的数据变动频繁

             通常采用增量备份策略进行

     

    记录更改建立备份日志

     记录系统的更改

             记录对系统进行了哪些修改的详细描述及为什么要进行修改

     建立备份日志

             使用备份日志表格

     妥善保管

     

    备份日志表格范例

     机器名称、IP地址、存放位置

     备份时间

     备份介质及其编号

     备份的文件系统

     备份的目录和文件

     使用的备份命令

     备份人员及其他

     

    cp命令备份举例

    备份目录:

    cp -Rpu 备份目录 目标目录

    -p 保持备份目录及文件属性

    -u 增量备份

    远程备份可用scp

        附加:# cp -p /etc/inittab /backup/inittab_20110325.bak

     

    tar 命令使用举例

    # tar -zcf /backup/sys_20110303.tar.gz /etc /boot

    备份/etc目录,可同时打包多个目录

    # tar -zcf backup_user_20110303.tar.gz /etc/passwd

    /etc/shadow /etc/group /etc/gshadow

    对/etc目录下指定文件进行备份

    # tar -ztf backup_user_20110303.tar.gz

    查看备份包中文件(不解包)

     

    # tar -zxf /backup/etc_20110303.tar.gz

    还原/etc目录,默认还原到打包文件源目录,

    -C可以指定还原目录

    # tar -zxf backup_user_20110303.tar.gz etc/group

    只恢复备份中的指定文件

     

    # tar -rf backup_user_20110303.tar

    /etc/default/useradd /etc/login.defs

    将/etc/default/useradd、/etc/login.defs的内容追加到backup_user_20110303.tar

    # tar -uf backup_user_20110303.tar /etc/passwd

    将/etc/passwd目录中修改过的内容追加到备份文件

    * -r与-u选项只能针对tar包使用

     

    tar 命令备份举例

    为备份文件名添加时间(年月日)

    # tar -zcf /backup/etc_$(date +%F).tar.gz /etc

    添加年月日小时分钟

    # tar -zcf /backup/etc_$(date +%Y.%m.%d-%H%M).tar.gz /etc

     

    知识点总结

     Linux文件系统构成

     文件系统管理命令

     粘着位权限

     如何添加新硬盘

     /etc/fstab配置文件设置

     swapfile功能设置

     磁盘配额设置

     备份理念及cp、tar命令备份应用

     

    练习

     粘着位试验

     ACL权限设置

     添加新硬盘划分分区

     通过swapfile功能增加swap空间

     设置用户磁盘配额

     备份系统数据结合计划任务应用

     文件系统操作命令

以上是关于Linux 文件系统管理的主要内容,如果未能解决你的问题,请参考以下文章

Linux里面文件系统都有哪些?

linux文件系统类型

linux系统中对文件系统的原理进行分析

Linux文件系统操作命令

Linux文件系统的演变

linux kernel 文件系统编程接口