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 //不保存退出
- 划分分区(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
- # 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文件系统管理命令 常用命令 1.df命令 查看分区使用情况 常用选项 -h 比较人性化 -m 以兆字节显示分区使用情况 显示信息: Mounted on:挂载点 Filesystem:对应的 ...
- Linux文件系统管理 常见命令df、du、fsck、dumpe2fs
概述 Linux文件系统管理 常见命令df.du.fsck.dumpe2fs. 文件系统查看命令:df 通过 df 命令可以査看已经挂载的文件系统的信息包括设备文件名.文件系统总大小.已经使用的大小. ...
- linux 文件系统管理三部曲之三:挂载文件系统
linux 文件系统管理三部曲之一:磁盘分区 linux 文件系统管理三部曲之二:创建文件系统 上面说明了,硬盘的划分和格式化,那么怎么使用,还没说,这里说一下,怎么使用创建好的文件系统. 使用文件系 ...
- Linux系列教程(十八)——Linux文件系统管理之文件系统常用命令
通过前面两篇博客,我们介绍了Linux系统的权限管理.Linux权限管理之ACL权限 介绍了通过设定 ACL 权限,我们为某个用户指定某个文件的特定权限,这在Linux只能对于一个文件只能有所有者权限 ...
- Linux文件系统管理
第九讲 文件系统管理 基础知识点: 硬盘的构成:主要由盘片.机械手臂.磁头与主轴马达所组成,实际的数据都是写在具有磁性物质上的盘片,通过主轴马达让盘片转动,机械手臂可伸展让磁头在盘片上读取数据 ...
- linux 文件系统管理三部曲之二:创建文件系统
创建文件系统的含义:就是格式化一个硬盘分区,不同的格式化方式,就是创建了不同的文件系统. 格式化: 低级格式化:划分分区前执行,主要是划分硬盘的磁道等. 高级格式化:划分分区后执行,创建文件系统 创建 ...
- 『学了就忘』Linux文件系统管理 — 57、Linux文件系统介绍
目录 1.了解硬盘结构(了解即可) (1)硬盘的逻辑结构 (2)硬盘接口 2.Linux文件系统介绍 (1)Linux文件系统的特性 (2)Linux常见文件系统 3.整理一下对文件系统的认识 在了解 ...
- Linux系列教程(十九)——Linux文件系统管理之手工分区
上篇博客我们首先介绍了硬盘为什么要分区,以及Linux系统的几种分区类型,然后介绍了Linux系统几个常用的文件系统命令,最后讲解了挂载命令,并通过实例演示了如何挂载光盘和U盘. 本篇博客我们将介绍l ...
- linux文件系统管理的工作原理
一.系统在初始化时如何识别硬盘 1.系统初始时根据MBR的信息来识别硬盘,其中包括了一些执行文件就来载入系统,这些执行文件就是MBR里前面446bytes里的boot loader 程式,而后面的16 ...
随机推荐
- C#如何通过属性名称反射出属性本身
A a = new A(); Type t = typeof(A); var v1 = t.GetField("n").GetValue(a);//获取字段值,你的类A.n是字段, ...
- bootstrap timepicker 在angular中取值赋值 并转化为时间戳
上一篇我们讲到angular对于timepicker的一个封装后的插件angular-bootstrap-timepicker,但是由于angular的版本必须是v1.2.30以上的.对于有些涉及到多 ...
- Spring 切入点配置
有关各种拦截的切入点配置举例 (1)只对返回值为String的方法进行拦截 @Pointcut("execution (java.lang.String com.zzdr.spring.se ...
- Spring学习之旅(五)极速创建Spring AOP java工程项目
编译工具:eclipse. 简单说一下,Spring AOP是干嘛的? 假设你创建了一群类:类A,类B,类C,类D.... 现在你想为每个类都增加一个新功能,那么该怎么办呢?是不是想到了为每个类增加 ...
- DAY3(PYTHON)字符串切片
字符串调整: capitalize() #首字母大写 upper() #全大写 lower() #全小写 swapcase() #大小写翻转 字符串切片: 顾头不顾尾!!! ...
- win10 出现0x80072efd错误
0x80072efd 0x80072efd 是网络问题,windows更新或windows应用商店出现0x80072efd问题,请检查本机代理,是否开着小飞机(Shadowsocks)之类的代理工具. ...
- C# 实体/集合差异比较,比较两个实体或集合值是否一样,将实体2的值动态赋值给实体1(名称一样的属性进行赋值)
/// <summary> /// 实体差异比较器 /// </summary> /// <param name="source">源版本实体& ...
- 修正Percona Monitoring Plugins for Zabbix的一处脚本Bug
今天小试了一把Percona Monitoring Plugins for Zabbix模板,自己辛辛苦苦写的那一大堆Python脚本,貌似用这个模板全都覆盖到了.但是,我也发现最新的版本percon ...
- IDLE提供的常用快捷键
IDLE提供的常用快捷键 快捷键 说明 适用于 F1 打开Python帮助文档 Python文件窗口和shell窗口均可用 Alt+P 浏览历史命令(上一条) 仅Python Shell窗口可用 Al ...
- c/c++线性循环队列
线性循环队列 队列是先进先出,和栈相反. 线性循环队列,牺牲一个空间,实现循环.比如空间大小为4,牺牲一个空间,所以最多放3个元素. 假设front指向0位置,tail指向3位置 1 2 3 空 出队 ...