statfs»ñµÃÓ²ÅÌʹÓÃÇé¿ö Ä£ÄâlinuxÃüÁî df
˵Ã÷£º±¾ÎÄÒÔÖ÷ÒªÎª×ªÔØÄÚÈÝ£¬Í¬Ê±¼ÓÈëÁËÎÒÔÚʹÓùý³ÌÖÐÓöµ½ÎÊÌâ¶ÔÆäµÄÐÞÕý£¡£¡£¡£¡£¡£¡£¡£¡£¡
ÏÈ˵statfs½á¹¹£º
#include <sys/vfs.h> /* »òÕß <sys/statfs.h> */
int statfs(const char *path, struct statfs *buf);
int fstatfs(int fd, struct statfs *buf);
²ÎÊý£º
path: λÓÚÐèÒª²éѯÐÅÏ¢µÄÎļþϵͳµÄÎļþ·¾¶Ãû(²»ÊÇÉ豸Ãû£¬ÊǹÒÔØµãÃû³Æ)¡£
fd£º λÓÚÐèÒª²éѯÐÅÏ¢µÄÎļþϵͳµÄÎļþÃèÊö´Ê¡£
buf£ºÒÔϽṹÌåµÄÖ¸Õë±äÁ¿£¬ÓÃÓÚ´¢´æÎļþϵͳÏà¹ØµÄÐÅÏ¢
struct statfs
{
long f_type; /* ÎļþϵͳÀàÐÍ */
long f_bsize; /* ¾¹ýÓÅ»¯µÄ´«Êä¿é´óС */
long f_blocks; /* ÎļþϵͳÊý¾Ý¿é×ÜÊý */
long f_bfree; /* ¿ÉÓÿéÊý */
long f_bavail; /* ·Ç³¬¼¶Óû§¿É»ñÈ¡µÄ¿éÊý */
long f_files; /* Îļþ½áµã×ÜÊý */
long f_ffree; /* ¿ÉÓÃÎļþ½áµãÊý */
fsid_t f_fsid; /* Îļþϵͳ±êʶ */
long f_namelen; /* ÎļþÃûµÄ×î´ó³¤¶È */
};
***************************************************************
·µ»ØËµÃ÷£º
³É¹¦Ö´ÐÐʱ£¬·µ»Ø0¡£Ê§°Ü·µ»Ø-1£¬errno±»ÉèΪÒÔϵÄij¸öÖµ
EACCES£º (statfs())Îļþ»ò·¾¶ÃûÖаüº¬µÄĿ¼²»¿É·ÃÎÊ
EBADF £º (fstatfs()) ÎļþÃèÊö´ÊÎÞЧ
EFAULT£º ÄÚ´æµØÖ·ÎÞЧ
EINTR £º ²Ù×÷ÓÉÐźÅÖжÏ
EIO £º ¶Áд³ö´í
ELOOP £º (statfs())½âÊÍ·¾¶Ãû¹ý³ÌÖдæÔÚÌ«¶àµÄ·ûºÅÁ¬½Ó
ENAMETOOLONG£º(statfs()) ·¾¶ÃûÌ«³¤
ENOENT£º(statfs()) Îļþ²»´æÔÚ
ENOMEM£º ºËÐÄÄÚ´æ²»×ã
ENOSYS£º Îļþϵͳ²»Ö§³Öµ÷ÓÃ
ENOTDIR£º(statfs())·¾¶ÃûÖе±×÷Ŀ¼µÄ×é¼þ²¢·ÇĿ¼
EOVERFLOW£ºÐÅÏ¢Òç³ö
**********************************************************************
Ïà¹ØµÄÎļþϵͳÀàÐÍÓУº
Ïà¹ØÎĵµ£º
1¡¢¼ÓÔØ BIOS µÄÓ²¼þÐÅÏ¢£¬²¢È¡µÃµÚÒ»¸ö¿ª»ú×°ÖõĴúºÅ£»
2¡¢¶ÁÈ¡µÚÒ»¸ö¿ª»ú×°ÖÃµÄ MBR µÄ boot Loader (Ò༴ÊÇ lilo, grub, spfdisk µÈµÈ) µÄ¿ª»úÐÅÏ¢£ ......
´ÅÅÌ·ÖÇø¹¤¾ß--fdisk
fdisk /dev/hda
fdiskÃüÁîµÄ×ÓÃüÁî
-m ÏÔʾ°ïÖú£¨ÃüÁîÇåµ¥£©
-a ¼¤»î·ÖÇøµÄ¿ÉÒýµ¼±êÖ¾
-l Áгö¿ÉÑ¡µÄ·ÖÇøÀàÐÍ
-n Ìí¼ÓзÖÇø
-d ɾ³ýÒѾ´æÔڵķÖÇø
-p ÏÔʾ·ÖÇø±í
-t ¸Ä±ä·ÖÇøµÄÎļþÀàÐÍ
  ......
¶ÔÓÚÒ»¸öÎļþÀ´Ëµ£¬ÓÐΨһµÄË÷Òý½ÓµãÓëÖ®¶ÔÓ¦£¬¶ø¶ÔÓÚÒ»¸öË÷Òý½ÓµãºÅ£¬È´¿ÉÒÔÓжà¸öÎļþÃûÓëÖ®¶ÔÓ¦¡£Òò´Ë£¬ÔÚ´ÅÅÌÉϵÄͬһ¸öÎļþ¿ÉÒÔͨ¹ý²»Í¬µÄ·¾¶È¥·ÃÎÊ
¸ÃÎļþ¡£
¡¡¡¡£±.Á¬½ÓÓÐÈíÁ¬½ÓºÍÓ²Á¬½Ó(hard link)Ö®·ÖµÄ£¬ÈíÁ¬½Ó(symbolic
link)ÓֽзûºÅÁ¬½Ó¡£·ûºÅÁ¬½ÓÏ൱ÓÚWindowsϵĿì½Ý·½Ê½¡£
ÈíÁ´½Óʵ¼ÊÉÏÖ»ÊÇÒ»¶ÎÎÄ× ......
Ê×Ïȼòµ¥µÄ½éÉÜÁ½Õߣº
¡¾linux²Ù×÷ϵͳ£º¼ò³ÆÃüÁ²Ù×÷ϵͳ¡¿
¼ò½é£º
¼òµ¥µØËµ£¬LinuxÊÇÒ»Ì×Ãâ·ÑʹÓúÍ×ÔÓÉ´«²¥µÄÀàUnix²Ù×÷ϵͳ£¬ËüÖ÷ÒªÓÃÓÚ»ùÓÚx86ϵÁÐCPUµÄ¼ÆËã»úÉÏ¡£Õâ¸öϵͳÊÇÓÉÊÀ½ç¸÷µØµÄ³ÉǧÉÏÍòµÄ³ÌÐòÔ±Éè¼ÆºÍʵÏֵġ£ÆäÄ¿µÄÊǽ¨Á¢²»ÊÜÈκÎÉÌÆ·»¯Èí¼þµÄ°æÈ¨ÖÆÔ¼µÄ¡¢È«ÊÀ½ç¶¼ÄÜ×ÔÓÉʹÓõÄUnix¼æÈݲúÆ·¡£
ÌØµã£º ......
ls -l|grep ^d ----Áгöµ±Ç°Ä¿Â¼ÏµÄÎļþ¼Ð
ls -l|grep ^d|grep "tmp" ----Áгöµ±Ç°Ä¿Â¼ÏÂÃ÷×Óº¬ÓÐ"tmp"µÄÎļþ¼Ð
for dir in `ls -l ~/dxy/|grep ^d | awk '{print $9}'` ---- awk '{print $9}' ,Ö»print Îļþ¼ÐµÄÃû×Ö
do
echo "==== $dir"
cd ~/dxy;cd $dir/
t=`ls -l|grep ^d|grep " ......