linux下常用的基本设置与操作C语言实现
获取系统时间
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语言实现的更多相关文章
- Linux下常用的操作
Linux下常用的操作 文件定位 locate filename 有些版本的linux会出现 -bash: locate: command not found错误,不要慌,安装一下mlocate包就好 ...
- linux下MySQL安装登录及操作
linux下MySQL安装登录及操作 二.安装Mysql 1.下载MySQL的安装文件 安装MySQL需要下面两个文件: MySQL-server-4.0.16-0.i386.rpm MySQL-cl ...
- MongoDB在Linux下常用优化设置
MongoDB在Linux下常用优化设置 以下是一些MongoDB推荐的常用优化设置.在生产环境下选取合适的参数值,例如预读值和默认文件描述符数目等,会对系统性能有很大的影响. 1.关闭数据库文件的 ...
- linux下常用的截图、录屏工具
录屏: 在linux下常用的录屏工具有5种,可以baidu或者google下喔,我选用的是recordMydesktop,使用非常方便,用时注意先把每秒桢数调高,否则效果必然很差. 在ubuntu下可 ...
- Linux下常用的ftp操作命令
Linux下常用的ftp操作命令 =========== 完美的分割线 ============= 1.登陆ftp服务器 ftp [IP] [PORT] # 登陆ftp服务器,本机登陆可以不写IP 实 ...
- linux下常用命令备忘
转自:Linux 命令集锦 linux下查看监听端口对应的进程 # lsof -i:9000 # lsof -Pnl +M -i4 如果退格键变成了:"^h". 终端连接unix删 ...
- zip,rar及linux下常用的压缩格式
日常操作中我们经常使用到文件压缩操作,其使用一些特定的算法来减小文件的大小,可以提高传输数据时的速率和减少数据在一些存储机制上占有的空间大小,实现空间利用最大化. 比如:如果你想通过邮箱发送一个文件夹 ...
- linux下常用关机命令
linux下常用的关机命令有:shutdown.halt.poweroff.init:重启命令有:reboot.下面本文就主要介绍一些常用的关机命令以及各种关机命令之间的区别和具体用法. 首先来看一下 ...
- Linux 下常用解压命令(转载)
Linux下常用文件解压(包括rpm.deb包) Linux下怎么解后缀名是gzip的文件?1.以.a为扩展名的文件:#tar xv file.a2.以.z为扩展名的文件:#uncompress fi ...
随机推荐
- 数字代币ICO
随着比特币.莱特币.以太币的逐步兴起,越来越多的数字代币开始衍生,虚拟货币扑朔迷离,一不小心就被人割了韭菜..... 从荷兰IPO的故事说起 400多年前,西方有一群精英海盗开了一家公司.为了顺利拓展 ...
- python装饰器实现HTTP请求耗时和入参返回日志记录
装饰器方法: 1 def decoArgs(server_name): 2 def deco(func): 3 def wrapper(view, request, *args, **kwargs): ...
- 【P2422】良好的感觉(单调栈优化DP//奇怪的暴力)
话说正解是单调栈优化DP,然而貌似根据某种玄学的推算,这个题暴力出解貌似也是可以的.首先,我们枚举所有的点作为最小点,然后横向展开,遇到更小的就停止...然后再操作一下,看上去时间O(N^2),然而由 ...
- java深入探究08-连接池,分页
1.连接池 1)自定义连接池 思路:定义一个类Pool->添加4个属性(最大连接数,初始化连接数,当前连接数,用来存放连接对象的LinkList集合对象)->定义一个createConne ...
- Java注解处理器
Java注解处理器 2015/03/03 | 分类: 基础技术 | 0 条评论 | 标签: 注解 分享到:1 译文出处: race604.com 原文出处:Hannes Dorfmann Java ...
- django 之补充
在dos命令行中输入 pip 如下命令进行安装: 安装最新的版本的 Django 命令如下: pip install django 安装 指定版本的 Django 命令如下: ...
- 使用dpkg时,提示:dpkg:处理软件包XXX时出错
今天kali上安装搜狗输入法时,显示依赖关系问题,无法安装,百度搜了一下,找到解决方法. 使用dpkg时,提示:dpkg:处理软件包XXX时出错: 依赖关系问题,仍未被配置 类似于: 时,使用如下命令 ...
- R语言常用语法总结
## 1. 数据输入 ##a$b # 数据框中的变量a = 15 # 赋值a <- 15 # 赋值a = c(1,2,3,4,5) # 数组(向量)b = a[1] # 数组下标,从1开始b = ...
- PHP版微信第三方实现一键登录及获取用户信息的方法
本文实例讲述了PHP版微信第三方实现一键登录及获取用户信息的方法.分享给大家供大家参考,具体如下: 注意,要使用微信在第三方网页登录是需要“服务号”才可以哦,所以必须到官方申请. 一开始你需要进入微信 ...
- 利用ChromeOptions()加载用户配置
一. 如何绕过页面登录 我们在登录网站的时候,通常需要输入用户名.密码和验证码,那么有没有办法绕过登录环节呢? 有两种方法可以解决这个问题,一种是利用chrome浏览器的用户配置,一种是利用cooki ...