介绍一下Linux系统中一些自带信息的获取操作等,首先从源码中找到系统信息结构体进行分析。

1、系统信息结构体说明与获取方法:

含义:

struct sysinfo {

long uptime;          /* 启动到现在经过的时间 */

unsigned long loads[3];

/* 1, 5, and 15 minute load averages */

unsigned long totalram;  /* 总的可用的内存大小 */

unsigned long freeram;   /* 还未被使用的内存大小 */

unsigned long sharedram; /* 共享的存储器的大小*/

unsigned long bufferram; /* 共享的存储器的大小 */

unsigned long totalswap; /* 交换区大小 */

unsigned long freeswap;  /* 还可用的交换区大小 */

unsigned short procs;    /* 当前进程数目 */

unsigned long totalhigh; /* 总的高内存大小 */

unsigned long freehigh;  /* 可用的高内存大小 */

unsigned int mem_unit;   /* 以字节为单位的内存大小 */

char _f[20-2*sizeof(long)-sizeof(int)];

/* libc5的补丁

};

获取方法:

struct sysinfo s_info;//系统信息结构体

memset(&s_info, 0, sizeof(s_info));

sysinfo(&s_info);//获取系统信息

2、文件查询access函数

定义:

int access(const char * pathname, int mode);

函数说明:

access()会检查是否可以读/写某一已存在的文件。参数mode有几种情况组合, R_OK,W_OK,X_OK 和F_OK。R_OK,W_OK与X_OK用来检查文件是否具有读取、写入和执行的权限。F_OK则是用来判断该文件是否存在。由于access()只作权限的核查,并不理会文件形态或文件内容,因此,如果一目录表示为“可写入”,表示可以在该目录中建立新文件等操作,而非意味此目录可以被当做文件处理。例如,你会发现DOS的文件都具有“可执行”权限,但用execve()执行时则会失败。

使用方法:

if(access("/var/run/wpa_supplicant/wlan0", 0) == 0)//查询是否存在一个可读文件

3、main函数带进来的参数说明:

argc是命令行总的参数个数

argv[]是argc个参数,其中第0个参数是程序的全名,以后的参数命令行后面跟的用户输入的参数,比如:

int  main(int argc,  char* argv[])

{

int   i;

for (i = 0; i<argc; i++)

cout<<argv[i]<<endl;

cin>>i;

return   0;

}

执行时敲入

F:/MYDOCU~1/TEMPCODE/D1/DEBUG/D1.EXE   aaaa   bbb   ccc   ddd

输出如下:

F:/MYDOCU~1/TEMPCODE/D1/DEBUG/D1.EXE

aaaa

bbb

ccc

ddd

Linux之系统信息操作20170330的更多相关文章

  1. 运用Python语言编写获取Linux基本系统信息(三):Python与数据库编程,把获取的信息存入数据库

    运用Python语言编写获取Linux基本系统信息(三):Python与数据库编程 有关前两篇的链接: 运用Python语言编写获取Linux基本系统信息(一):获得Linux版本.内核.当前时间 运 ...

  2. [转]linux 查看系统信息命令

    linux 查看系统信息命令是linux初学者必备的基础知识, 这些命令也非常有用, 因为进入linux第一件事就可能是首先查看系统信息, 因此必要的系统的学习一下这些linux系统信息命令还是非常有 ...

  3. Linux 图形化操作

    //Linux图形化操作 #include <stdio.h> #include <stdlib.h> #include <string.h> #include & ...

  4. linux查看系统信息命令

    本文转载自江一<linux查看系统信息命令> # uname -a # 查看内核/操作系统/CPU信息 # head -n 1 /etc/issue # 查看操作系统版本 # cat /p ...

  5. linux 查看系统信息命令(比较全)

    linux 查看系统信息命令是linux初学者必备的基础知识, 这些命令也非常有用, 因为进入linux第一件事就可能是首先查看系统信息, 因此必要的系统的学习一下这些linux系统信息命令还是非常有 ...

  6. linux shell 字符串操作(长度,查找,替换)详解

    linux shell 字符串操作(长度,查找,替换)详解 在做shell批处理程序时候,经常会涉及到字符串相关操作.有很多命令语句,如:awk,sed都可以做字符串各种操作. 其实shell内置一系 ...

  7. linux C 数组操作

    /****************************************************************** * linux C 数组操作 * 声明: * 本文为解决陈颖奇遇 ...

  8. Linux应用层直接操作GPIO

    Linux应用层直接操作GPIO 在一个老手的指导下,应用层可以直接操作GPIO,具体指设置GPIO的输入输出以及输出电平高或者低.这个大大地提高了灵活性,官方的文档有GPIO Sysfs Inter ...

  9. linux 查看系统信息命令

    linux 查看系统信息命令是linux初学者必备的基础知识, 这些命令也非常有用, 因为进入linux第一件事就可能是首先查看系统信息, 因此必要的系统的学习一下这些linux系统信息命令还是非常有 ...

随机推荐

  1. Centos6升级至openssh-7.5p1

    最近公司有几台服务器需要搬至甲方(政府单位),所以在安装服务时用的是16年的openssh7.3pl, 今天通知我们有漏洞,需要再一次升级,看到官方文档上版本已升级至7.5,所以干脆直接搞7.5 具体 ...

  2. [寒假学习笔记](二)Python初学

    Python 学习 python的自学从几个月前断断续续地进行,想好好利用这个寒假,好好地学一学. 回顾 已学习:基本操作.函数 已有C++的一定基础,只要注意python中比较特殊的部分就行 进入正 ...

  3. Js 问题分析--js 影响页面性能

    文档下载链接:http://pan.baidu.com/s/1i4Hci4d (失效请留言)

  4. c# 加载图片 正在被占用问题

    问题情境:图片文件加载到pdf中,程序没有退出,再次加载该图片文件,提示被占用. 解决办法: 1.加载文件会锁定该文件,fromfile方法会导致占用内存较大,不使用该方法. FileStream f ...

  5. golang中的检验hash

    1.对字符串进行hash 大家可以看一下, SHA1 Hashes Go by Example写道: The pattern for generating a hash is sha1.New(), ...

  6. DELL服务器PXE前期处理

    thaks:https://www.cnblogs.com/520ZXL/ PXE批量推系统,服务器要具备条件:raid处理好,设置为pxe启动,与PXE服务器网络要通 先进入磁盘阵列(ctrl+R) ...

  7. 2."结对项目"的心得体会

    上个星期,老师给我们布置了个课堂小作业:   某公司程序员二柱的小孩上了小学二年级,老师让家长每天出30道(100以内)四则运算题目给小学生做.二柱立马就想到写一个小程序来做这件事. 这个事情可以用很 ...

  8. 爬虫学习之-urlparse之urljoin()

    首先导入模块,用help查看相关文档 >>> from urlparse import urljoin >>> help(urljoin) Help on func ...

  9. Django之logging日志

    简介 Django使用python自带的logging 作为日志打印工具.简单介绍下logging. logging 是线程安全的,其主要由4部分组成: Logger 用户使用的直接接口,将日志传递给 ...

  10. vue.cli实现tab切换效果

    <template> <div class="cp-select">                     <div class="lef ...