linux ³£ÓÃcº¯Êý
opendir£¨´ò¿ªÄ¿Â¼£©
Ïà¹Øº¯Êý
open£¬readdir£¬closedir£¬rewinddir£¬seekdir£¬telldir£¬scandir
±íÍ·Îļþ
#include<sys/types.h>
#include<dirent.h>
¶¨Ò庯Êý
DIR * opendir(const char * name);
º¯Êý˵Ã÷
opendir()ÓÃÀ´´ò¿ª²ÎÊýnameÖ¸¶¨µÄĿ¼£¬²¢·µ»ØDIR*ÐÎ̬µÄĿ¼Á÷£¬ºÍopen()ÀàËÆ£¬½ÓÏÂÀ´¶ÔĿ¼µÄ¶ÁÈ¡ºÍËÑË÷¶¼ÒªÊ¹Óô˷µ»ØÖµ¡£
·µ»ØÖµ
³É¹¦Ôò·µ»ØDIR* ÐÍ̬µÄĿ¼Á÷£¬´ò¿ªÊ§°ÜÔò·µ»ØNULL¡£
´íÎó´úÂë
EACCESS ȨÏÞ²»×ã
EMFILE ÒÑ´ïµ½½ø³Ì¿Éͬʱ´ò¿ªµÄÎļþÊýÉÏÏÞ¡£
ENFILE ÒѴﵽϵͳ¿Éͬʱ´ò¿ªµÄÎļþÊýÉÏÏÞ¡£
ENOTDIR ²ÎÊýname·ÇÕæÕýµÄĿ¼
ENOENT ²ÎÊýname Ö¸¶¨µÄĿ¼²»´æÔÚ£¬»òÊDzÎÊýname Ϊһ¿Õ×Ö·û´®¡£
ENOMEM ºËÐÄÄÚ´æ²»×ã¡£
readdir£¨¶ÁȡĿ¼£©
Ïà¹Øº¯Êý
open£¬opendir£¬closedir£¬rewinddir£¬seekdir£¬telldir£¬scandir
±íÍ·Îļþ
#include<sys/types.h>
#include<dirent.h>
¶¨Ò庯Êý
struct dirent * readdir(DIR * dir);
º¯Êý˵Ã÷
readdir()·µ»Ø²ÎÊýdirĿ¼Á÷µÄϸöĿ¼½øÈëµã¡£
½á¹¹dirent¶¨ÒåÈçÏÂ
struct dirent
{
ino_t d_ino;
ff_t d_off;
signed short int d_reclen;
unsigned char d_type;
har d_name[256;
};
d_ino ´ËĿ¼½øÈëµãµÄinode
d_off Ŀ¼Îļþ¿ªÍ·ÖÁ´ËĿ¼½øÈëµãµÄÎ»ÒÆ
d_reclen _nameµÄ³¤¶È£¬²»°üº¬NULL×Ö·û
d_type d_name ËùÖ¸µÄÎļþÀàÐÍ
d_name ÎļþÃû
·µ»ØÖµ
³É¹¦Ôò·µ»ØÏ¸öĿ¼½øÈëµã¡£ÓдíÎó·¢Éú»ò¶ÁÈ¡µ½Ä¿Â¼ÎļþβÔò·µ»ØNULL¡£
¸½¼Ó˵Ã÷
EBADF²ÎÊýdirΪÎÞЧµÄĿ¼Á÷¡£
·¶Àý
#include<sys/types.h>
#include<dirent.h>
#include<unistd.h>
main()
{
DIR * dir;
struct dirent * ptr;
int i;
dir =opendir(“/etc/rc.d”);
while((ptr = readdir(dir))!=NULL)
{
printf(“d_name: %s\n”,ptr->d_name);
}
closedir(dir);
}
Ö´ÐÐ
d_name:.
d_name:..
d_name:init.d
d_name:rc0.d
d_name:rc1.d
d_name:rc2.d
d_name:rc3.d
d_name:rc4.d
d_name:rc5.d
d_name:rc6.d
d_name:rc
d_name:rc.local
d_name:rc.sysinit
access£¨ÅжÏÊÇ·ñ¾ßÓдæÈ¡ÎļþµÄȨÏÞ£©
Ïà¹Øº¯Êý
stat£¬open£¬chmod£¬chown£¬setuid£¬setgid
±íÍ·Îļþ
#include<unistd.h>
¶¨Ò庯Êý
int access(const char * pathname,int mode);
º¯Êý˵Ã÷
access()»á¼ì²éÊÇ·ñ¿É
Ïà¹ØÎĵµ£º
Ðí¶à¸Õ¸Õ½Ó´¥LinuxµÄÈËÍùÍù¾À½áÓÚLinuxµÄÖÚ¶à¸ñʽ½âѹÎÊÌ⣬½ñÌì ´ø¸ø´ó¼Ò³£ÓõÄLinuxµÄ½âѹÃüÁ²»Í×Ö®´¦£¬»¶ÓÖ¸Õý£¡
µÚÒ»£ºÒÔ.tar.gz½áβµÄÎļþ
tar xvzf file.tar.gz »òÕß gzip -dc file.tar.gz | tar xvf -(ÕâÀïÓõ½Á˹ܵÀ)
µÚ¶þ£ºÒÔ.zip½áβµÄÎļþ
unzip file.zip
µÚÈý£ºÒÔ.tar.bz2½áβµÄÎļþ
tar ......
ºÜ¾ÃûÓÐÓÃlinuxÁË£¬ÓÉÓÚҪѧϰlinuxϵÄÄں˱à³ÌÓÖÒªÖØÐÂʰÆðlinux£¬ÓÃÁËÕâô¾ÃµÄwindows¶Ôlinux¶¼¿ìÍüÍêÁË¡£ËùÒԱ߿´×ÊÁϺͲÙ×÷À´¸´Ï°Ò»ÏÂlinuxµÄ»ù±¾²Ù×÷¡£
Ò»¡¢linuxµÄĿ¼½á¹¹
Ê×ÏÈ£¬linuxµÄÎļþϵͳ¼´±¾ÉíÊÇÓÉVFS¼´Virtual File System Switch£¨ÐéÄâÎļþϵͳ£©À´ÊµÎļþ¹ÜÀíµÄ£¬VFS±¾ÉíÊÇÒ»¸öÎļþµµ°¸¹ÜÀíϵͳµÄÒ»¸ö ......
///////////////////////////////////////////////////////////////////////////////////////////////
ÕâÊǺÜÔçÒÔǰµÄtty hackingÁË£¬Æäʵ¾ÍÊÇÒ»¸ö³õ¼¶µÄÄں˵ļüÅ̹³×ÓµÄʵÏÖÔÀí
ºóÃæÎÒ»áÌù³öÎÒÕûÀíphrackÔÓÖ¾59ÆÚÀïµÄ×îеÄÄں˼üÅ̹³×Ó¼¼Êõ
/////////////////////////////////////////////////////////////// ......
1,²é¿´ Ubuntu µÄ°æ±¾ºÅ£¬
·½·¨Ò»£º ÔÚÖÕ¶ËÖÐÖ´ÐÐÏÂÁÐÖ¸Á cat /etc/issue¿ÉÒԲ鿴µ±Ç°ÕýÔÚÔËÐÐµÄ Ubuntu µÄ°æ±¾ºÅ¡£ÆäÊä³ö½á¹ûÀàËÆÏÂÃæµÄÄÚÈÝ£º Ubuntu 7.04 \n \l·½·¨¶þ ʹÓà lsb_release ÃüÁîÒ²¿ÉÒԲ鿴 Ubuntu µÄ°æ±¾ºÅ£¬Óë·½·¨Ò»Ïà±È£¬ÄÚÈݸüΪÏêϸ¡£Ö´ÐÐÖ¸ÁîÈçÏ ......
±³¾°
ÏîÄ¿µÄ
×Ô¶¯»¯²âÊÔÖÐÒѾʹÓÃÁË»ùÓÚPython
½Å±¾µÄ¿ò¼Ü£¬×Ô¶¯»¯¹ý³ÌÖÐ×î¹Ø¼üµÄÎÊÌâ¾ÍÊÇÈçºÎʵÏÖ׮ģ¿é¡£ÔËÓÃ
Python
Ç¿´óµÄ¹¦ÄÜ£¬ÊµÏÖÈκÎ׮ģ¿é¶¼ÊÇ¿ÉÄܵ쬵«ÊÇÊÇ·ñ±ØÐëÍêȫʹÓÃ
Python
ʵÏÖÄ£¿éÂß¼£¬³É±¾ÊÇÒ»¸ö¾ö¶¨ÐÔÒòËØ¡£ÔÚ׮ģ¿éÂß¼¼òµ¥µÄÇé¿öÏ£¬Ê¹ÓÃ
Python
Ä£ÄâÄ£¿éÂß¼²»µ«Ê¹×Ô¶¯»¯²âÊԵĽṹÇå ......