Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB
ÈÈÃűêÇ©£º c c# c++ asp asp.net linux php jsp java vb Python Ruby mysql sql access Sqlite sqlserver delphi javascript Oracle ajax wap mssql html css flash flex dreamweaver xml
 ×îÐÂÎÄÕ :

LinuxÎļþ²éÕÒÃüÁîfind,xargsÏêÊö

תÌùµØÖ·£ºhttp://www.linuxsir.org/main/?q=node/137
×ܽ᣺
zhy2111314
À´×Ô£º
LinuxSir.Org
ÕûÀí£º
±±ÄÏÄϱ±
ͻ񻣼
±¾ÎÄÊÇfind ÃüÁîµÄÏêϸ˵Ã÷£¬¿É¹óµÄÊÇÕë¶Ô²ÎÊý¾ÙÁ˺ܶàµÄʵÀý£¬´óÁ¿µÄÀýÖ¤£¬ÈóõѧÕ߸üΪÈÝÒ×Àí½â£»±¾ÎÄÊÇzhyflyÐÖÌùÔÚÂÛ̳ÖУ»ÎÒ¶Ô±¾ÎĽøÐÐÁËÔÙ´ÎÕûÀí£¬Îª·½±ã´ó¼ÒÔĶÁ£»
Ŀ¼
°æÈ¨ÉùÃ÷
ǰÑÔ£º¹ØÓÚfindÃüÁî
Ò»¡¢find ÃüÁî¸ñʽ
1¡¢findÃüÁîµÄÒ»°ãÐÎʽΪ£»
2¡¢findÃüÁîµÄ²ÎÊý£»
3¡¢findÃüÁîÑ¡Ï
4¡¢Ê¹ÓÃexec»òokÀ´Ö´ÐÐshellÃüÁ
¶þ¡¢findÃüÁîµÄÀý×Ó£»
1¡¢²éÕÒµ±Ç°Óû§Ö÷Ŀ¼ÏµÄËùÓÐÎļþ£»
2¡¢ÎªÁËÔÚµ±Ç°Ä¿Â¼ÖÐÎļþÊôÖ÷¾ßÓжÁ¡¢Ð´È¨ÏÞ£¬²¢ÇÒÎļþËùÊô×éµÄÓû§ºÍÆäËûÓû§¾ßÓжÁȨÏÞµÄÎļþ£»
3¡¢ÎªÁ˲éÕÒϵͳÖÐËùÓÐÎļþ³¤¶ÈΪ0µÄÆÕͨÎļþ£¬²¢ÁгöËüÃǵÄÍêÕû·¾¶£»
4¡¢²éÕÒ/var/logsĿ¼Öиü¸Äʱ¼äÔÚ7ÈÕÒÔǰµÄÆÕͨÎļþ£¬²¢ÔÚɾ³ý֮ǰѯÎÊËüÃÇ£»
5¡¢ÎªÁ˲éÕÒϵͳÖÐËùÓÐÊôÓÚroot×éµÄÎļþ£»
6¡¢findÃüÁɾ³ýµ±Ä¿Â¼ÖзÃÎÊʱ¼äÔÚ7ÈÕÒÔÀ´¡¢º¬ÓÐÊý×Öºó׺µÄadmin.logÎļþ
7¡¢ÎªÁ˲éÕÒµ±Ç°ÎļþϵͳÖеÄËùÓÐĿ¼²¢ÅÅÐò£»
8¡¢ÎªÁ˲éÕÒϵͳÖÐËùÓеÄrmt´Å´øÉ豸£»
Èý¡¢xargs
ËÄ¡¢find ÃüÁîµÄ²ÎÊý£»
1¡¢Ê¹ÓÃnameÑ¡Ïî
2¡¢ÓÃpermÑ¡Ïî
3¡¢º ......

linux»ñÈ¡IPµØÖ·

 #include <sys/socket.h>
#include <sys/ioctl.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <net/if.h>
int sock_fd;
struct  my_addr;
struct ifreq ifr;
    unsigned char * addr;
#define ETH_INTERFACE_NAME    "eth0"
    /**//* Get socket file descriptor */
    if ((sock_fd = socket(PF_INET, SOCK_DGRAM, 0)) == -1)...{
        perror("socket");
        exit(1);
    }
    /**//* Get IP Address */
    strncpy(ifr.ifr_name, ETH_INTERFACE_NAME, IF_NAMESIZE);
    ifr.ifr_name[IFNAMSIZ-1]='\0';
    if (ioctl(sock_fd, SIOCGIFADDR, &ifr) < 0)...{
        perror("ioctl");
        exit(1);
    }
    memcpy(&my_addr, ......

Linux ϵÄÁ½¸ö½Å±¾

//videoserver
#!/bin/bash
#
# videoserver
#
# chkconfig: 3456 11 91
# description: videoserver
# Source function library.
. /etc/rc.d/init.d/functions
prog="videoserver"
start() {
# Start daemons.
echo -n $"Starting $prog: "
/video/videoserver/recordvideosvr /video/videoserver/recordvideosvr.ini
/video/videoserver/writedvdsvr /video/videoserver/writedvdsvr_drv1.ini
/video/videoserver/writedvdsvr /video/videoserver/writedvdsvr_drv2.ini
/video/videoserver/TCPRecordServer
/video/videoserver/vodsvr
/video/videoserver/netupdatesvr
/video/videoserver/transfileserver
/video/videoserver/DevMngSvr /video/videoserver/DevMngSvr.ini &
/video/videoserver/doDevMngSvr &
/video/videoserver/doRebroadcastServer /video/videoserver/RebroadcastServerInit.ini &
/video/videoserver/doRebroadcastServer /video/videoserver/RebroadcastServerInit1.ini &
/video/videoserver/doRebroadcastServer /video/videoserver/RebroadcastServerInit2.ini &
/video ......

linux pgrepÃüÁî

 
pgrep ÊÇͨ¹ý³ÌÐòµÄÃû×ÖÀ´²éѯ½ø³ÌµÄ¹¤¾ß£¬Ò»°ãÊÇÓÃÀ´ÅжϳÌÐòÊÇ·ñÕýÔÚÔËÐС£ÔÚ·þÎñÆ÷µÄÅäÖú͹ÜÀíÖУ¬Õâ¸ö¹¤¾ß³£±»Ó¦Ó㬼òµ¥Ã÷ÁË£»
Ó÷¨£º
#ps ²ÎÊýÑ¡Ïî   ³ÌÐòÃû
³£ÓòÎÊý
-l  Áгö³ÌÐòÃûºÍ½ø³ÌID£»
-o  ½ø³ÌÆðʼµÄID£»
-n  ½ø³ÌÖÕÖ¹µÄID£»
¾ÙÀý£º
[root@localhost ~]# pgrep -lo httpd
4557 httpd
[root@localhost ~]# pgrep -ln httpd
4566 httpd
[root@localhost ~]# pgrep -l httpd
4557 httpd
4560 httpd
4561 httpd
4562 httpd
4563 httpd
4564 httpd
4565 httpd
4566 httpd
[root@localhost ~]# pgrep httpd
4557
4560
4561
4562
4563
4564
4565
4566
......

linuxÍøÂç±à³Ì

 ¹ØÓÚsocket±à³ÌÖÐ,¾­³£Óõ½µÄ×Ö½Úת»»µÄÎÊÌâ
ÍøÂçÉϲ»Í¬µÄ»úÆ÷ÀàÐÍ¿ÉÄÜÔÚ±íʾÊý¾Ý×Ö½ÚʱµÄ×Ö½Ú˳ÐòÊDz»Ò»ÑùµÄ,ËùÒÔÔÚlinuxÏÂ,ÓÐרÃŵÄ×Ö½Úת»»º¯Êý:
unsigned long int htonl(unsigned long int hostlong);
unsigned short int htons(unsigned short int hostshort);
unsigned long int ntohl(unsigned long int netlong);
unsigned short int ntohs(unsigned short int netshort);
htonl():±íʾ½«±¾»úÉϵÄlongÊý¾Ýת»»³ÉÍøÂçÉϵÄlongÊý¾Ý,ÆäËûµÄÒâ˼»ù±¾Ïàͬ.
IPºÍÓòÃûµÄת»»:
ÍøÂçÉϱêʶһ̨»úÆ÷¿ÉÒÔÓÃIP»òÕßÓòÃû,ÏÂÃæµÄº¯Êý¿ÉÒÔʵÏÖת»»:
struct hostent *gethostbyname(const char *hostname);
struct hostent *gethostbyaddr(const char *addr,int len,int type);
¹ØÓڽṹÌåhostentµÄ¶¨Òå:
struct hostent
{
    char *h_name;//Ö÷»úµÄÃû³Æ
    char *aliases;//Ö÷»úµÄ±ðÃû
    int  h_addrtype;//Ö÷»úµØÖ·ÀàÐÍ,AF_INET
    int  h_length;//Ö÷»úµØÖ·³¤¶È
    char **h_addr_list;//Ö÷»úµÄIPµØÖ·Áбí
}
#define h_addr h_addr_list[0]   // ......

LinuxϵĶδíÎó²úÉúµÄÔ­Òò¼°µ÷ÊÔ·½·¨


¼ò¶øÑÔÖ®,²úÉú¶Î´íÎó¾ÍÊÇ·ÃÎÊÁË´íÎóµÄÄÚ´æ¶Î£¬Ò»°ãÊÇÄãûÓÐȨÏÞ£¬»òÕ߸ù±¾¾Í²»´æÔÚ¶ÔÓ¦µÄÎïÀíÄÚ´æ,ÓÈÆä³£¼ûµÄÊÇ·ÃÎÊ0µØÖ·.
Ò»°ãÀ´
˵,¶Î´íÎó¾ÍÊÇÖ¸·ÃÎʵÄÄڴ泬³öÁËϵͳËù¸øÕâ¸ö³ÌÐòµÄÄÚ´æ¿Õ¼ä£¬Í¨³£Õâ¸öÖµÊÇÓÉgdtrÀ´±£´æµÄ£¬ËûÊÇÒ»¸ö48λµÄ¼Ä´æÆ÷£¬ÆäÖеÄ32λÊDZ£´æÓÉËüÖ¸ÏòµÄ
gdt±í£¬ºó13λ±£´æÏàÓ¦ÓÚgdtµÄϱ꣬×îºó3λ°üÀ¨Á˳ÌÐòÊÇ·ñÔÚÄÚ´æÖÐÒÔ¼°³ÌÐòµÄÔÚcpuÖеÄÔËÐм¶±ð,Ö¸ÏòµÄgdtÊÇÓÉÒÔ64λΪһ¸öµ¥Î»µÄ±í£¬
ÔÚÕâÕűíÖоͱ£´æ×ųÌÐòÔËÐеĴúÂë¶ÎÒÔ¼°Êý¾Ý¶ÎµÄÆðʼµØÖ·ÒÔ¼°Óë´ËÏàÓ¦µÄ¶ÎÏÞºÍÒ³Ãæ½»»»»¹ÓгÌÐòÔËÐм¶±ð»¹ÓÐÄÚ´æÁ£¶ÈµÈµÈµÄÐÅÏ¢¡£Ò»µ©Ò»¸ö³ÌÐò·¢ÉúÁËÔ½½ç
·ÃÎÊ£¬cpu¾Í»á²úÉúÏàÓ¦µÄÒì³£±£»¤£¬ÓÚÊÇsegmentation fault¾Í³öÏÖÁË.
ÔÚ±à³ÌÖÐÒÔϼ¸Àà×ö·¨ÈÝÒ×µ¼Ö¶δíÎó,»ù±¾ÊÇÊÇ´íÎóµØÊ¹ÓÃÖ¸ÕëÒýÆðµÄ
1)·ÃÎÊϵͳÊý¾ÝÇø£¬ÓÈÆäÊÇÍù  ϵͳ±£»¤µÄÄÚ´æµØÖ·Ð´Êý¾Ý
   ×î³£¼û¾ÍÊǸøÒ»¸öÖ¸ÕëÒÔ0µØÖ·
2)ÄÚ´æÔ½½ç(Êý×éÔ½½ç£¬±äÁ¿ÀàÐͲ»Ò»ÖµÈ) ·ÃÎʵ½²»ÊôÓÚÄãµÄÄÚ´æÇøÓò
½â¾ö·½·¨
ÎÒ
ÃÇÔÚÓÃC/C++ÓïÑÔд³ÌÐòµÄʱºî£¬ÄÚ´æ¹ÜÀíµÄ¾ø´ó²¿·Ö¹¤×÷¶¼ÊÇÐèÒªÎÒÃÇÀ´×öµÄ¡£Êµ¼ÊÉÏ£¬ÄÚ´æ¹ÜÀíÊÇÒ»¸ö±È½Ï·±ËöµÄ¹¤×÷£¬ÎÞÂÛÄã¶à¸ßÃ÷£¬¾­Ñé¶à·á¸»£¬ÄÑ
Ãâ»áÔÚ´Ë´¦·¸Ð ......
×ܼǼÊý:40319; ×ÜÒ³Êý:6720; ÿҳ6 Ìõ; Ê×Ò³ ÉÏÒ»Ò³ [5909] [5910] [5911] [5912] 5913 [5914] [5915] [5916] [5917] [5918]  ÏÂÒ»Ò³ βҳ
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ