Linux 磁盘管理

来源:互联网 发布:淘宝七乐康药店 假货 编辑:程序博客网 时间:2024/06/16 09:36

LInux磁盘管理的好坏直接关系到整个系统的性能问题。

fdisk : 磁盘分区表操作工具
该命令只能是root用户使用。
语法:

fdisk [-l] 装置名称

参数:

-l :输出后面接的装置所有分区的内容。
[root@admin ~]# fdisk -lDisk /dev/sda: 32.2 GB, 32212254720 bytes255 heads, 63 sectors/track, 3916 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk identifier: 0x000ec702下面是磁盘的分区情况:   Device Boot      Start         End      Blocks   Id  System/dev/sda1               1         523     4194304   82  Linux swap / Solaris磁盘名字              开始磁道   结束磁道                       磁盘挂载的目录格式Partition 1 does not end on cylinder boundary./dev/sda2   *         523        3917    27261952   83  Linux

df : 查看文件系统的磁盘空间占用情况,可以利用该命令来获取硬盘被占用了多少空间,还剩多少。
语法:

df [-ahikHTm] [目录或文件名]
  • -h :以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示;(常用)
  • -a :列出所有的文件系统,包括系统特有的 /proc 等文件系统;
  • -k :以 KBytes 的容量显示各文件系统;
  • -m :以 MBytes 的容量显示各文件系统;
  • -H :以 M=1000K 取代 M=1024K 的进位方式;
  • -T :显示文件系统类型, 连同该 partition 的 filesystem 名称 (例如 ext3) 也列出;
  • -i :不用硬盘容量,而以 inode 的数量来显示
[root@admin ~]# df -h(一般只记这个参数就行了)Filesystem      Size  Used Avail Use% Mounted on/dev/sda2        26G  1.5G   23G   6% /      <--根分区tmpfs           939M     0  939M   0% /dev/shm

如果根分区到100%时,会出现很多问题,当发现登录不进去、写文件写不进去等,首先看一下磁盘分区情况,特别是根分区情况。

du :查看文件和目录占用的空间(经典用法,看看谁把空间给占满了)
语法:

du [-ahskm] 文件或目录名称
  • -a :列出所有的文件与目录容量,因为默认仅统计目录底下的文件量而已。
  • -h :以人们较易读的容量格式 (G/M) 显示;
  • -s :列出总量而已,而不列出每个各别的目录占用容量;
  • -S :不包括子目录下的总计,与 -s 有点差别。
  • -k :以 KBytes 列出容量显示;
  • -m :以 MBytes 列出容量显示;

列出当前目录下的所有文件容量

[root@admin home]# ls3  a.txt  dir1  root.txt  training  wcx[root@admin home]# du -sh        后面可以跟直接的目录,这是一个经典用法132K    .     

du -sh查看当前所在目录占用的总空间大小(s在此是求和)

[root@admin home]# du -h8.0K    ./dir18.0K    ./364K ./training/test84K ./training4.0K    ./wcx/.gnome224K ./wcx132K    .

du -h :这个命令只递归计算目录下所有目录的大小,包括当前目录大小

[root@admin home]# du -sh *8.0K    34.0K    a.txt8.0K    dir10   root.txt84K training24K wcx[root@admin home]# du -sk *8   34   a.txt8   dir10   root.txt84  training24  wcx

从上面的结果可以看出,du -h/k在不加s参数的情况下,是将目录下所有的文件和目录递归的列一遍,加上s参数以后,就把把目录总共占的空间算出来;
du -sh * :只对当前目录下所有的目录和文件占用的大小列出来,不递归更进一层的文件或目录。
du -sk * :会将目录中的所有文件或目录占用的大小列出来
du -sh * 和du -sk *这两个命令只关心当前目录下的文件或目录占用空间大小,不关心二级目录或三级目录等下面的目录或文件。

watch :监测一个命令的运行结果
Linux中watch是周期性的执行下一个程序,默认2s,并且全屏显示执行结果,一般用于查看tail一个log文件等。ctrl + c退出监测。
如:

watch -2 free

time : 查看一个命令的运行时间

[root@admin home]# time free             total       used       free     shared    buffers     cachedMem:       1922264     223440    1698824        204      28404      62020-/+ buffers/cache:     133016    1789248Swap:      4194300          0    4194300real    0m0.023s    #执行free命令实际用了多少时间user    0m0.001s    #调用进程本身占用的时间sys     0m0.021s    #系统处理该命令使用了多少时间
0 0