1. 查看磁盘或者目录的容量 df 查看磁盘各分区使用情况(总容量、使用容量、剩余容量、使用百分比、挂载点) df=df -k 默认不加参数以k为单位; df -m 以M单位显示; df -h 最合适的单位显示(K,M,G,T,) df -i 显示inode数量 df -T 显示文件的类型 “/dev/shm” 为内存挂载点,如果你想把文件放到内存里,就可以放到/dev/shm/目录下。 [root@localhost tmp]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/VolGroup-lv_root 19G 738M 17G 5% / tmpfs 250M 0 250M 0% /dev/shm /dev/sda1 477M 46M 407M 11% /boot [root@localhost tmp]# df -i Filesystem Inodes IUsed IFree IUse% Mountedon /dev/mapper/VolGroup-lv_root 1213456 22070 1191386 2% / tmpfs 63843 1 63842 1% /dev/shm /dev/sda1 128016 45 127971 1% /boot [root@localhost ~]# df -T Filesystem Type 1K-blocks Used Available Use% Mounted on /dev/mapper/VolGroup-lv_root ext4 18971088 755768 17244980 5% / tmpfs tmpfs 255372 0 255372 0% /dev/shm /dev/sda1 ext4 487652 46217 415835 11% /boot free 查看swap的使用情况; [root@localhost ~]# free total used free shared buffers cached Mem: 510748 95012 415736 160 6248 36108 -/+ buffers/cache: 52656 458092 Swap: 1048572 0 1048572 du 查看目录或者文件的容量 du=du -f 默认以k为单位显示; du -a 列出全部文件与目录大小,包括子目录和文件; du -s 列出总和 du -m 以M为单位 du -h 最合适的单位列出,最常用组合-sh du -c 加总 磁盘分区的块大小为4k,默认为4k,创建一个目录、文件大小也为4k; ls -lh 只显示目录或文件的大小 du -h 查看目录及目录下面的文件总容量; du -bh 可以查看文件或目录下的实际大小; [root@localhost ~]# ls -lh 1.txt -rw-r--r--. 1 root root 7 Mar 20 11:00 1.txt [root@localhost ~]# du -h 1.txt 4.0K 1.txt [root@localhost ~]# du -bh 1.txt 7 1.txt 2. 磁盘的分区和格式化 首先给虚拟机添加一块新硬盘,需要关机操作。编辑"虚拟机设置",弹出的对话框里面选择,添加按钮,选择“硬盘”磁盘类型选择IDE,创建新虚拟磁盘,大小设置为20G,将虚拟磁盘存储为单个文件,完成添加。 fdisk -l 查看磁盘和分区,只能划分2T一下的,大于2T需要用GPT; “-l” 后边不跟设备名会直接列出系统中所有的磁盘设备以及分区表,加上设备名会列出该设备的分区表。 [root@localhost ~]# fdisk -l /dev/sda Disk /dev/sda: 21.5 GB, 21474836480 bytes 255 heads, 63 sectors/track, 2610 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x0008bc5f DeviceBoot Start End Blocks Id System /dev/sda1 * 1 26 204800 83 Linux Partition 1 does not end on cylinder boundary. /dev/sda2 26 281 2048000 82 Linux swap / Solaris Partition 2 does not end on cylinder boundary. /dev/sda3 281 2611 18717696 83 Linux fdisk /dev/sdb 给新增加的硬盘分区; 主分区P+扩展分区E <=4 linux下最多只能创建四个主分区primary(1-4),可以建立扩展分区extended,扩展分区从5开始;当分完三个主分区后,第四个扩展分区需要把剩余的磁盘空间全部划分给扩展分区,不然的话剩余的空间会浪费,因为分完扩展分区后,再划分新的分区时是在已经划分的扩展分区里来分的。其中/dev/sdb4为扩展分区,这个分区是不可以格式化的,你可以把它看成是一个空壳子,能使用的为/dev/sdb5,其中/dev/sdb5为/dev/sdb4的子分区,这个子分区叫做逻辑分区。 m 列出常用的命令 p 列出分区表 n 建立新分区 d 删除分区 w 保存分区 q 退出,不保存。 [root@localhost ~]# ls -l/dev/sdb5 brw-rw---- 1 root disk 8, 21 3月 23 20:10 /dev/sdb5 cat /etc/filesystems 查看linux支持的分区格式; mke2fs, mkfs.ext2, mkfs.ext3,mkfs.ext4 -t 文件系统格式 ext3 ext4 -b 指定每个数据块大小,目前支持1024, 2048 及4096 -L 分区标签 格式化时默认blocks (5.00%) reservedfor the super user //给超级用户预留的一部分空间,用来作为特殊用途 -m 可以更改这个比例,如 mke2fs -m 0.1 /dev/sdb1 //意思是,只预留出0.1% [root@localhost ~]# mke2fs -text4 /dev/sdb5 [root@localhost ~]# mke2fs -b 8192 /dev/sdb5 e2label 查看或修改分区的标签 [root@localhost ~]# e2label /dev/sdb5 test [root@localhost ~]# e2label /dev/sdb5 test01 [root@localhost ~]# e2label /dev/sdb5 test01 3. 挂载、卸载磁盘分区 mount 查看当前系统已经挂载的所有分区,以及分区文件系统的类型 mount 格式 mount -t type /dev/sda5 /mnt mount的几种方法: [root@localhost ~]# mount /dev/sdb5 newdir/ [root@localhost ~]# mount -L test newdir/ [root@localhost ~]# mount LABEL=test newdir/ [root@localhost ~]# mountUUID="d48d9b64-631d-4752-b3b0-a1a485e5a90e" newdir/ mount -t 指定挂载分区格式,如-t ext3 ext4下不能指定挂载格式为ext3,需要mke2fs -t ext3 后才可以;ext3下可以指定ext4的格式; umount 卸载分区,后面跟设备的绝对路径或挂载目录;不可以跟LABEL和UUID; umount /dev/sda5 umount newdir/ umount -l 强制卸载,可以卸载U盘; mount -o loop 挂载光盘iso文件,挂载到目录里面就可以读取光盘内容; mount -o 后面跟各种选项,比如remount,ro,noatime等,具体选项如下: “async/sync” : async表示和磁盘和内存不同步,系统每隔一段时间把内存数据写入磁盘中,而sync则会时时同步内存和磁盘中数据; “auto/noauto” : 开机自动挂载/不自动挂载; “default” : 按照大多数永久文件系统的缺省值设置挂载定义,它包含了rw, suid, dev, exec,auto, nouser, async “ro” : 按只读权限挂载 ; “rw” : 按可读可写权限挂载 ; “exec/noexec” : 允许/不允许可执行文件执行,但千万不要把根分区挂载为noexec,那就无法使用系统了,连mount命令都无法使用了,这时只有重新做系统了; “user/nouser” : 允许/不允许root外的其他用户挂载分区,为了安全考虑,请用nouser ; “suid/nosuid” : 允许/不允许分区有suid属性,一般设置nosuid ; “usrquota” : 启动使用者磁盘配额模式; “grquota” : 启动群组磁盘配额模式; mount -a 会根据/etc/fstab 挂载所有分区 blkid 列出所有设备的UUID及LABEL标签,后面可以跟设备名 使用UUID的好处是,多块磁盘,如果在服务器上换了插槽位置,设备名会变,但UUID是唯一的 [root@localhost ~]# blkid /dev/sdb5 /dev/sdb5:UUID="d48d9b64-631d-4752-b3b0-a1a485e5a90e" TYPE="ext4" 4. 配置文件 /etc/fstab 第一列就是分区的标识,可以LABEL,也可以UUID,当然也可以 (/dev/sda1); 第二列是挂载点; 第三列是分区的格式; 第四列则是mount的一些挂载参数,一般情况下,直接写defaults即可; 第五列的数字表示是否被dump备份,是的话这里就是1,否则就是0;第六列是开机时是否自检磁盘。1,2都表示检测,0表示不检测,/分区必须设为1,而且整个fstab中只允许出现一个1,1比2优先级高,所以先检测1,然后再检测2,如果有多个分区需要开机检测都设置成2吧,1检测完了后会同时去检测2。 [root@localhost ~]# cat /etc/fstab # /etc/fstab # Created by anaconda on Wed Mar 4 00:59:09 2015 # # Accessible filesystems, by reference, are maintainedunder '/dev/disk' # See man pages fstab(5), findfs(8), mount(8) and/orblkid(8) for more info # UUID=a7921a49-41b4-4467-a3bd-a7e958bd5fbb / ext4 defaults 1 1 UUID=e0e3fd8a-ca2b-4eb3-bab9-e64851879dc1 /boot ext4 defaults 1 2 UUID=c23d03e0-8717-4da0-92a4-8ca568975475 swap swap defaults 0 0 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 新增加一行 LABEL=test /root/newdir ext4 defaults 0 0 umount 之后 mount -a 会自动挂载分区。 让某个分区开机后就自动挂载,有两个办法可以实现: 1、在 /etc/fstab 中添加一行; 2、把挂载命令写到 /etc/rc.d/rc.local 文件中去,系统启动完后会执行这个文件中的命令,所以只要你想开机后运行什么命令统统写入到这个文件下面吧,直接放到该文件的最后一行: mount UUID="d48d9b64-631d-4752-b3b0-a1a485e5a90e" newdir/ 保存退出后,下次重启系统会自动挂载分区
|