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£ºÐÅÏ¢Òç³ö
**********************************************************************
Ïà¹ØµÄÎļþϵͳÀàÐÍÓУº
Ïà¹ØÎĵµ£º
uname -a ²é¿´Äں˰汾
ls -al ÏÔʾËùÓÐÎļþµÄÊôÐÔ
pwd   ......
ÔÚÎҵıʼDZ¾¼ÆËã»úÉÏ£¬WindowsXPÅܵÄÔ½À´Ô½Âý£¬ÖÕÓÚϾöÐÄÖØ×°Ò»±é£¬Ï£ÍûÊÇ×îºóÒ»´Î°²×°WindowsXPÁË¡£¿ÉÊÇÓÖ²»Ì«¸ÊÐÄ£¬¾õµÃ»¨µÄʱ¼ä²»Ì«ÖµµÃ£¬²»¹ý£¬×î½ü¾ÀúÁ˼¸´ÎWindows vs GNU/Linux µÄÕùÂÛ£¬ÓÚÊÇ×Ðϸ¼Ç¼һϰ²×°¹ý³Ì£¬¿ÉÒÔÓп͹ÛÒ»µãµÄÊý¾Ý×ö±È½Ï¡£
ÎҵıʼDZ¾ÊÇDELL INSPIRON 600m£¬pentium-M 1.5GHz, 40GB Ó²ÅÌ, ......
LinuxϵͳÏ»ù±¾ÃüÁ 񻂿·Ö´óСд uname ÏÔʾ°æ±¾ÐÅÏ¢£¨Í¬win2KµÄ ver£© dir ÏÔʾµ±Ç°Ä¿Â¼Îļþ,ls -al ÏÔʾ°üÀ¨Òþ²ØÎļþ£¨Í¬win2KµÄ dir£© pwd ²éѯµ±Ç°ËùÔÚµÄĿ¼λÖà cd cd¡¡..»Øµ½ÉÏÒ»²ãĿ¼£¬×¢Òâcd Óë..Ö®¼äÓпոñ¡£cd¡¡/·µ»Øµ½¸ùĿ¼¡£ cat ÎļþÃû ²é¿´ÎļþÄÚÈÝ cat >abc.txt Íùabc.txtÎļþÖÐдÉÏÄÚÈÝ¡£ more Î ......
ËäȻѧ¹ý
Linux Shell
±à³Ì£¬µ«ÓÉÓÚ±àд
Shell
½Å±¾µÄ»ú»áʵÔÚÊDZȽÏÉÙ
(
ͨ³£ÔÚÏîÄ¿³õÆÚ´î½¨¿ª·¢»·¾³Ê±±àдµÃ±È½Ï
¶àһЩ
)
£¬ËùÒÔÒ»
ЩÓï·¨¾Ã¶ø¾ÃÖ®¾Í»áÍüÁË£¬Ò»¸ö¼òµ¥µÄÓ﷨ȥ·ÊéЧÂÊʵÔÚÊÇÂý£¬ËùÒԾ͸öÈËÕûÀíÁËÒ»¸ö±í¸ñ£¬ÓÉÓÚÎÒÓõıà³ÌÓïÑÔÊÇ
C/C++
£¬ËùÒÔÔÚ±à³ÌµÄʱºòÍùÍùÄÔº£ÀïÃæÊ×
Ïȸ¡ÏÖµÄÊÇÓÃ
C
......
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 " ......