linux管理文件系统指令
就一个基本的linux系统而言,其计算机硬盘只能有三个分区:一个交换分区(用于处理物理内存存不下的信息),一个包含引导转载程序的内核的启动分区,一个根文件系统分区,后两个常采用 ext3文件系统
与ext2文件系统相比,ext3文件系统增加了日志功能,意外关机时数据更安全并实现快速启动
fdisk命令:
fdisk -l 列出各个磁盘分区
fdisk -l /dev/sda 列出指定磁盘的分区
fdisk /dev/sda启动交互式对话操作磁盘
sfdisk命令:
sfdisk -d /dev/sda > sta-table 将分区表备份至文件
sfdisk /dev/sda < sda-table 从文件恢复分区表
sfdisk -d /dev/sda | sfdisk /dev/sdb 在两个磁盘之间复制分区表
parted命令
parted -l 列出磁盘分区
parted 以交互方式使用parted
e2label命令
e2label /dev/sda8 查看分区标签
e2label /dev/sda8 labelname 设置分区标签
根据标签查找分区
findfs LABEL=labelname
在硬盘分区上创建文件系统
mkfs -t ext3 /dev/sda1 在sda1上创建ext3文件系统
mkfs -t ext3 -v -c /dev/sda1 同上,提供的信息更详细
mkfs.ext3 -c /dev/sda1 同上
mkfs.ext3 -c -L labelname /dev/sda1 同上并添加分区标签
创建虚拟文件系统
dd if=/dev/zero of=mydisk count=204800 创建1GB的文件并用0填充
du -sh mydisk 检查虚拟文件系统的大小
mkfs -t ext3 mydisk 在mydisk上创建文件系统
mkdir /mnt/image 创建挂载点
mount -o loop mydisk /mnt/image 将mydisk挂载至/mnt/image
查看和更改文件系统属性
tune2fs -l /dev/sda1 查看可以调整的文件系统属性
dumpe2fs -h /dev/sda1
tune2fs -c num /dev/sda1 设置强制检查前文件系统可以挂载的次数
tune2fs -c -1 /dev/sda1 根据时间间隔而不是挂载次数强制检查文件系统
tune2fs -i 10/1d/3w/6m/0 /dev/sda1 10天后/1天后/3周后/半年后/禁用 时间检查
tune2fs -j /devsda1 通过添加日志功能,将ext2转成ext3
创建和使用交换分区
mkswap /dev/sda1 将sda1格式化成交换分区
mkswap -c /dev/sda1 同上并检查交换分区是否有坏块
如果没有空闲分区,可以杂虚拟文件系统中创建交换分区
dd if=/dev/zero of=/tmp/swapfile count=65536
chmod 600 /tmp/swapfile
mkswap /tmp/swapfile
swapon /dev/sda1 开启/dev/sda1分区的交换功能
swapon -v /dev/sda1 开启交换功能并输出详细信息
swapon -s 查看开启的全部交换文件个分区
swapon -v -p 1 /dev/sda1 设置优先级别
swapoff -v /dev/sda1
挂载和卸载文件系统
自fstab文件挂载文件系统
全新安装linux时,一般都会自动生成/etc/fstab文件,包含根文件系统和其他文件系统的相关信息
/etc/fstab各字段说明:
1:指代文件系统的设备名
2:文件系统挂载点
3:文件系统类型
4:mount命令选项
5:转储文件系统
6:文件系统检查
用mount命令挂载文件系统
mount 列出已挂载的远程和本机文件系统
mount -t ext3 列出已挂载的ext3文件系统
mount -t ext3 -l 列出已挂载的ext3文件系统和标签
mount /dev/sda1 /mnt/mymount 将/dev/sda1 挂载到/mnt/mymount
-v 选项可以输出详细信息
-t 选项可以制定待挂载的文件类型
-o 选项可以接一串都好连接的挂载选项
rw 读写
ro 只读
noatime 不要更新文件访问时间
noexec 不允许实行系统中的二进制文件
remount 修改已挂载文件系统的选项
loop 以回环的方式挂载文件系统
losetup -a 列出已挂载的回环设备
losetup -d /dev/loop1 强行卸载已挂载的回环设备
--bind 将已挂载的文件系统挂载到目录书的另外一个位置
--move 将已挂载的文件系统移动到另一个挂载点
若待挂载的分区已经列在了fstab文件中,则可以只列出待挂载设备或只列出挂载点
例如:fstab中记录了 /dev/sda1 /mnt/mymount ext3 defaults 1 2
则 mount -v /dev/sda1
mount -v /mnt/mymount
都可以实现将/dev/sda1 挂载到 /mnt/mymount
umount命令卸载文件系统
既可以使用设备名 又可以使用挂载点来卸载文件系统
有时候卸载的文件系统正处于忙碌状态,可以通过 lsof | grep labelname 查找当前文件系统中忙碌的文件
检查文件系统
badblocks -v /dev/sda1 从物理层扫描硬盘有无坏块(只读测试)
badblocks -vsn /dev/sda1(不具备破坏性的读写测试)
badblocks -vsw /dev/sda1 (具备破坏性的读写测试)
查看文件系统的使用情况
df命令提供已挂载文件系统的使用情况
df -h 以易读的形式显示各文件系统的空间使用情况
df -i 检查inode使用情况
df -l 只显示本机文件系统的磁盘使用情况
df -T 在输出列表中添加一列使用类型
du命令可以检查制定目录或文件的磁盘使用情况
du -h 以易读的方式显示
du -c 可以指定多个文件或目录
du -s 普通用户无法查看其他用户主目录的磁盘使用情况
du -sh --exclude=‘*.iso' /home/lyn 计量总量时不包括iso文件
du -h --max-depth=1 /home 统计/home和一层目录下的磁盘使用情况
du -h --max-depth=2 /home 统计/home和两层子目录的磁盘使用情况