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 ...
随机推荐
- 线性代数:A转置乘以A可逆
如果A的列向量线性无关,则 T(A)*A得到一个可逆的方阵. 假设A是一个kxn的矩阵,那么T(A)*A是一个nxn的方阵:要证明这个方阵可逆,只要证明N(T(A)*A) = 零空间即可. 假设列向量 ...
- Django 组合索引
TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [os.path.join( ...
- Vue.js学习笔记 第五篇 事件处理
监听事件 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <titl ...
- Go 书单
一.<Go语言学习笔记> (未找到对应版本的电子书,大家可以去作者github:https://github.com/qyuhen/book) 推荐理由:作为时下流行的一种系统编程语言,G ...
- Spring MVC 接收多个实体参数
在SpringMVC 的接收参数中,如果接收一个实体对象,只需要在方法参数中这样做:@RequestBody User user //单个的时候这样接收 @RequestMapping(value = ...
- linux运维面试题1
一.填空题 1. 在Linux 系统 中,以文件方式访问设备 . 2. Linux 内核引导时,从文件/etc/fstab中读取要加载的文件系统 . 3. Linux 文件系统中每个文件用indoe节 ...
- 多校hdu-5775 Bubble sort(线段树)
题意根据题目中给的冒泡排序写出每个元素交换过程中该元素位置左右最大差距: 分析:因为题目中冒泡程序从后向前遍历的,假设第i个元素左边有k个比i小的数,那么i必定会向右移动k位,我们用k1记住i+k,用 ...
- word导出失败问题
1.问题分析: 求职者在线填写招聘简历,人事hr下载简历无法打开,报错如下: 对于”根据架构,xml数据无效”,是因为没有成功生产xml,内部代码里还包含word无法识别的代码块,所以无法打开,通过用 ...
- Spark-运行时架构
Spark运行时架构 在分布式环境下,Spark集群采用的时主/从结构.在一个Spark集群中,有一个节点负责中央协调,调度各个分布式工作节点.这个中央协调节点被称为驱动器(Driver),与之对应的 ...
- windows 10系统更新失败的解决办法
最近遇到一个问题,系统总是自动下载一个更新,看样子是个补丁吧,但是每次提醒重新启动以安装更新,但每次又安装失败,回退.就这样,下载,重启,安装失败,下载......一直循环,搞得都不敢关机了,因为这样 ...