一、复习上次内容
二、总结整理磁盘管理及文件系统管理中设计的各种命令的使用,并附注一定的示例;
1、mkfs命令使用
mkfs.type -t /dev/sda...
mkfs -t ext2 = mkfs.ext2
mkfs -t ext3 = mkfs.ext3
2、mke2fs命令:管理ext系列文件系统
mke2fs [OPTION]...DEVICE
-t:指定格式化格式{ext2|ext3|ext4}
-b BLOCK_SIZE:指定块大小,默认4096k,也可指定1024或2048
-j:等于mkfs.ext3
-L LABEL:指定分区卷标
-m #:指定预留给超级用户的块数百分比,以便后期管理
-i #:用于指定为多少字节的空间创建一个inode,默认为8192;这里给出的数值应该为块大小的2^n倍;
-N:指定inode个数
-F:强制创建文件系统
3、blkid命令:查看磁盘设备相关属性
blkid DEVICE
UUID:唯一识别ID
TYPE:分区
LABEL:卷标
<实例>:格式化分区/dev/sda5,要求格式为ext4,块大小为2048,卷标为DATA01
[[email protected] ~]# mke2fs -t ext4 -b 2048 -L DATA01 /dev/sda5
[[email protected] ~]# blkid /dev/sda5 /dev/sda5: LABEL="DATA01" UUID="4fa47b37-5e3c-4e42-a837-b559d8aaf3c1" TYPE="ext4"
4、e2lable命令:用于查看或定义卷标
[[email protected] ~]# blkid /dev/sda5 /dev/sda5: LABEL="DATA02" UUID="4fa47b37-5e3c-4e42-a837-b559d8aaf3c1" TYPE="ext4"
5、tune2fs命令:调整文件系统相关属性
-l:显示超级块中的信息;显示整个文件的属性及布局等相关信息
-j:不损害源数据,将ext2升级为ext3
-L LABEL:设定或修改卷标
-m # :调整预留百分比
-r:指定预留块数
-O:文件系统属性的启动或关闭
-o:文件系统默认挂载选项的启用或关闭
[[email protected] ~]# tune2fs -l /dev/sda5 tune2fs 1.41.12 (17-May-2010) Filesystem volume name: DATA02 Last mounted on: <not available> Filesystem UUID: 4fa47b37-5e3c-4e42-a837-b559d8aaf3c1 Filesystem magic number: 0xEF53 Filesystem revision #: 1 (dynamic) Filesystem features: has_journal ext_attr resize_inode dir_index filetype extent flex_bg sparse_super huge_file uninit_bg dir_nlink extra_isize Filesystem flags: signed_directory_hash Default mount options: (none) Filesystem state: clean Errors behavior: Continue Filesystem OS type: Linux Inode count: 328440 Block count: 2626610 Reserved block count: 131330 Free blocks: 2546779 Free inodes: 328429 First block: 0 Block size: 2048 Fragment size: 2048 Reserved GDT blocks: 512 Blocks per group: 16384 Fragments per group: 16384 Inodes per group: 2040 Inode blocks per group: 255 Flex block group size: 16 Filesystem created: Mon Sep 7 20:45:30 2015 Last mount time: n/a Last write time: Mon Sep 7 20:59:08 2015 Mount count: 0 Maximum mount count: 34 Last checked: Mon Sep 7 20:45:30 2015 Check interval: 15552000 (6 months) Next check after: Sat Mar 5 20:45:30 2016 Lifetime writes: 146 MB Reserved blocks uid: 0 (user root) Reserved blocks gid: 0 (group root) First inode: 11 Inode size: 256 Required extra isize: 28 Desired extra isize: 28 Journal inode: 8 Default directory hash: half_md4 Directory Hash Seed: 4c2e4df0-2183-4e87-8c94-4881c235cae5 Journal backup: inode blocks [[email protected] ~]# tune2fs -r 130000 /dev/sda5 tune2fs 1.41.12 (17-May-2010) Setting reserved blocks count to 130000
6、dumpe2fs命令:显示文件属性信息
-h :只显示超级块中的信息
[[email protected] ~]# dumpe2fs -h /dev/sda5 dumpe2fs 1.41.12 (17-May-2010) Filesystem volume name: DATA02 Last mounted on: <not available> Filesystem UUID: 4fa47b37-5e3c-4e42-a837-b559d8aaf3c1 Filesystem magic number: 0xEF53 Filesystem revision #: 1 (dynamic) Filesystem features: has_journal ext_attr resize_inode dir_index filetype extent flex_bg sparse_super huge_file uninit_bg dir_nlink extra_isize Filesystem flags: signed_directory_hash Default mount options: (none) Filesystem state: clean Errors behavior: Continue Filesystem OS type: Linux Inode count: 328440 Block count: 2626610 Reserved block count: 130000 Free blocks: 2546779 Free inodes: 328429 First block: 0 Block size: 2048 Fragment size: 2048 Reserved GDT blocks: 512 Blocks per group: 16384 Fragments per group: 16384 Inodes per group: 2040 Inode blocks per group: 255 Flex block group size: 16 Filesystem created: Mon Sep 7 20:45:30 2015 Last mount time: n/a Last write time: Mon Sep 7 21:12:55 2015 Mount count: 0 Maximum mount count: 34 Last checked: Mon Sep 7 20:45:30 2015 Check interval: 15552000 (6 months) Next check after: Sat Mar 5 20:45:30 2016 Lifetime writes: 146 MB Reserved blocks uid: 0 (user root) Reserved blocks gid: 0 (group root) First inode: 11 Inode size: 256 Required extra isize: 28 Desired extra isize: 28 Journal inode: 8 Default directory hash: half_md4 Directory Hash Seed: 4c2e4df0-2183-4e87-8c94-4881c235cae5 Journal backup: inode blocks Journal features: (none) Journal size: 64M Journal length: 32768 Journal sequence: 0x00000001 Journal start: 0
7、fsck命令:检查并修复linux文件系统
-t:指定文件系统类型
-a:自动修复
-r:交互式修复
-f:强制修复
[[email protected] ~]# fsck -a /dev/sda5 fsck from util-linux-ng 2.17.2 DATA02: clean, 11/328440 files, 79831/2626610 blocks
8、e2fsck命令:专用于ext系列文件系统修复工具
-f:强制修复
-p:自动修复
[[email protected] ~]# e2fsck -f /dev/sda5 e2fsck 1.41.12 (17-May-2010) Pass 1: Checking inodes, blocks, and sizes Pass 2: Checking directory structure Pass 3: Checking directory connectivity Pass 4: Checking reference counts Pass 5: Checking group summary information DATA02: 11/328440 files (0.0% non-contiguous), 79831/2626610 blocks
9、mount命令:挂载文件系统
mount:通过读取/etc/mtab文件来显示当前系统所有已经挂载的设备
mount命令格式:
mount [options] [-o options] 设备 挂载点
设备:
(1) 设备文件:/dev/sda...
(2) 卷标:LABEL="xxx"
(3) UUID: UUID="xxx"
(4) 伪文件系统名称
挂载点:目录
(1) 此目录没有被其他进程使用
(2) 此目录得事先存在
(3) 目录中的原有文件将会暂时隐藏
常规options:
-a:表示挂载/etc/fstab中文件中定义的所有文件系统
-t:指定挂载的文件系统类型,不使用此选项,mount会调用blkid命令查看其文件系统类型
-r:以"只读"方式挂载文件系统(光盘)
-w:以"读写"方式挂载此文件系统
-n:默认mount命令挂载的设备,都会将信息写入/etc/mtab 文件中,加上-n选项,挂载时则不写入此文件
,此时想查看挂载的所有文件系统,使用cat /proc/mounts
-B:绑定目录到另一个目录上
-o挂载选项:
async:异步模式
sync: 同步模式
atime/noatime:是否更新访问时间戳;
diratime/nodiratime:是否更新目录的访问时间戳;
auto/noauto: 是否允许此设备被自动挂载;
exec/noexec:是否允许执行此文件系统上应用程序;
dev/nodev:是否支持在此设备上使用设备文件;
suid/nosuid:
remount:重新挂载
ro
rw
user/nouser: 是否允许普通挂载此设备;
acl:是否支持此设备上使用facl;
defaults:rw, suid, dev, exec, auto, nouser, and async
[[email protected] ~]# mkdir data [[email protected] ~]# mount /dev/sda5 /root/data/ [[email protected] ~]# mount /dev/mapper/luks-f301c527-9123-46cf-b67a-4cb8d4208bb7 on / type ext4 (rw) proc on /proc type proc (rw) sysfs on /sys type sysfs (rw) devpts on /dev/pts type devpts (rw,gid=5,mode=620) tmpfs on /dev/shm type tmpfs (rw) /dev/sda1 on /boot type ext4 (rw) /dev/mapper/vg_cwcedu-LogVol01 on /usr type ext4 (rw) /dev/mapper/vg_cwcedu-LogVol02 on /var type ext4 (rw) none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw) vmware-vmblock on /var/run/vmblock-fuse type fuse.vmware-vmblock (rw,nosuid,nodev,default_permissions,allow_other) /dev/sda5 on /root/data type ext4 (rw)
10、umount命令:卸载
umount DEVICE
umount 挂载点
注意:卸载时挂载的设备需要没有进程使用
查看正在访问指定挂载点的进程
fuser -v mount_point
终止所有正在访问指定挂载点的进程
fuser -km mount_point
11、交换分区swap
(1)Linux内存分配机制中,优先使用物理内存
(2)默认X86架构32位系统,系统初始会创建4G的虚拟地址空间(线性地址),部分给内核使用(1G),进程会默认以为自己有3G内存给自己使用
(3)需要将一部分硬盘空间转换成映射到内存窗口的交换空间,如果有些进程目前状态闲置,就可以放进硬盘的交换空间,释放部分内存空间
12、内存管理相关命令free、mkswap、swapon、swapoff使用
(1)free命令:查看memory和swap的使用状态
-m:以MB为单位
-G:以GB为单位
[[email protected] ~]# free -m total used free shared buffers cached Mem: 988 256 732 1 20 99 -/+ buffers/cache: 135 852 Swap: 2047 0 2047
total:物理内存总大小
Used:总计内存使用量,包含(buffers 和cache),但其中可能部分缓存并未实际使用
free:未分配的内存
Shared:共享内存,一般系统用不到,为0
Buffers:缓冲区
Cached:缓存
实际可用内存大小:
free(-/+ buffers/cache)=free(mem)+ buffers(mem)+ cache(mem)
852=732+20+99
已经分配的内存大小:
used(mem)= Used(-/+ buffers/cache)+ buffers(Mem) + Cached(Mem)
256=135+20+99
物理内存总大小:
total(Mem) = used(-/+ buffers/cache) + free(-/+ buffers/cache)
988=135+852
(2)mkswap:创建交换分区
[[email protected] ~]# mkswap /dev/sda6 Setting up swapspace version 1, size = 1060252 KiB no label, UUID=176ebe58-b904-4d62-ae4c-de0aff9b5817
(3)swapon:启用交换分区
swapon -a :激活所有交换分区
swapon -s :查看当前swap空间(相当于cat /proc/swaps)
swapon -p PRIORITY :设定优先级
[[email protected] ~]# swapon -a /dev/sda6 [[email protected] ~]# swapon -s Filename Type Size Used Priority /dev/dm-0 partition 2097148 0 -1 /dev/sda6 partition 1060252 0 -2 [[email protected] ~]# free -m total used free shared buffers cached Mem: 988 260 728 1 21 102 -/+ buffers/cache: 136 851 Swap: 3083 0 3083
13、查看磁盘分区及文件系统占用情况命令df、du
(1)df命令:查看分区占用情况
-h: human-readable
-i: inode数量
-P: 以Posix兼容的格式输出
[[email protected] ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/dm-2 38G 533M 35G 2% / tmpfs 495M 72K 495M 1% /dev/shm /dev/sda1 190M 28M 153M 16% /boot /dev/mapper/vg_cwcedu-LogVol01 9.8G 3.1G 6.2G 34% /usr /dev/mapper/vg_cwcedu-LogVol02 9.8G 189M 9.1G 2% /var
(2)du命令:查看文件或目录占用磁盘空间大小
[[email protected] ~]# du -sh /etc/ 40M /etc/