
Linux
文章平均质量分 64
onesafe
这个作者很懒,什么都没留下…
展开
-
基础正则表达式
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------^word 待查找的字符串在行首word$原创 2013-10-24 22:19:20 · 583 阅读 · 0 评论 -
pthread_cond_wait()
转自:http://www.cnblogs.com/diyingyun/archive/2011/11/25/2263164.htmlpthread_cond_wait()/************pthread_cond_wait()的使用方法**********/ pthread_mutex_lock(&qlock); pthread_cond_wa转载 2013-11-12 14:16:57 · 721 阅读 · 0 评论 -
VIM中去除搜索高亮和修改高亮颜色
在vim中搜索词后,该词会高亮显示使用命令 :nohl 可以删除高亮转自:http://lifj07.blog.51cto.com/810196/203000/命令模式下利用 :/要搜索的内容 来search,如 ":/ term" 在vim中搜索term修改颜色的命令如下::hi该命令执行后可以显示出所有可以设置的颜色,选择自己中意的一款颜色。复转载 2013-11-12 14:36:47 · 5180 阅读 · 0 评论 -
线程同步之生产者消费者
#include #include #include #include #define BUFFER_SIZE 16 struct prodcons { int buffer[BUFFER_SIZE]; pthread_mutex_t lock; int readpos, writepos; pthread_cond_t notemp原创 2013-11-12 14:59:23 · 880 阅读 · 0 评论 -
守护进程
1、什么是守护进程 守护进程是脱离于终端并且在后台运行的进程。守护进程脱离于终端是为了避免进程在执行过程中的信息不在任何终端上显示并且进程也不会被任何终端所产生的终端信息所打断。2、守护进程的启动 守护进程一般可以通过以下方式启动: A:在系统启动时由启动脚本启动,这些启动脚本通常放在/etc/rc.d目录下 B:利用inetd超级服务器转载 2013-11-12 19:15:11 · 1427 阅读 · 0 评论 -
ssize_t 与 size_t
Ssize_t 与size_t跟踪linux源码得到以下宏: #ifndef _SIZE_T#define _SIZE_Ttypedef __kernel_size_t size_t;#endif #ifndef _SSIZE_T#define _SSIZE_Ttypedef __kernel_ssize_t ssize_t;转载 2013-11-14 20:36:10 · 769 阅读 · 0 评论 -
Centos 6.x Atheros AR8161网卡驱动安装
笔记本装了个双系统,WIN7和Centos6.5,但是Centos 下只能使用无线上网,还以为是自己笔记本哪里坏了,到网上一搜发现是没有装网卡驱动,我的笔记本是DELL的,DELL官网并没有LINUX版的驱动。在网上搜到了一篇博客将我的问题解决了。转自:http://www.doit.net.tw/forum.php?mod=viewthread&tid=55---------------原创 2013-12-19 17:12:38 · 4619 阅读 · 0 评论 -
centos搭建samba
1, 关闭防火墙和selinux2, yum install samba samba-client samba-swat3, rpm -qa | grep samba4,启动samba服务器 /etc/init.d/smb start /etc/init.d/nmb start NMB服务是负责解析用的,类似与DNS实现的功能,NMB可以把Linux系原创 2014-08-30 20:05:07 · 843 阅读 · 0 评论 -
linux配置ftp
一:安装yum -y install vsftpd二:启动service vsftpd startservice vsftpd stopservice vsftpd restartchkconfig vsftpd on三:配置编辑/etc/vsftpd/vsftpd.confanonymous_enable=NO 不允许匿名用原创 2015-05-27 10:44:40 · 563 阅读 · 0 评论 -
Hbase分布式安装(hbase0.94+zookeeper-3.4.5)
之前一直用Hbase自带的zookeeper,然后一直不成功,老出现问题,后来用独立的zookeeper安装成功了,记录下分布式安装Hbase成功的过程安装zookeeper-3.4.51、配置主机名与ip的对应关系,/etc/hosts 2、修改配置文件 conf/zoo.cfgtickTime=2000 dataDir=/usr/local/zookeeper原创 2015-05-29 11:14:18 · 539 阅读 · 0 评论 -
Error: Cannot retrieve metalink for repository: epel. Please verify its path and try again
今天在测试环境使用yum安装,遇到一个问题:Error: Cannot retrieve metalink for repository: epel. Please verify its path and try again处理很简单,修改文件“/etc/yum.repos.d/epel.repo”, 将baseurl的注释取消, mirrorlist注释掉。即可参考U转载 2015-05-18 10:39:33 · 368 阅读 · 0 评论 -
利用LVM制作大容量分区
LVM将一个或多个硬盘的分区在逻辑上集合,相当于一个大硬盘来使用,当硬盘空间不够使用的时候,可以继续将其他的硬盘的分区加入其中1. 安装LVMrpm -qa | grep lvm2. 安装e4fsprogsyum -y install e4fsprogs这个用来对分区进行ext4格式化3. fdisk -l查看有多少块新硬盘原创 2015-12-22 16:23:14 · 864 阅读 · 0 评论 -
ubuntu 安装 Jenkins
本文出自 “布衣鸟人——成长的记忆” 博客,请务必保留此出处http://jackmao90.blog.51cto.com/832047/14107841.查看Java 是否安装 java -version 安装jdk:sudo apt-get install openjdk-7-jdk2.安装Jenkins wget -q -O -转载 2016-05-13 10:11:54 · 736 阅读 · 0 评论 -
如何建立本地Ubuntu安装源
Ubuntu建立本地源非常实用,很多服务器在局域网没有网络或者网络很慢的情况下,或者需要批量安装同样的软件的时候,如果每一台服务器都去外网下载,是不是很慢,而且也不是一个运维工程师愿意这么干的!那有什么好的办法呢,如下记录ubuntu12.04本地源的安装方法,仅供参考。系统环境:ubuntu12.04一、实验目的是在一台ubuntu12.04服务器上面建立ubuntu常用转载 2016-05-13 15:44:17 · 1279 阅读 · 0 评论 -
Linux NFS Server配置
配置nfsrpm -qa | grep nfsvi /etc/exports/mnt/share *(rw, async)exportfs -rv (这个命令可以验证我们设置的配置文件/etc/exports是否正确chkconfig --list | grep nfschkconfig nfs onservice nfs rest原创 2015-12-22 16:48:10 · 566 阅读 · 0 评论 -
Deploy senlin on VIO
apt-get updatedeb http://us.archive.ubuntu.com/ubuntu/ trusty main restricteddeb-srchttp://us.archive.ubuntu.com/ubuntu/trustymainrestricteddebhttp://us.archive.ubuntu.com/ubuntu/t原创 2016-05-20 17:41:55 · 1234 阅读 · 0 评论 -
pthread_join得到pthread_exit传出来的参数
#include #include #include #include struct foo{ int a,b,c,d;}w;void printfoo(const char *s, const struct foo *fp){ printf(s); printf(" structure at 0x%x\n", (unsigned)fp); printf(" foo.原创 2013-11-11 20:13:58 · 1170 阅读 · 0 评论 -
(#)字符串创建算符
APUE里有这样的一个宏定义#define doit(name) pr_limits(#name, name)static void pr_limits(char *, int)doit(RLIMIT_CPU)在doit宏中使用了新的ANSI C字符串创建算符,以便为每个资源名产生字符串值doit(RLIMIT_CPU)这将由C预处理程序扩展为:pr_limit原创 2013-11-11 17:16:48 · 939 阅读 · 0 评论 -
sed简单使用
新增/删除nl /etc/passwd | sed '2,5d' 删除2到5行nl /etc/passwd | sed '3,$d' 删除3到最后一行nl /etc/passwd | sed '2a my name is ...' 第二行后面加上一行字符串my name is ...把a变成i就是在第二行的前面加如果是增加两行的话就在第一行字符串后加 \替原创 2013-10-26 10:40:13 · 791 阅读 · 0 评论 -
排序命令&参数代换args
使用xargs的原因是:很多命令其实并不支持管道命令,因此我们可以通过xargs来提供该命令引用standard input 之用find /sbin -perm +7000 | xargs ls -l--------------------------------------------------------------------------------------原创 2013-10-23 22:33:23 · 665 阅读 · 0 评论 -
unp中my_read和readline
my_read每次读取MAXLINE个字符,然后每次返回一个字符用my_read先读取MAXLINE个字符,存储在数组里面,然后再用readline从数组里面一个一个字符读取my_read只调用了一次read系统调用,相比较于以前的readline版本每次读取一个字符都调用一次read系统调用,会减少很多I/O操作,节省很多时间#include "unp.h"static int原创 2013-10-31 13:10:28 · 1691 阅读 · 0 评论 -
git简单入门
Git是一个分布式的版本控制工具,首先在github官网注册帐号,然后新建仓库。我想把我写的代码放到Git上去,照着官网弄了好久也没有弄好。如今终于是可以把代码放上去了。我按照官网的步骤一步步做,但是最后显示什么没有权限啊。。。Google 之后发现,需要添加ssh key,在account setting--->SSH keys--->add ssh key标题随便写,内容要从.原创 2013-10-31 20:37:50 · 780 阅读 · 2 评论 -
基本UDP套接字之回射程序
客户不与服务器建立连接,而是只管使用sendto函数给服务器发送数据报,其中必须指定目的地的地址作为参数#include ssize_t recvfrom(int sockfd, void *buff, size_t nbytes, int flags, struct sockaddr *from, socklen_t *addrlen);ssize_t sendto(in原创 2013-11-02 17:11:25 · 1277 阅读 · 0 评论 -
使用select函数的TCP和UDP回射服务器程序
1,创建一个监听TCP套接字并捆绑服务器的总所周知端口, 设置SO_REUSEADDR套接字选项以防该端口上已有连接存在2,还创建一个UDP套接字并捆绑与TCP套接字相同的端口,这里无需在调用bind之前设置SO_REUSEADDR套接字选项,因为TCP端口是独立于UDP端口的3,我们调用select只是为了等待监听TCP套接字的可读条件或UDP套接字的可读条件。既然我们的sig_chld原创 2013-11-03 19:22:41 · 1288 阅读 · 0 评论 -
消息队列
消息队列是消息的链接表,存放在内核中并由消息队列标识符标识,消息队列提供了一种由一个进程向另一个进程发送块数据的方法#includeint msgctl(int msgqid, int cmd, struct msqid_ds *buf);第一个参数,msqid,是由msgget函数所返回的标识符第二个参数,cmd,是要执行的动作IPC——STAT ,取此队列的msqid_ds原创 2013-11-04 10:59:29 · 889 阅读 · 0 评论 -
管道实例
将文件复制到分页程序#include #include #include #include #include #include #include #define DEF_PAGER "/bin/more"#define MAXLINE 512int main(int argc, char *argv[]){ int n; int fd[2]; pid_t pid原创 2013-11-04 19:42:48 · 890 阅读 · 1 评论 -
管道
1,历史上,他们是半双工的,现在,某些系统提供全双工管道,但是为了最佳的可移值性,我们决不应预先假定系统提供此特性2,他们只能在具有公共祖先的进程之间使用尽管由这两种局限性,半双工管道任是最常见的IPC形式#include int pipe(int filedes[2])经由参数filedes返回两个文件描述符:filedes[0]为读而打开,filedes[1]为写而打开。f原创 2013-11-04 18:54:26 · 780 阅读 · 0 评论 -
信号量
#include #include #include #include #include #include union semun{ int val; struct semid_ds *buf; unsigned short *array;}sem_union;static int set_semvalue(void);static void del_sem原创 2013-11-05 20:47:37 · 5091 阅读 · 0 评论 -
协同进程
UNIX系统过滤程序从标准输入读取数据,对其进行适当处理后写到标准输出,几个过滤程序通常在shell管道命令行中线性地连接,当一个程序产生某个过滤程序的输入,同时又读取该过滤程序的输出时,则该过滤程序就成为协同进程对两个数求和的简单过滤程序#include #include #include #include #include #include #include int原创 2013-11-05 12:53:13 · 702 阅读 · 0 评论 -
《UNIX环境高级编程》创建临时文件
#include FILE *tmpfile(void);tmpfile创建一个临时二进制文件(类型wb+),在关闭该文件或程序结束时将自动删除这种文件#include #include int main(void){ char name[100],line[100]; FILE *fp; printf("%s\n", tmpnam(NULL)); tmpnam原创 2013-11-19 22:07:01 · 971 阅读 · 0 评论 -
共享存储
两个进程之间通过共享存储传递结构体数据,进程之间通过信号量来同步操作shmsev.c#include #include #include #include #include #include #include #include #include #define SHM_SIZE 1024union semum{ int val; struct semi原创 2013-11-06 11:40:14 · 794 阅读 · 0 评论 -
GDB Core
程序运行发生异常退出,比如segment错误,此时可以利用系统生成的core文件,配合GDB来定位问题。问题程序: segment.c#include #include #include #include void func(){ char *p = NULL; *p = 3;}main(){ func(); return;}转载 2013-11-06 17:12:15 · 672 阅读 · 0 评论 -
strlen和sizeof
#include #include #include #include int main(void){ int n = 0; char buf[512]; char buf2[] = "wo shi yi ge ren\n"; printf("%% "); while(fgets(buf, 512, stdin)!=NULL) { n = strlen(buf);原创 2013-11-08 14:48:06 · 786 阅读 · 0 评论 -
ssl certificate
SSL 认证1. 制作CSR文件2. CA认证3. 上传证书首先生成根证书openssl req –new –x509–keyout ca.key –out ca.crt 用根证书将我们的cert.csr文件生成crt证书文件首先建立几个目录和文件mkdir –p./demoCA/newcerts原创 2016-06-20 17:43:35 · 1359 阅读 · 0 评论