4. 磁盘管理

日程磁盘管理中,我们最常用的有查看当前磁盘使用情况,查看当前目录所占大小,以及打包压缩与解压缩;

4.1. 查看磁盘空间

查看磁盘空间利用大小:

df -h

-h: human缩写,以易读的方式显示结果(即带单位:比如M/G,如果不加这个参数,显示的数字以B为单位):

$df -h
/opt/app/todeav/config#df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
2.0G  711M  1.2G  38% /
/dev/mapper/vg1-lv2    20G  3.8G   15G  21% /opt/applog
/dev/mapper/vg1-lv1    20G   13G  5.6G  70% /opt/app

查看当前目录所占空间大小:

$du -sh
653M
  • -h 人性化显示
  • -s 递归整个目录的大小

查看当前目录下所有子文件夹排序后的大小:

for i in `ls`; do du -sh $i; done | sort
或者:
du -sh `ls` | sort

4.2. 打包/ 压缩

在linux中打包和压缩和分两步来实现的;

打包

打包是将多个文件归并到一个文件:

tar -cvf etc.tar /etc <==仅打包,不压缩!
  • -c :打包选项
  • -v :显示打包进度
  • -f :使用档案文件

注:有的系统中指定参数时不需要在前面加上-,直接使用tar xvf

示例:用tar实现文件夹同步,排除部分文件不同步:

tar --exclude '*.svn' -cvf - /path/to/source | (cd /path/to/target; tar -xf -)

压缩

生成 demo.txt.gz:

$gzip demo.txt

4.3. 解包/解压缩

解包

-x 解 .tar 包选项:

tar -xvf demo.tar

解压后缀为 .tar.gz 的文件(分两步实现):

$gunzip demo.tar.gz
$tar -xvf demo.tar

解压后缀为 .tar.bz2 的文件(分两步实现):

// -d 解压
$bzip2 -d demo.tar.bz2
tar -xvf  demo.tar

实际上,现在的tar工具已支持打包、压缩/解压、解包两步合并了:

// bz2包
tar -jxf demo.tar.bz2
// gzip包
tar -zxf demo.tar.gz
// xz包
tar -Jxf demo.tar.xz

tar解压参数说明:

  • -z 解压gz文件
  • -j 解压bz2文件
  • -J 解压xz文件

4.4. 总结

查看磁盘空间 df -h

查看目录大小 du -sh

打包 tar -cvf

解包 tar -xvf

压缩 gzip

解压缩 gunzip bzip