获取系统时间

int getlocaltime(struct tm *time)
{
    struct timeval tv;
    time_t second;
    struct tm *temp;

    gettimeofday(&tv, NULL);
    second = tv.tv_sec;

    temp = localtime(&second);
    temp->tm_year += ;
    temp->tm_mon += ;
    memcpy(time, temp,sizeof(struct tm));

    ;
}

设置系统时间

int setlocaltime(struct tm *tm)
{
    time_t timesec;
    struct timeval tv;
    struct tm temptm;

    memcpy(&temptm,tm,sizeof(temptm));
    temptm.tm_year = tm->tm_year - ;
    temptm.tm_yday = ;
    temptm.tm_isdst = -;                /* Be sure to recheck dst. */
    timesec = mktime(&temptm);
    tv.tv_sec = timesec;
    tv.tv_usec    = ;
    settimeofday(&tv,);        //设置系统时间
    ;
}

获取IP地址

void getip(unsigned char* ip_buf,char * name)
{
    struct ifreq temp;
    struct sockaddr_in *myaddr;
    ;
    ;
    strcpy(temp.ifr_name, name);

    ))<)
    {
        return NULL;
    }
    ret = ioctl(fd, SIOCGIFADDR, &temp);
    close(fd);
    )
        return NULL;
    myaddr = (struct sockaddr_in *)&(temp.ifr_addr);
    strcpy(ip_buf, inet_ntoa(myaddr->sin_addr));
    printf("getip:%s\n",ip_buf);

} 

设置IP地址

int setip(char* ip)
{
    struct ifreq temp;
    struct sockaddr_in *addr;
    ;
    ;
    strcpy(temp.ifr_name, "eth0");

    ))<)
    {
        ;
    }

    addr = (struct sockaddr_in *)&(temp.ifr_addr);
    addr->sin_family = AF_INET;
    addr->sin_addr.s_addr = inet_addr(ip);
    ret = ioctl(fd, SIOCSIFADDR, &temp);
    close(fd);
    )
        ;
    ;
} 

检查网线是否连接

int check_nic(void)
{
    struct ifreq ifr;
    );  

    strcpy(ifr.ifr_name, "eth0");
    )
    {
        close(skfd);
        ;
    } 

    if(ifr.ifr_flags & IFF_RUNNING)
    {
        printf("link up\n");
        close(skfd);
        ; // 网卡已插上网线
    }
    else
    {
        printf("link down\n");
        close(skfd);
        ;
    }
}  

读取本机MAC地址

int read_mac(unsigned char *buf,char *name)
{
    int sock;
    int ret;
    struct ifreq ifr; 

    sock = socket(AF_INET, SOCK_DGRAM, );
    )
    {
        perror("socket error");
        ;
    } 

    memset(&ifr, , sizeof(ifr));
    strcpy(ifr.ifr_name, name);
    ifr.ifr_name[] = '\0';

    ret = ioctl(sock,SIOCGIFHWADDR,&ifr);
    )
    {
        memcpy(buf, ifr.ifr_hwaddr.sa_data, );
        printf("HW address is: %02x:%02x:%02x:%02x:%02x:%02x \n",
        (unsigned ], (unsigned ], (unsigned ],
        (unsigned ], (unsigned ], (unsigned ]);

    }
    else
    {
        perror("ioctl error!\n");
    }

    close(sock);

    return ret;
}

判断文件是否存在

int is_file_exist(const char *file_path)
{
    if(file_path == NULL)
        ;
    )
        ;
    ;
}

linux下常用的基本设置与操作C语言实现的更多相关文章

  1. Linux下常用的操作

    Linux下常用的操作 文件定位 locate filename 有些版本的linux会出现 -bash: locate: command not found错误,不要慌,安装一下mlocate包就好 ...

  2. linux下MySQL安装登录及操作

    linux下MySQL安装登录及操作 二.安装Mysql 1.下载MySQL的安装文件 安装MySQL需要下面两个文件: MySQL-server-4.0.16-0.i386.rpm MySQL-cl ...

  3. MongoDB在Linux下常用优化设置

    MongoDB在Linux下常用优化设置 以下是一些MongoDB推荐的常用优化设置.在生产环境下选取合适的参数值,例如预读值和默认文件描述符数目等,会对系统性能有很大的影响. 1.关闭数据库文件的 ...

  4. linux下常用的截图、录屏工具

    录屏: 在linux下常用的录屏工具有5种,可以baidu或者google下喔,我选用的是recordMydesktop,使用非常方便,用时注意先把每秒桢数调高,否则效果必然很差. 在ubuntu下可 ...

  5. Linux下常用的ftp操作命令

    Linux下常用的ftp操作命令 =========== 完美的分割线 ============= 1.登陆ftp服务器 ftp [IP] [PORT] # 登陆ftp服务器,本机登陆可以不写IP 实 ...

  6. linux下常用命令备忘

    转自:Linux 命令集锦 linux下查看监听端口对应的进程 # lsof -i:9000 # lsof -Pnl +M -i4 如果退格键变成了:"^h". 终端连接unix删 ...

  7. zip,rar及linux下常用的压缩格式

    日常操作中我们经常使用到文件压缩操作,其使用一些特定的算法来减小文件的大小,可以提高传输数据时的速率和减少数据在一些存储机制上占有的空间大小,实现空间利用最大化. 比如:如果你想通过邮箱发送一个文件夹 ...

  8. linux下常用关机命令

    linux下常用的关机命令有:shutdown.halt.poweroff.init:重启命令有:reboot.下面本文就主要介绍一些常用的关机命令以及各种关机命令之间的区别和具体用法. 首先来看一下 ...

  9. Linux 下常用解压命令(转载)

    Linux下常用文件解压(包括rpm.deb包) Linux下怎么解后缀名是gzip的文件?1.以.a为扩展名的文件:#tar xv file.a2.以.z为扩展名的文件:#uncompress fi ...

随机推荐

  1. 2020年将热门的8大IT职业领域

    近日,外媒梳理了未来5年内,也是就是2020年仍将受到热捧的八大科技领域,为IT从业者如何做好长远规划.有针对性地培养自身技能.又不偏离热门岗位提供了参考.(图片来自网易) 2020年将热门的8大IT ...

  2. OC_id类型

     博客正式开通啦!以后会每天为大家更新知识,将过去学习的笔记发布出来.供大家学习交流. 在Objective-C 中,id 类型是一个独特的数据类型.在概念上,类似Java 的Object 类,可以转 ...

  3. Golang 高性能UDP Server实现

    通过Goroutine实现UDP消息并发处理 package main import ( "net" "fmt" "os" ) // 限制g ...

  4. 0x5C 计数类DP

    cf 559C 考虑到黑色的格子很少,那么我把(1,1)变成黑色,然后按每个黑色格子接近终点的程度排序,计算黑色格子不经过另一个黑色格子到达终点的方案,对于当前的格子,要减去在它右下角的所有方案数(注 ...

  5. /var/spool/clientmqueue 爆满问题

    当你使用简单的sendmail发邮件的时候,或者系统默认要发一些邮件(比如cron发的邮件)的时候,首先会把邮件拷贝到这个目录里,然后等待MTA(mail transfer agent) 来处理,MT ...

  6. 分布式技术 webservice

    web service 是一个平台独立的.低耦合的.自包含的.基于编程的web的应用程序,可使用开发的XML(标准通用标记语言下的一个字表)标准来描述.发布.发现.协调和配置这些应用程序,用于开发分布 ...

  7. nginxif多条件结合判断(实现限速)

    参考文章: https://yq.aliyun.com/articles/44957 需求: 要对某一ip下,使用android客户端的用户进行限速 原理 就是用SET变量进行. AND 就用变量叠加 ...

  8. hdu 5904 LCIS dp

    LCIS Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Problem Des ...

  9. Codeforces Round #367 (Div. 2) D. Vasiliy's Multiset trie树

    D. Vasiliy's Multiset time limit per test 4 seconds memory limit per test 256 megabytes input standa ...

  10. javaScript中的DOM补充

    一.DOM树 二.DOM节点 DOM 是这样规定的:    整个文档是一个文档节点     每个 HTML 标签是一个元素节点     包含在 HTML 元素中的文本是文本节点     每一个 HTM ...