
Linux
文章平均质量分 79
彼岸之音
这个作者很懒,什么都没留下…
展开
-
Linux系统与网络管理
这里介绍ubuntu中系统与网络管理相关命令1、系统状态管理w:查看当前系统的负载 vmstat :监控系统的状态 top: 显示进程所占系统资源 sar: 监控系统状态 free:查看内存使用状况 ps :查看系统进程 netstat: 查看网络状况 hostname:显示主机名,或后面跟主机名加以更改2、网络ifconfig: 查看网卡IP等信息 route:原创 2015-11-20 19:13:04 · 2647 阅读 · 0 评论 -
Linux netstat命令详解
简介Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。输出信息含义执行netstat后,其输出结果为Active Internet connections (w/o servers)Proto Recv-Q Send-Q Local A转载 2016-11-30 21:54:17 · 689 阅读 · 0 评论 -
Linux基础-Shell基本命令和Vim介绍
Ubuntu基础入门用过windows,但对于操作系统另一大块内容却一点都不懂,对于linux操作系统基本是没有任何的了解,因此花点时间对之探索一番;对于windows这样的桌面型系统用起来可谓是超级简单,没有任何的技术,基本上拿来就能用,可以慢慢摸索了解。然而对于linux来说就有点难度了,它对于桌面的支持不多,用的最多的就是通过命令行的方式来使用。因此也就多用在企业中。个人用户用的不多。简单说一原创 2015-11-16 21:23:07 · 4846 阅读 · 0 评论 -
Linux webbench 源码解析
Web Bench是一个网站压力测试的工具。其最后更新时间是2004年,已经十年多了。其源代码总共才不到600行,全部使用C语言编写,最多可以模拟3万个并发连接。真可谓是简洁代码的代表之作。 用法:可以在安装后直接输入 webbench 或 webbench -h 或 webbench –help. 可以看到:webbench [option]... URL -f|--fo转载 2016-11-27 10:23:24 · 659 阅读 · 0 评论 -
Linux 非缓冲I/O与缓冲I/O
在linux系统中,文件的I/O分为两种类型,第一种类型是非缓冲式文件操作,主要是由系统调用提供,另一种是缓冲式I/O操作,主要是由C语言的标准输入输出库函数提供。这里学习一下非缓冲式文件I/O操作,下面简称I/O.非缓冲的文件I/O非缓冲式文件操作适用于小规模文件的读写,或者是实时设备,执行非缓冲式文件操作,应用程序能够立即得到数据。非缓冲式文件操作的函数主要是由系统调用提供。操作系统内核利用文件原创 2015-11-24 22:16:50 · 1210 阅读 · 0 评论 -
Linux文件与目录管理
这里对ubuntu系统中的文件和目录操作进行简单介绍1、文件与目录 ubuntu文件系统的根目录为 /,根目录下包含许多文件,根据应用类型分类。一般用户进入Shell时的操作目录为home/username。每个用户在home下都有一个与用户名相同的文件夹作为用户主目录。绝对路径:以 /开始的路径 相对路径的符号表示 :. : 代表当前目录.. : 代表上一层目录~: 代表用户主目录原创 2015-11-17 16:42:23 · 614 阅读 · 0 评论 -
Linux IO函数
Linux网络编程中,针对套接字读写的函数有很多,下面介绍一些函数的常见用法;这里介绍的函数都是linux系统中的特有函数,与C标准库中的IO函数存在一定的区别。1、read() 和 write()函数 read() 和 write() 函数是Linux中最基本的读写函数,可以用于各种数据的读写。/* 返回值:成功则为读取或写入的字节个数,失败为-1; * 定义: */#incl原创 2016-11-03 10:07:35 · 1380 阅读 · 0 评论 -
Linux getopt函数详解
getopt为linux系统中的函数,用来解析命令行参数,调用形式如下:while((c = getopt(argc, argv, "xy:z::")) != -1){ switch(c) { case 'x': ... ... case 'y': ... ... case 'z': ... ... ...转载 2016-11-25 11:31:07 · 2205 阅读 · 0 评论 -
Linux 线程简单介绍
在处理某些问题时,有时候会通过生成子进程来实现,但是,进程是昂贵的,利用子进程来处理相关问题需要很大的开销,因此有时候需要线程来处理,线程可以看成的轻量的进程。同一进程内的线程共享以下数据:全局内存;进程指令;打开的文件;信号处理函数和信号处置;当前工作目录;用户ID和用户组ID;大多数数据;每个线程有各自的:线程ID;寄存器集合,包括程序计数器和栈指针;栈;errono;原创 2016-11-21 22:29:20 · 491 阅读 · 0 评论 -
Linux 信号量
信号量信号量主要用于进程和线程间的同步,信号量保存一个整数值来控制对资源的访问,当值大于0时,表示资源空闲可以访问,等于0时表示资源分配完毕无法访问,小于0时表示有至少1个线程(进程)正在等待资源。如果信号量的值只为0或1,那么它就是一个二元信号量,功能就想当于一个互斥锁。信号量的P,V操作信号量只有两种操作:等待和发送信号,分别用P(s), V(s)表示。P,V操作是不可分割的。P(s): 如果s原创 2017-08-19 18:20:49 · 2102 阅读 · 0 评论 -
Linux cat,more,less等命令
在Linux系统中有三种命令可以用来查看全部的文件:cat,more,less通过这个些命令可以直接在控制台输出需要查看文件的内容,这几个命令各有不同。cat命令可以一次显示整个文件,如果文件比较大,使用不是很方便;more命令可以让屏幕在显示满一屏幕时暂停,此时可按空格健继续显示下一个画面,或按Q键停止显示;less命令也可以分页显示文件,和more命令的区别就在于它支持上下键卷动屏幕,当结原创 2016-11-30 17:32:52 · 1844 阅读 · 0 评论 -
Linux gcc,gdb命令及vim配置
Linux下c/c++开发工具及配置在linux下进行从c/c++程序开发,与window上很不一样,在windows上有很好的集成开发环境,直接安装软件按照步骤来就行,这种集成方式很简单好用。在linux下没有这种较好的集成环境,都是通过多个小工具组合在一起实现强大的功能,因此这样比较自由,对于程序开发具有良好的定制性;这里使用的系统是centos6.7.linux下开发从c/c++需要的几个主要原创 2015-11-20 21:03:40 · 1097 阅读 · 0 评论 -
Linux signal, wait, waitpid 函数
信号就是告知某个进程发生了某件事情的通知,有时也称为软件中断,可以由一个进程发给另一个进程,也可以由内核发给进程。一、signal 函数1、定义#include <signal.h>signal(参数1,参数2);/* * 说明: * 参数1位信号名,即我们要处理的信号,在linux中系统信号一共64个,用宏定义表示; * 通过kill -l 可以查看系统所有信号类型; * 其中SIGK原创 2016-10-15 21:29:00 · 5865 阅读 · 0 评论 -
Linux下make和makefile
system:centos我们知道在vs中开发一个项目可以建立很多的文件包括各种头文件和.c 文件,编译的时候程序会自动编译链接。然而在linux下开发程序,当项目较大,文件又多时,我们需要将这些文件组织起来进行编译链接,这就需要用到make工具和makefile文件了;make:make是linux中的一个常用命令,在当前目录下,输入make,系统会自动在当前目录中寻找名为Makef原创 2015-11-21 22:12:59 · 2339 阅读 · 0 评论 -
Linux-Shell脚本和RE
这里介绍ubuntu中shell脚本的相关基本知识即正则表达式的用法1、记录命令历史我们敲过的命令,linux是会有记录的,预设可以记录1000条历史命令。这些命令保存在用户的家目录中的.bash_history文件中。有一点需要你知道的是,只有当用户正常退出当前shell时,在当前shell中运行的命令才会保存至.bash_history文件中。与命令历史有关的有一个有意思的字符那就是”!”了。常原创 2015-11-18 11:26:16 · 1908 阅读 · 0 评论 -
Linux 基本UDP套接字编程
UDP(User Datagram Protocol) : 用户数据报协议,是一种无连接,不可靠的数据传输服务。与TCP不同的是,它不需要建立连接就可以直接传输数据,也就不存在关闭连接之类的问题。 常见的UDP程序有:DNS,NFS,SNMP。一、recvfrom 和 sendto 函数 recvfrom 和 sendto 函数主要用于UDP数据的读写操作,一个用于接收网络数据,一个用于向对方发原创 2016-10-22 10:09:39 · 650 阅读 · 0 评论 -
Linux Unix域套接字
套接字API多用于网络通信,用于不同主机间进行通信,虽然也可以用于同一主机进程间通信,但是没有Unix域套接字效率高。Unix域套接字用于同一主机进程间通信(即单个主机上客户/服务器通信),提供两种套接字类型字节流套接字(类似TCP)和数据报套接字(类似UDP)。1、Unix域套接字结构#include <sys/un.h>struct sockaddr_un{ sa_family_t s原创 2016-11-03 21:35:28 · 4221 阅读 · 0 评论 -
Linux安装eclipse
用gcc,gdb在linux上进行编译调试实在是麻烦,安装一个集成开发环境来简化操作。linux上c/c++集成开发环境很多,熟悉的可以使用codeblocks,这里安装eclipse。1、安装JDK 安装eclipse之前需要保证系统上安装了JDK,可以在官网上下载压缩包进行解压安装,这里方式太麻烦,在centos上可以直接输入yum install java 进行安装,需要在root权限下操作原创 2016-10-13 20:57:26 · 5896 阅读 · 0 评论 -
Linux 套接字编程基础
套接口即网络进程的ID;网络通信归根到底即为进程间的通信;套接字中包含了端口号,用来确定进程,一个端口号一次只能分配给一个进程,即端口号与进程是一一对应的;一、套接字的结构1、IPv4套接字地址结构 IPv4地址结构命名为sockaddr_in,定义在<netinet/in.h>头文件中,结构定义如下:struct sockaddr_in { sa_family_t sin_family;原创 2016-10-15 15:37:55 · 4033 阅读 · 0 评论 -
fcntl 和 ioctl
一、fcntlfcntl 函数用于执行各种描述符控制操作;/* 返回值:成功取决于cmd,失败返回-1; * 定义: */#include <fcntl.h>int fcntl(int sockfd, int cmd, /* int arg */);/* 说明: * 第三个参数可有可没有,根据需要给出; */函数有下面5种功能:复制一个现有的描述符(cmd=F_DUPFD);获得/原创 2016-11-09 11:04:24 · 3954 阅读 · 0 评论 -
Linux 主机名服务名地址转换函数
介绍一些linux套接字编程中常见的地址转换等相关函数。1、gethostbyname, gethostbyaddr 一般来说,网络中使用的地址都是域名地址,这样更加直观可读,需要将地址进行相应的转换来获取实际需要的地址形式。/* gethostbyname * 返回值:成功则为非NULL,错误则为NULL且设置h_errno; * 定义: */#include struc原创 2016-10-31 11:26:00 · 1344 阅读 · 0 评论 -
Linux I/O复用:select ,poll,epoll
I/O复用:一种进程预先告知内核的能力,使得内核一旦发现进程指定的一个或多个I/O条件就绪,它就通知进程。一、5种I/O模型 Linux下有5种I/O模型,分别为:阻塞式I/O;非阻塞式I/O;I/O复用;信号驱动式I/O;异步I/O; 阻塞式I/O,即应用程序调用IO函数,导致程序阻塞(当前进程被挂起,暂停运行直到函数返回),等待数据准备好,如果数据没有准备好,进程原创 2016-10-19 11:19:52 · 980 阅读 · 0 评论