Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

Linux»ñÈ¡±¾»úIP¡¢MACʾÀý³ÌÐò

#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <sys/ioctl.h>
#include <net/if.h>
#include <stdio.h>
#include <string>
#include <iostream>
#include <cstring>
using namespace std;
void peek_interfaces(int fd);
void print_hw_addr(int fd, const char* if_name);
int main() {
int fd = socket(AF_INET, SOCK_DGRAM, 0);
if(-1 == fd) {
perror("Failed create socket.");
return -1;
}
peek_interfaces(fd);
close(fd);
return 0;
}
void peek_interfaces(int fd) {
ifreq ifs[16] = {0};
ifconf conf = {sizeof(ifs)};
conf.ifc_req = ifs;
if(-1 == ioctl(fd, SIOCGIFCONF, &conf)) {
perror("Failed IOCTL SIOCGIFCONF.");
return;
}
if(conf.ifc_len >= sizeof(ifs)) {
perror("Buffer too small for IOCTL SIOCGIFCONF.");
return;
}

int num = conf.ifc_len / sizeof(ifreq);
cout << num << " interface entry retrieved." << endl;
for(int i = 0; i < num; ++i) {
cout << "[ " << ifs[i].ifr_name << " ]" << endl;
sockaddr_in* sai = (sockaddr_in*)&ifs[i].ifr_addr;
cout << "Addr: " << inet_ntoa(sai->sin_addr) << endl;
print_hw_addr(fd, ifs[i].ifr_name);
cout << endl;
}
}
void print_hw_addr(int fd, const char* if_name) {
ifreq req = {0};
strcpy(req.ifr_name, if_name);
if(-1 == ioctl(fd, SIOCGIFFLAGS, &req)) {
perror("Failed IOCTL SIOCGIFFLAGS.");
return;
}
if(req.ifr_flags & IFF_LOOPBACK) {
cout << "Is LOOPBACK." << endl;
return;
}
if(-1 == ioctl(fd, SIOCGIFHWADDR, &req)) {
perror("Failed IOCTL SIOCGIFHWADDR.");
return;
}
unsigned char* puc = (unsigned char*)req.ifr_hwaddr.sa_data;
printf("HW addr: %02x:%02x:%02x:%02x:%02x:%02x\n",
puc[0], puc[1], puc[2], puc[3], puc[4], puc[5]);
}


Ïà¹ØÎĵµ£º

LinuxÄÚºËÖÐARMÖжÏʵÏÖÏê½ârequest_irq£¨£©

ÔÚlinuxÄÚºËÖÐÓÃÓÚÉêÇëÖжϵĺ¯ÊýÊÇrequest_irq£¨£©£¬º¯ÊýÔ­ÐÍÔÚKernel/irq/manage.cÖж¨Ò壺
int request_irq(unsigned int irq, irq_handler_t handler,
                         unsigned ......

Linux——samba·þÎñÅäÖÃÏê½â

1 ²é¿´µ±Ç°°²×°sambaûÓУ¬
ÃüÁrpm -qa | grep samba
ÓÐ3¸öÎļþÈ磺samba¡¢common¡¢clientÔò±íÃ÷³É¹¦°²×°ÁË
·ñÔò£ºÓÃÃüÁîrpm -ivh samba*.rpm°²×°sambaÈí¼þ°ü¡£
2 °²×°Íêºó¶àÊý¶¼±£´æÔÚ/etc/sambaĿ¼Ï£¬Ä¿Â¼ÏÂÓÐÒ»¸ösmb.confµÄÎļþ£¬
ËüÊÇsamba·þÎñµÄºËÐÄÎļþ£¬ËùÓÐÅäÖö¼ÔÚÕâÀïÐ޸ġ£
ÆäÖаüÀ¨smbdºÍnmbdÁ½¸ö³ ......

Linux coreÎļþÉèÖÃ

ÔÚÒ»¸ö³ÌÐò±ÀÀ£Ê±£¬Ä¬ÈÏÇé¿öÏÂÊDz»²úÉúcoreÎļþ¡£
ÏÂÃæµÄÃüÁî¿ÉÒÔ¼ì²éÉú³ÉcoreÎļþµÄÑ¡ÏîÊÇ·ñ´ò¿ª:
$ulimit -a¸ÃÃüÁÏÔʾËùÓеÄÓû§¶¨ÖÆ£¬ÆäÖÐÑ¡Ïî-a´ú±í“all”¡£
$ulimit -c unlimitedÀ´ÈÃÌØ¶¨µÄÓû§¿ÉÒÔ²úÉúcoreÎļþ
coreÎļþ½ö½öÊÇÒ»¸öÄÚ´æÓ³Ïó(ͬʱ¼ÓÉϵ÷ÊÔÐÅÏ¢)£¬Ö÷ÒªÊÇÓÃÀ´µ÷ÊԵġ£Èç¹ûÄú¸ù±¾¾Í²»Ïë ......

Linux——linuxÃüÁ


NO
·ÖÀà
PS1
ÃüÁîÃû
Ó÷¨¼°²ÎÊý
¹¦ÄÜ×¢½â
1
ÏÔʾĿ¼ÐÅÏ¢
#
ls
ls -a
Áгöµ±Ç°Ä¿Â¼ÏµÄËùÓÐÎļþ£¬°üÀ¨ÒÔ.Í·µÄÒþº¬Îļþ
#
ls
ls -l»òll
Áгöµ±Ç°Ä¿Â¼ÏÂÎļþµÄÏêϸÐÅÏ¢
#
ls
ls -a
ÏÔʾËùÓÐÎļþ£¬°üº¬Òþ²Ø¡£
#
ls
ls -al
ÏÔʾËùÓÐÎļþµÄÏêϸÐÅÏ¢¡£
2
²é¿´Â·¾¶
#
pwd
pwd
......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ