mount命令:用于挂载文件系统node
格式:“mount 文件系统 挂载目录”。linux
参数:web
-V:显示程序版本; -l:显示已加载的文件系统列表; -h:显示帮助信息并退出; -v:冗长模式,输出指令执行的详细信息; -n:加载没有写入文件“/etc/mtab”中的文件系统; -r:将文件系统加载为只读模式; -a:加载文件“/etc/fstab”中描述的全部文件系统。
例子:shell
# 挂载cdrom [root@xxx ~]# mount -t auto /dev/cdrom /mnt/cdrom
umount命令:用于撤销已经挂载的设备文件vim
格式:“umount [挂载点/设备文件]”。安全
例子:oracle
# 撤销挂载 [root@linuxprobe ~]# umount /dev/sdb2
fsck命令:用于检查而且试图修复文件系统中的错误。当文件系统发生错误四化,可用fsck指令尝试加以修复。app
格式:ide
fsck [-lrsAVRTMNP] [-C [fd]] [-t fstype] [filesystem...] [--] [fs-spe‐ cific-options]
参数:函数
-a:自动修复文件系统,不询问任何问题; -A:依照/etc/fstab配置文件的内容,检查文件内所列的所有文件系统; -N:不执行指令,仅列出实际执行会进行的动做; -P:当搭配"-A"参数使用时,则会同时检查全部的文件系统; -r:采用互动模式,在执行修复时询问问题,让用户得以确认并决定处理方式; -R:当搭配"-A"参数使用时,则会略过/目录的文件系统不予检查; -s:依序执行检查做业,而非同时执行; -t<文件系统类型>:指定要检查的文件系统类型; -T:执行fsck指令时,不显示标题信息; -V:显示指令执行过程。
例子:
# 不肯定哪里出错,直接使用fsck [root@xxx ~]# fsck fsck from util-linux 2.23.2 # 若是硬盘告诉是sda出错,则输入以下命令 [root@xxx ~]# fsck -y /dev/sda fsck from util-linux 2.23.2 e2fsck 1.42.9 (28-Dec-2013) /dev/sda is in use. e2fsck: Cannot continue, aborting.
dd命令:用于复制文件并对原文件的内容进行转换和格式化处理。dd命令功能很强大的,对于一些比较底层的问题,使用dd命令每每能够获得出人意料的效果。用的比较多的仍是用dd来备份裸设备。可是不推荐,若是须要备份oracle裸设备,可使用rman备份,或使用第三方软件备份,使用dd的话,管理起来不太方便。
格式:
dd [OPERAND]... dd OPTION
参数:
bs=<字节数>:将ibs(输入)与欧巴桑(输出)设成指定的字节数; cbs=<字节数>:转换时,每次只转换指定的字节数; conv=<关键字>:指定文件转换的方式; count=<区块数>:仅读取指定的区块数; ibs=<字节数>:每次读取的字节数; obs=<字节数>:每次输出的字节数; of=<文件>:输出到文件; seek=<区块数>:一开始输出时,跳过指定的区块数; skip=<区块数>:一开始读取时,跳过指定的区块数; --help:帮助; --version:显示版本信息。
例子:
[root@localhost text]# dd if=/dev/zero of=sun.txt bs=1M count=1 1+0 records in 1+0 records out 1048576 bytes (1.0 MB) copied, 0.006107 seconds, 172 MB/s [root@localhost text]# du -sh sun.txt 1.1M sun.txt
该命令建立了一个1M大小的文件sun.txt,其中参数解释:
if 表明输入文件。若是不指定if,默认就会从stdin中读取输入。 of 表明输出文件。若是不指定of,默认就会将stdout做为默认输出。 bs 表明字节为单位的块大小。 count 表明被复制的块数。 /dev/zero 是一个字符设备,会不断返回0值字节(\0)。 块大小可使用的计量单位表 单元大小 代码 字节(1B) c 字节(2B) w 块(512B) b 千字节(1024B) k 兆字节(1024KB) M 吉字节(1024MB) G
dumpe2fs命令:用于打印“ext2/ext3”文件系统的超级块和快组信息。
参数:
-b:打印文件系统中预留的块信息; -ob<超级块>:指定检查文件系统时使用的超级块; -OB<块大小>:检查文件系统时使用的指定的块大小; -h:仅显示超级块信息; -i:从指定的文件系统映像文件中读取文件系统信息; -x:以16进制格式打印信息块成员。
例子:
[root@xxx ~]# dumpe2fs /dev/hda1
dump命令:用于备份ext2或者ext3文件系统。可将目录或整个文件系统备份至指定的设备,或备份成一个大文件。
参数:
-0123456789:备份的层级; -b<区块大小>:指定区块的大小,单位为KB; -B<区块数目>:指定备份卷册的区块数目; -c:修改备份磁带预设的密度与容量; -d<密度>:设置磁带的密度。单位为BPI; -f<设备名称>:指定备份设备; -h<层级>:当备份层级等于或大于指定的层级时,将不备份用户标示为“nodump”的文件; -n:当备份工做须要管理员介入时,向全部“operator”群组中的使用者发出通知; -s<磁带长度>:备份磁带的长度,单位为英尺; -T<日期>:指定备份的时间与日期; -u:备份完毕后,在/etc/dumpdates中记录备份的文件系统、层级、日期与时间等; -w:与-W相似,但仅显示须要备份的文件; -W:显示须要备份的文件及其最后一次备份的层级、时间与日期。
例子:
将/home
目录全部内容备份到/tmp/homeback.bak
文件中,备份层级为0
并在/etc/dumpdates
中记录相关信息:
dump -0u -f /tmp/homeback.bak /home
将/home
目录全部内容备份到/tmp/homeback.bak
文件中,备份层级为1
(只备份上次使用层次0
备份后发生过改变的数据)并在/etc/dumpdates
中记录相关信息:
dump -1u -f /tmp/homeback.bak /home
经过dump命令的备份层级,可实现完整+增量备份、完整+差别备份,在配合crontab能够实现无人值守备份。
fdisk命令:用于管理磁盘分区,格式为“fdisk [磁盘名称]”,它提供了集添加、删除、转换分区等功能于一身的“一站式分区服务”。
格式:
fdisk [-uc] [-b sectorsize] [-C cyls] [-H heads] [-S sects] device fdisk -l [-u] [device...] fdisk -s partition... fdisk -v fdisk -h
参数:
-b<分区大小>:指定每一个分区的大小; -l:列出指定的外围设备的分区表情况; -s<分区编号>:将指定的分区大小输出到标准输出上,单位为区块; -u:搭配"-l"参数列表,会用分区数目取代柱面数目,来表示每一个分区的起始地址; -v:显示版本信息。
例子:
首先选择要进行操做的磁盘:
[root@localhost ~]# fdisk /dev/sdb
输入m
列出能够执行的命令:
command (m for help): m Command action a toggle a bootable flag b edit bsd disklabel c toggle the dos compatibility flag d delete a partition l list known partition types m print this menu n add a new partition o create a new empty DOS partition table p print the partition table q quit without saving changes s create a new empty Sun disklabel t change a partition's system id u change display/entry units v verify the partition table w write table to disk and exit x extra functionality (experts only)
输入p
列出磁盘目前的分区状况:
Command (m for help): p Disk /dev/sdb: 3221 MB, 3221225472 bytes 255 heads, 63 sectors/track, 391 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sdb1 1 1 8001 8e Linux LVM /dev/sdb2 2 26 200812+ 83 Linux
输入d
而后选择分区,删除现有分区:
Command (m for help): d Partition number (1-4): 1 Command (m for help): d Selected partition 2
查看分区状况,确认分区已经删除:
Command (m for help): print Disk /dev/sdb: 3221 MB, 3221225472 bytes 255 heads, 63 sectors/track, 391 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System Command (m for help):
输入n
创建新的磁盘分区,首先创建两个主磁盘分区:
Command (m for help): n Command action e extended p primary partition (1-4) p //创建主分区 Partition number (1-4): 1 //分区号 First cylinder (1-391, default 1): //分区起始位置 Using default value 1 last cylinder or +size or +sizeM or +sizeK (1-391, default 391): 100 //分区结束位置,单位为扇区 Command (m for help): n //再创建一个分区 Command action e extended p primary partition (1-4) p Partition number (1-4): 2 //分区号为2 First cylinder (101-391, default 101): Using default value 101 Last cylinder or +size or +sizeM or +sizeK (101-391, default 391): +200M //分区结束位置,单位为M
确认分区创建成功:
Command (m for help): p Disk /dev/sdb: 3221 MB, 3221225472 bytes 255 heads, 63 sectors/track, 391 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sdb1 1 100 803218+ 83 Linux /dev/sdb2 101 125 200812+ 83 Linux
再创建一个逻辑分区:
Command (m for help): n Command action e extended p primary partition (1-4) e //选择扩展分区 Partition number (1-4): 3 First cylinder (126-391, default 126): Using default value 126 Last cylinder or +size or +sizeM or +sizeK (126-391, default 391): Using default value 391
确认扩展分区创建成功:
Command (m for help): p Disk /dev/sdb: 3221 MB, 3221225472 bytes 255 heads, 63 sectors/track, 391 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sdb1 1 100 803218+ 83 Linux /dev/sdb2 101 125 200812+ 83 Linux /dev/sdb3 126 391 2136645 5 Extended
在扩展分区上创建两个逻辑分区:
Command (m for help): n Command action l logical (5 or over) p primary partition (1-4) l //选择逻辑分区 First cylinder (126-391, default 126): Using default value 126 Last cylinder or +size or +sizeM or +sizeK (126-391, default 391): +400M Command (m for help): n Command action l logical (5 or over) p primary partition (1-4) l First cylinder (176-391, default 176): Using default value 176 Last cylinder or +size or +sizeM or +sizeK (176-391, default 391): Using default value 391
确认逻辑分区创建成功:
Command (m for help): p Disk /dev/sdb: 3221 MB, 3221225472 bytes 255 heads, 63 sectors/track, 391 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sdb1 1 100 803218+ 83 Linux /dev/sdb2 101 125 200812+ 83 Linux /dev/sdb3 126 391 2136645 5 Extended /dev/sdb5 126 175 401593+ 83 Linux /dev/sdb6 176 391 1734988+ 83 Linux Command (m for help):
从上面的结果咱们能够看到,在硬盘sdb咱们创建了2个主分区(sdb1,sdb2),1个扩展分区(sdb3),2个逻辑分区(sdb5,sdb6)
注意:主分区和扩展分区的磁盘号位1-4,也就是说最多有4个主分区或者扩展分区,逻辑分区开始的磁盘号为5,所以在这个实验中试没有sdb4的。
最后对分区操做进行保存:
Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks.
创建好分区以后咱们还须要对分区进行格式化才能在系统中使用磁盘。
在sdb1上创建ext2分区:
[root@localhost ~]# mkfs.ext2 /dev/sdb1 mke2fs 1.39 (29-May-2006) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) 100576 inodes, 200804 blocks 10040 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=209715200 7 block groups 32768 blocks per group, 32768 fragments per group 14368 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840 Writing inode tables: done Writing superblocks and filesystem accounting information: done This filesystem will be automatically checked every 32 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override.
在sdb6上创建ext3分区:
[root@localhost ~]# mkfs.ext3 /dev/sdb6 mke2fs 1.39 (29-May-2006) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) 217280 inodes, 433747 blocks 21687 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=444596224 14 block groups 32768 blocks per group, 32768 fragments per group 15520 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912 Writing inode tables: done Creating journal (8192 blocks): done Writing superblocks and filesystem accounting information: done This filesystem will be automatically checked every 32 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override. [root@localhost ~]#
创建两个目录/oracle
和/web
,将新建好的两个分区挂载到系统:
[root@localhost ~]# mkdir /oracle [root@localhost ~]# mkdir /web [root@localhost ~]# mount /dev/sdb1 /oracle [root@localhost ~]# mount /dev/sdb6 /web
查看分区挂载状况:
[root@localhost ~]# df -h 文件系统 容量 已用 可用 已用% 挂载点 /dev/mapper/VolGroup00-LogVol00 6.7G 2.8G 3.6G 44% / /dev/sda1 99M 12M 82M 13% /boot tmpfs 125M 0 125M 0% /dev/shm /dev/sdb1 773M 808K 733M 1% /oracle /dev/sdb6 1.7G 35M 1.6G 3% /web
若是须要每次开机自动挂载则须要修改/etc/fstab
文件,加入两行配置:
[root@localhost ~]# vim /etc/fstab /dev/VolGroup00/LogVol00 / ext3 defaults 1 1 LABEL=/boot /boot ext3 defaults 1 2 tmpfs /dev/shm tmpfs defaults 0 0 devpts /dev/pts devpts gid=5,mode=620 0 0 sysfs /sys sysfs defaults 0 0 proc /proc proc defaults 0 0 /dev/VolGroup00/LogVol01 swap swap defaults 0 0 /dev/sdb1 /oracle ext2 defaults 0 0 /dev/sdb6 /web ext3 defaults 0 0
parted命令:是由GNU组织开发的一款功能强大的磁盘分区和分区大小调整工具,与fdisk不一样,它支持调整分区的大小。做为一种设计用于Linux的工具,它没有构建成处理与fdisk关联的多种分区类型,可是,它能够处理最多见的分区格式,包括:ext二、ext三、fat1六、fat3二、NTFS、ReiserFS、JFS、XFS、UFS、HFS以及Linux交换分区。
格式:
parted [options] [device [command [options...]...]]
参数
-h:显示帮助信息; -i:交互式模式; -s:脚本模式,不提示用户; -v:显示版本号。
例子:
[root@localhost ~]# fdisk -l Disk /dev/sda: 35.8 GB, 35862976512 bytes 255 heads, 63 sectors/track, 4360 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks id System /dev/sda1 * 1 13 104391 83 Linux /dev/sda2 14 144 1052257+ 82 Linux swap /dev/sda3 145 4360 33865020 83 Linux Disk /dev/sdb: 2147 MB, 2147483648 bytes 255 heads, 63 sectors/track, 261 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Disk /dev/sdb doesn't contain a valid partition table [root@localhost ~]# parted /dev/sdb GNU Parted Copyright (C) 1998 - 2004 free Software Foundation, Inc. This program is free software, covered by the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 使用/dev/sdb (parted)mklabel gpt #设置标签 (parted)print #打印信息 /dev/sdb的磁盘几何结构:0.000-2048.000兆字节 磁盘标签类型:gpt Minor 起始点 终止点 文件系统 名称 标志 (parted)mkpart primary 0 2048 <-----上面print显示的数字 (parted)print /dev/sdb的磁盘几何结构:0.000-2048.000兆字节 磁盘标签类型:gpt Minor 起始点 终止点 文件系统 名称 标志 1 0.017 2047.983 (parted)quit
若是必要,不要忘记更新/etc/fstab
。
[root@localhost ~]# fdisk -l Disk /dev/sda: 35.8 GB, 35862976512 bytes 255 heads, 63 sectors/track, 4360 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sda1 * 1 13 104391 83 Linux /dev/sda2 14 144 1052257+ 82 Linux swap /dev/sda3 145 4360 33865020 83 Linux WARNING: GPT (GUID Partition Table) detected on '/dev/sdb'! The util fdisk doesn't support GPT. Use GNU Parted. Disk /dev/sdb: 2147 MB, 2147483648 bytes 255 heads, 63 sectors/track, 261 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sdb1 1 262 2097151+ ee EFI GPT Partition 1 has different physical/logical beginnings (non-Linux?): phys=(0, 0, 1) logical=(0,0, 2) Partition 1 has different physical/logical endings: phys=(1023, 254, 63) logical=(261, 21, 16)
[root@localhost ~]# mkfs.ext3 /dev/sdb1 mke2fs 1.35 (28-Feb-2004) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) 262144 inodes, 524279 blocks 26213 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=536870912 16 block groups 32768 blocks per group, 32768 fragments per group 16384 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912 Writing inode tables: done Creating journal (8192 blocks): done Writing superblocks and filesystem accounting information: done This filesystem will be automatically checked every 28 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override. [root@localhost ~]# mount /dev/sdb1 /mnt
# 查看挂载文件 [root@localhost ~]# df -h Filesystem 容量 已用 可用 已用% 挂载点 /dev/sda3 <?xml:namespace prefix = st1 />32G 2.6G 28G 9% / /dev/sda1 99M 12M 82M 13% /boot none 252M 0 252M 0% /dev/shm /dev/sdb1 2.0G 36M 1.9G 2% /mnt
mkfs命令:用于在设备上(一般为硬盘)建立Linux文件系统。mkfs自己并不执行创建文件系统的工做,而是去调用相关的程序来执行。
参数:
fs:指定创建文件系统时的参数; -t<文件系统类型>:指定要创建何种文件系统; -v:显示版本信息与详细的使用方法; -V:显示简要的使用方法; -c:在制作档案系统前,检查该partition是否有坏轨。
例子:
在/dev/hda5
上建一个msdos的档案系统,同时检查是否有坏轨存在,而且将过程详细列出来:
mkfs -V -t msdos -c /dev/hda5 mkfs -t ext3 /dev/sda6 //将sda6分区格式化为ext3格式 mkfs -t ext2 /dev/sda7 //将sda7分区格式化为ext2格式
partprobe命令:重读分区表,当出现删除文件后,出现仍然占用空间。能够partprobe在不重启的状况下重读分区。
格式: partprobe [-d] [-s] [devices...]
参数:
-d:不更新内核; -s:显示摘要和分区; -h:显示帮助信息; -v:显示版本信息。
例子:
使用partprobe不重启系统添加新的磁盘分区,主机自带硬盘超过300GB,目前只划分使用了3个主分区,不到70GB,以下:
[root@localhost ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/sda1 29G 3.7G 24G 14% / /dev/sda2 29G 22G 5.2G 81% /oracle tmpfs 2.0G 0 2.0G 0% /dev/shm [root@localhost ~]# cat /proc/partitions major minor #blocks name 8 0 311427072 sda 8 1 30716248 sda1 8 2 30716280 sda2 8 3 8193150 sda3 8 16 976896 sdb 8 32 976896 sdc …省略其余
如今须要给系统添加1个100GB的空间存放数据文件,而又不影响现有系统上业务的运行,使用fdisk结合partprobe命令不重启系统添加一块新的磁盘分区。操做步骤以下:
第1步 添加新的磁盘分区:
[root@localhost ~]# fdisk /dev/sda The number of cylinders for this disk is set to 38770. There is nothing wrong with that, but this is larger than 1024, and could in certain setups cause problems with: 1) software that runs at boot time (e.g., old versions of lilo) 2) booting and partitioning software from other OSs (e.g., DOS FDISK, OS/2 FDISK) command (m for help): p Disk /dev/sda: 318.9 GB, 318901321728 bytes 255 heads, 63 sectors/track, 38770 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks id System /dev/sda1 * 1 3824 30716248+ 83 Linux /dev/sda2 3825 7648 30716280 83 Linux /dev/sda3 7649 8668 8193150 82 Linux swap / Solaris Command (m for help): n Command action e extended p primary partition (1-4) p Selected partition 4 First cylinder (8669-38770, default 8669): Using default value 8669 last cylinder or +size or +sizeM or +sizeK (8669-38770, default 38770): +100G Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. WARNING: Re-reading the partition table failed with error 16: Device or resource busy. The kernel still uses the old table. The new table will be used at the next reboot. Syncing disks.
第2步 使用工具partprobe让kernel读取分区信息:
[root@localhost ~]# partprobe
使用fdisk工具只是将分区信息写到磁盘,若是须要mkfs磁盘分区则须要重启系统,而使用partprobe则可使kernel从新读取分区信息,从而避免重启系统。
第3步 格式化文件系统:
[root@localhost ~]# mkfs.ext3 /dev/sda4 mke2fs 1.39 (29-May-2006) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) 12222464 inodes, 24416791 blocks 1220839 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=4294967296 746 block groups 32768 blocks per group, 32768 fragments per group 16384 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000, 7962624, 11239424, 20480000, 23887872 Writing inode tables: done Creating journal (32768 blocks): done Writing superblocks and filesystem accounting information: done This filesystem will be automatically checked every 26 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override. [root@localhost ~]#
第4步 mount新的分区/dev/sda4:
[root@localhost ~]# e2label /dev/sda4 /data [root@localhost ~]# mkdir /data [root@localhost ~]# mount /dev/sda4 /data [root@localhost ~]# df Filesystem 1K-blocks Used Available Use% Mounted on /dev/sda1 29753556 3810844 24406900 14% / /dev/sda2 29753588 11304616 16913160 41% /oracle tmpfs 2023936 0 2023936 0% /dev/shm /dev/sda4 96132968 192312 91057300 1% /data
使用partprobe能够不用重启系统便可配合fdisk工具建立新的分区。
e2fsck命令:用于检查第二扩展文件系统的完整性,经过适当的选项能够尝试修复出现的错误。
参数:
-a:不询问使用者意见,便自动修复文件系统; -b<superblock>:指定superblock,而不使用预设的superblock; -B<区块大小>:指定区块的大小,单位为字节; -c:一并执行badblocks,以标示损坏的区块; -C:将检查过程的信息完整记录在file descriptor中,使得整个检查过程都能完整监控; -d:显示排错信息; -f:即便文件系统没有错误迹象,仍强制地检查正确性; -F:执行前先清除设备的缓冲区; -l<文件>:将文件中指定的区块加到损坏区块列表; -L<文件>:先清除损坏区块列表,再将文件中指定的区块加到损坏区块列表。所以损坏区块列表的区块跟文件中指定的区块是同样的; -n:以只读模式开启文件系统,并采起非互动方式执行,全部的问题对话均设置以"no"回答; -p:不询问使用者意见,便自动修复文件系统; -r:此参数只为了兼容性而存在,并没有实际做用; -s:若是文件系统的字节顺序不适当,就交换字节顺序,不然不作任何动做; -S:无论文件系统的字节顺序,一概交换字节顺序; -t:显示时间信息; -v:执行时显示详细的信息; -V:显示版本信息; -y:采起非互动方式执行,全部的问题均设置以"yes"回答。
e2fsck执行后的传回值及表明意义以下:
例子:
检查/dev/sda1
是否有问题,如发现问题便自动修复:
e2fsck -a -y /dev/sda1
执行e2fsck或fsck前请先umount partition,不然有机会令档案系统毁损。若是须要对根目录/
进行检查及修复,便须要进入singal user mode执行。
mkswap命令:用于在一个文件或者设备上创建交换分区。在创建完以后要使用sawpon命令开始使用这个交换区。最后一个选择性参数指定了交换区的大小,可是这个参数是为了向后兼容设置的,没有使用的必要,通常都将整个文件或者设备做为交换区。
参数:
-c:创建交换区前,先检查是否有损坏的区块; -f:在SPARC电脑上创建交换区时,要加上此参数; -v0:创建旧式交换区,此为预设值; -v1:创建新式交换区。
例子:
查看系统swap space大小:
free -m total used free shared buffers cached Mem: 377 180 197 0 19 110 -/+ buffers/cache: 50 327 Swap: 572 0 572
查看当前的swap空间(file(s)/partition(s)):
swapon -s 等价于 cat /proc/swaps
添加交换空间
添加一个交换分区或添加一个交换文件。推荐你添加一个交换分区;不过,若你没有多少空闲空间可用,则添加交换文件。
添加一个交换分区,步骤以下:
使用fdisk来建立交换分区(假设 /dev/sdb2 是建立的交换分区),使用 mkswap 命令来设置交换分区:
mkswap /dev/sdb2
启用交换分区:
swapon /dev/sdb2
写入/etc/fstab
,以便在引导时启用:
/dev/sdb2 swap swap defaults 0 0
添加一个交换文件,步骤以下:
建立大小为512M的交换文件:
dd if=/dev/zero of=/swapfile1 bs=1024 count=524288
使用mkswap命令来设置交换文件:
mkswap /swapfile1
启用交换分区:
swapon /swapfile1
写入/etc/fstab
,以便在引导时启用:
/swapfile1 swap swap defaults 0 0
新添了交换分区并启用它以后,请查看cat /proc/swaps
或free命令的输出来确保交换分区已被启用了。
删除交换空间:
禁用交换分区:
swapoff /dev/sdb2
从/etc/fstab
中删除项目,使用fdisk或yast工具删除分区。
swapon命令:激活Linux系统中交换空间,Linux系统的内存管理必须使用交换区来创建虚拟内存。
参数:
-a:将/etc/fstab文件中全部设置为swap的设备,启动为交换区; -h:显示帮助; -p<优先顺序>:指定交换区的优先顺序; -s:显示交换区的使用情况; -V:显示版本信息。
swapoff命令:用于关闭指定的交换空间(包括交换文件和交换分区)。swapoff实际上为swapon的符号链接,可用来关闭系统的交换区。
参数
-a:关闭配置文件“/etc/fstab”中全部的交换空间。
sync命令:强制被改变的内容马上写入磁盘,更新超块信息。
在Linux/Unix系统中,在文件或数据处理过程当中通常先放到内存缓冲区中,等到适当的时候再写入磁盘,以提升系统的运行效率。sync命令则可用来强制将内存缓冲区中的数据当即写入磁盘中。用户一般不需执行sync命令,系统会自动执行update或bdflush操做,将缓冲区的数据写 入磁盘。只有在update或bdflush没法执行或用户须要非正常关机时,才需手动执行sync命令。
buffer与cache
linux系统为了提升读写磁盘的效率,会先将数据放在一块buffer中。在写磁盘时并非当即将数据写到磁盘中,而是先写入这块buffer中了。此时若是重启系统,就可能形成数据丢失。
sync命令用来flush文件系统buffer,这样数据才会真正的写到磁盘中,而且buffer才可以释放出来,flush就是用来清空buffer。sync命令会强制将数据写入磁盘中,并释放该数据对应的buffer,因此经常会在写磁盘后输入sync命令来将数据真正的写入磁盘。
若是不去手动的输入sync命令来真正的去写磁盘,linux系统也会周期性的去sync数据。
resize2fs命令:用来增大或者收缩未加载的“ext2/ext3”文件系统的大小。若是文件系统是处于mount状态下,那么它只能作到扩容,前提条件是内核支持在线resize。,linux kernel 2.6支持在mount状态下扩容但仅限于ext3文件系统。
格式:
resize2fs [ -fFpPM ] [ -d debug-flags ] [ -S RAID-stride ] device [ size ]
参数:
-d:打开调试特性; -p:打印已完成的百分比进度条; -f:强制执行调整大小操做,覆盖掉安全检查操做; -F:开始执行调整大小前,刷新文件系统设备的缓冲区。
例子:
# 打印已完成的百分比进度条 [root@xxx ~]# resize2fs -p /dev/storage/vo 120M