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 文件系统管理的更多相关文章

  1. Linux文件系统管理命令(第二版)

    Linux文件系统管理命令 常用命令 1.df命令 查看分区使用情况 常用选项 -h 比较人性化 -m 以兆字节显示分区使用情况 显示信息: Mounted on:挂载点 Filesystem:对应的 ...

  2. Linux文件系统管理 常见命令df、du、fsck、dumpe2fs

    概述 Linux文件系统管理 常见命令df.du.fsck.dumpe2fs. 文件系统查看命令:df 通过 df 命令可以査看已经挂载的文件系统的信息包括设备文件名.文件系统总大小.已经使用的大小. ...

  3. linux 文件系统管理三部曲之三:挂载文件系统

    linux 文件系统管理三部曲之一:磁盘分区 linux 文件系统管理三部曲之二:创建文件系统 上面说明了,硬盘的划分和格式化,那么怎么使用,还没说,这里说一下,怎么使用创建好的文件系统. 使用文件系 ...

  4. Linux系列教程(十八)——Linux文件系统管理之文件系统常用命令

    通过前面两篇博客,我们介绍了Linux系统的权限管理.Linux权限管理之ACL权限 介绍了通过设定 ACL 权限,我们为某个用户指定某个文件的特定权限,这在Linux只能对于一个文件只能有所有者权限 ...

  5. Linux文件系统管理

    第九讲 文件系统管理   基础知识点:   硬盘的构成:主要由盘片.机械手臂.磁头与主轴马达所组成,实际的数据都是写在具有磁性物质上的盘片,通过主轴马达让盘片转动,机械手臂可伸展让磁头在盘片上读取数据 ...

  6. linux 文件系统管理三部曲之二:创建文件系统

    创建文件系统的含义:就是格式化一个硬盘分区,不同的格式化方式,就是创建了不同的文件系统. 格式化: 低级格式化:划分分区前执行,主要是划分硬盘的磁道等. 高级格式化:划分分区后执行,创建文件系统 创建 ...

  7. 『学了就忘』Linux文件系统管理 — 57、Linux文件系统介绍

    目录 1.了解硬盘结构(了解即可) (1)硬盘的逻辑结构 (2)硬盘接口 2.Linux文件系统介绍 (1)Linux文件系统的特性 (2)Linux常见文件系统 3.整理一下对文件系统的认识 在了解 ...

  8. Linux系列教程(十九)——Linux文件系统管理之手工分区

    上篇博客我们首先介绍了硬盘为什么要分区,以及Linux系统的几种分区类型,然后介绍了Linux系统几个常用的文件系统命令,最后讲解了挂载命令,并通过实例演示了如何挂载光盘和U盘. 本篇博客我们将介绍l ...

  9. linux文件系统管理的工作原理

    一.系统在初始化时如何识别硬盘 1.系统初始时根据MBR的信息来识别硬盘,其中包括了一些执行文件就来载入系统,这些执行文件就是MBR里前面446bytes里的boot loader 程式,而后面的16 ...

随机推荐

  1. C#如何通过属性名称反射出属性本身

    A a = new A(); Type t = typeof(A); var v1 = t.GetField("n").GetValue(a);//获取字段值,你的类A.n是字段, ...

  2. bootstrap timepicker 在angular中取值赋值 并转化为时间戳

    上一篇我们讲到angular对于timepicker的一个封装后的插件angular-bootstrap-timepicker,但是由于angular的版本必须是v1.2.30以上的.对于有些涉及到多 ...

  3. Spring 切入点配置

    有关各种拦截的切入点配置举例 (1)只对返回值为String的方法进行拦截 @Pointcut("execution (java.lang.String com.zzdr.spring.se ...

  4. Spring学习之旅(五)极速创建Spring AOP java工程项目

    编译工具:eclipse. 简单说一下,Spring  AOP是干嘛的? 假设你创建了一群类:类A,类B,类C,类D.... 现在你想为每个类都增加一个新功能,那么该怎么办呢?是不是想到了为每个类增加 ...

  5. DAY3(PYTHON)字符串切片

    字符串调整: capitalize()   #首字母大写 upper()        #全大写 lower()      #全小写 swapcase() #大小写翻转 字符串切片: 顾头不顾尾!!! ...

  6. win10 出现0x80072efd错误

    0x80072efd 0x80072efd 是网络问题,windows更新或windows应用商店出现0x80072efd问题,请检查本机代理,是否开着小飞机(Shadowsocks)之类的代理工具. ...

  7. C# 实体/集合差异比较,比较两个实体或集合值是否一样,将实体2的值动态赋值给实体1(名称一样的属性进行赋值)

    /// <summary> /// 实体差异比较器 /// </summary> /// <param name="source">源版本实体& ...

  8. 修正Percona Monitoring Plugins for Zabbix的一处脚本Bug

    今天小试了一把Percona Monitoring Plugins for Zabbix模板,自己辛辛苦苦写的那一大堆Python脚本,貌似用这个模板全都覆盖到了.但是,我也发现最新的版本percon ...

  9. IDLE提供的常用快捷键

    IDLE提供的常用快捷键 快捷键 说明 适用于 F1 打开Python帮助文档 Python文件窗口和shell窗口均可用 Alt+P 浏览历史命令(上一条) 仅Python Shell窗口可用 Al ...

  10. c/c++线性循环队列

    线性循环队列 队列是先进先出,和栈相反. 线性循环队列,牺牲一个空间,实现循环.比如空间大小为4,牺牲一个空间,所以最多放3个元素. 假设front指向0位置,tail指向3位置 1 2 3 空 出队 ...