linux
B_H_L
这个作者很懒,什么都没留下…
展开
-
libiconv静态编译
Linux:1、//配置文件生成Makefile#./configure --prefix=/usr/local/lib --enable-static=yes注释:prefix要绝对路径,是存放bin lib doc的目录2、编译生成目标文件#make3、把目标文件拷贝到/usr/local/lib#make install4、清除转载 2015-09-29 13:35:03 · 3299 阅读 · 0 评论 -
shell递归遍历目录
#!/bin/bash# 定义一个方法foreachd(){# 遍历参数1 echo $1 for file in $1/* do # 如果是目录就打印处理,然后继续遍历,递归调用 if [ -d $file ] then转载 2014-03-07 12:07:47 · 5261 阅读 · 0 评论 -
shell中uniq与sort -u 两种去重的对别
sort -u 和 uniq都能起到删除重复信息的功能,那么他们的区别究竟在哪呢?$ cat test jasonjasonjasonfffffjason下面分别执行三个命令1:sort -u testsort -u testfffffjason2: uniq test$uniq test jas转载 2014-03-07 10:33:53 · 80051 阅读 · 0 评论 -
linux awk 内置函数详细介绍
这节详细介绍awk内置函数,主要分以下3种类似:算数函数、字符串函数、其它一般函数、时间函数 一、算术函数:以下算术函数执行与 C 语言中名称相同的子例程相同的操作:函数名说明atan2( y, x )返回 y/x 的反正切。cos( x )返回 x 的余弦;x 是弧度。sin( x转载 2014-03-07 10:21:18 · 1045 阅读 · 0 评论 -
gcc编译动态和静态链接库
我们通常把一些公用函数制作成函数库,供其它程序使用。函数库分为静态库和动态库两种。静态库在程序编译时会被连接到目标代码中,程序运行时将不再需要该静态库。动态库在程序编译时并不会被连接到目标代码中,而是在程序运行是才被载入,因此在程序运行时还需要动态库存在。本文主要通过举例来说明在Linux中如何创建静态库和动态库,以及使用它们。在创建函数库前,我们先来准备举例用的源程序,并转载 2014-02-26 16:38:44 · 1571 阅读 · 0 评论 -
Hadoop集群安装配置
1、集群部署介绍 1.1 Hadoop简介 Hadoop是Apache软件基金会旗下的一个开源分布式计算平台。以Hadoop分布式文件系统(HDFS,Hadoop Distributed Filesystem)和MapReduce(Google MapReduce的开源实现)为核心的Hadoop为用户提供了系统底层细节透明的分布式基础架构。 对于Had转载 2013-09-28 11:41:26 · 1305 阅读 · 0 评论 -
Centos 6.X的NFS配置
centos6以后版本变更了portmap服务为rpcbind,在使用nfs时这点与centos5不同,下面配置一个nfs系统,用来使局域网内的所有用户均可访问该目录,可将该目录配置成yum源,供内网机器安装软件。首先安装NFS套件,命令如下:yum install nfs-utils.x86_64(64位系统)yum install nfs-u转载 2014-01-17 11:28:01 · 3010 阅读 · 0 评论 -
linux如何开机自动运行自己的脚本
测试环境:Fedora7,管理员:root,普通用户:test1实现目标:在Linux启动时,自动运行位于普通用户test1根目录下的脚本程序test.py,该程序会在每次执行时自动向本地日志文件追加一条记录,源码如下:from datetime import datetimenow=datetime.now()f=open('tes转载 2014-01-16 11:06:49 · 20950 阅读 · 0 评论 -
linux 添加新硬盘方法
一.Linux的硬盘识别2.6 kernel以后,linux会将识别到的硬件设备,在/dev/下建立相应的设备文件.如:sda 表示第1块SCSI硬盘.hda 表示第1块IDE硬盘(即连接在第1个IDE接口的Master口上).scd0 表示第1个USB光驱.当添加了新硬盘后,在/dev目录下会有相应的设备文件产生.cciss的硬盘转载 2014-01-16 10:50:58 · 1014 阅读 · 0 评论 -
CentOS 5.6添加新磁盘,并进行LVM在线扩容
本文主要讲述Linux(CentOS)下LVM在线扩容的操作过程。注意:进行在线扩容钱,请先备份重要的资料,在线扩容会有丢失资料的风险!一、查找新的磁盘# fdisk -lview plain copyDisk /dev/sda: 42.9 GB, 42949672960 bytes 255 heads, 63 sectors/track, 5221 cylinders U转载 2014-01-16 14:49:49 · 3827 阅读 · 0 评论 -
inotify -- Linux 2.6 内核中的文件系统变化通知机制
简介: 本文详细地介绍了在 Linux 2.6.13 内核中新引入的文件系统变化通知机制 inotify,并举例说明了它的使用与典型应用案例。一、引言众所周知,Linux 桌面系统与 MAC 或 Windows 相比有许多不如人意的地方,为了改善这种状况,开源社区提出用户态需要内核提供一些机制,以便用户态能够及时地得知内核或底层硬件设备发生了什么,从而能够更好地管理设备,给用户提供更好转载 2014-01-14 18:06:24 · 873 阅读 · 0 评论 -
CentOS升级Python到2.7版本
查看python的版本1python -VPython 2.4.31.先安装GCC 1yum -y install gcc2.下载Python-2.7.21wg转载 2014-01-08 16:29:29 · 1023 阅读 · 0 评论 -
linux远程同步工具rsync
rsync平时用到的地方很多,找了一个详细版本,有各项配置的说明以及几个例子贴上来备忘和参考用rsync是类unix系统下的数据镜像备份工具,从软件的命名上就可以看出来了--remote sync。它的特性如下:可以镜像保存整个目录树和文件系统。可以很容易做到保持原来文件的权限、时间、软硬链接等等。无须特殊权限即可安装。优化的流程,文件传输效率高。可以使用rcp、ssh等方转载 2013-12-24 10:44:38 · 4415 阅读 · 0 评论 -
Linux下多线程下载工具 - Axel
Axel 是 Linux 下一个不错的HTTP/FTP高速下载工具。支持多线程下载、断点续传,且可以从多个地址或者从一个地址的多个连接来下载同一个文件。适合网速不给力时多线程下载提高下载速度。比如在国内VPS或服务器上下载lnmp一键安装包用Axel就比wget快。CentOS安装Axel:目前yum源上没有Axel,我们可以到http://pkgs.repoforge.org/axel/转载 2013-12-24 10:35:20 · 1629 阅读 · 0 评论 -
多个ssh帐号
使用ssh的配置文件可以在很大程度上方便各种操作,特别适应于有多个ssh帐号、使用非标准端口或者写脚本等情况。man ssh_config可以查看手册如果之前是用密码方式来登录ssh,需要先改用证书方式。可以看最后面生成SSH证书配置文件用户配置文件在~/.ssh/config,没有的话新建一个。基本的写法是Host 名称(自己决定,方便输入记忆的)转载 2014-01-15 14:32:47 · 4002 阅读 · 0 评论 -
inotify相关
首先转一篇介绍内核中inotify的文章:inotify -- Linux 2.6 内核中的文件系统变化通知机制http://www.ibm.com/developerworks/cn/linux/l-inotifynew/ 然后转一篇关于inotify使用的文章:inotify之文件系统事件监控使用入门http://www.verydemo.com/demo_c167_i转载 2014-04-01 11:38:33 · 1321 阅读 · 0 评论 -
linux线程编程
进程 系统中程序执行和资源分配的基本单位 每个进程有自己的数据段、代码段和堆栈段 在进行切换时需要有比较复杂的上下文切换 线程 减少处理机的空转时间,支持多处理器以及减少上下文切换开销, 比创建进程小很多 进程内独立的一条运行路线 处理器调度的最小单元,也称为轻量级进程可以对进程的内存空间和资源进行访问,并与同一进程中的其他线程共享 线程转载 2014-05-08 16:00:30 · 705 阅读 · 0 评论 -
利用linux命令sort和uniq求两个文件的交集并集和补集
给定两个文件 a.txt 和 b.txt ,每行是一个记录(假设没有重复),要求输出两集合的交集、并集、差集,输出的结果只包括唯一项。交集定义为同时出现在两个文件中的记录项,并集定义为出现在任何一个文件中的记录项,差集(A-B)定义为出现在A中而且不出现在B中的记录,对称差集定义为只出现在一个文件中的记录。假设 a.txt 包括 a, c, b 三行。假设 b.txt 包括 d, e,原创 2015-09-14 10:23:28 · 5725 阅读 · 0 评论 -
linux 普通用户添加ssh或禁止ssh
1、添加用户,首先用adduser命令添加一个普通用户,命令如下:#adduser tommy //添加一个名为tommy的用户#passwd tommy //修改密码Changing password for user tommy.New UNIX password: //在这里输入新密码Retype new UNIX password: //再次输入新密码pa转载 2015-08-21 11:37:46 · 7667 阅读 · 0 评论 -
linux 多线程下载工具axel
Linux下用的最多的下载工具莫过于wget和curl,这两个工具虽然堪称经典。但其单线程的速度越来越不能大软件的下载。Axel是Linux的一个下载工具。他可以进行多线程下载、断点续传和限速下载。安装和操作非常简单。1 下载axel插件的rpm包下载地址 http://pkgs.repoforge.org/axel/如果为centos 5转载 2015-03-24 10:54:05 · 4348 阅读 · 0 评论 -
Linux 下挂载硬盘
装虚拟机时空间划小了,于是又加了5G的空间,折腾了半天,挂上去了。整理下弄个笔记,备用。 1. 添加磁盘,查看磁盘状况 [root@db1 /]# fdisk -lDisk /dev/sda: 10.7 GB, 10737418240 bytes255 heads, 63 sectors/track, 1305 cylinders转载 2015-02-15 14:09:53 · 871 阅读 · 0 评论 -
linux下计算目录中所有文件的行数
find ./* -type f | xargs -i cat {} | wc -l原创 2015-02-12 16:26:36 · 1368 阅读 · 0 评论 -
ubuntu 双网卡配置
auto loiface lo inet loopback# The primary network interfaceauto eth0iface eth0 inet static address 10.255.64.41 netmask 255.0.0.0 network 10.0.0.0 broadcast 10.2转载 2014-11-06 13:34:27 · 1003 阅读 · 0 评论 -
线程取消(pthread_cancel)
基本概念pthread_cancel调用并不等待线程终止,它只提出请求。线程在取消请求(pthread_cancel)发出后会继续运行,直到到达某个取消点(CancellationPoint)。取消点是线程检查是否被取消并按照请求进行动作的一个位置.与线程取消相关的pthread函数int pthread_cancel(pthread_t thread)发送终止信号给t转载 2014-10-17 11:46:25 · 861 阅读 · 0 评论 -
pthread_join(pid) 返回值是22
预备知识:linux线程执行和windows不同,pthread有两种状态joinable状态和unjoinable状态,若是unjoinable状态的线程,这些资源在线程函数退出时或pthread_exit时自动会被释放。 如果线程是joinable状态,只有当你调用了pthread_join之后这些资源才会被释放,即只有不设置unjoinable状态时pthread_join才原创 2014-10-17 17:35:46 · 5236 阅读 · 0 评论 -
线程清理函数pthread_cleanup_push / pthread_cleanup_pop
线程可以安排它退出时需要调用的函数,这样的函数称为线程清理处理程序,线程可以建立多个清理处理程序。处理程序记录在栈中,也就是说它们的执行顺序与它们注册时的顺序相反。 pthread_cleanup_push来注册清理函数rtn,这个函数有一个参数arg。在以下三种情形之一发生时,注册的清理函数被执行: 1)调用pthread_exit。 2)作为对取消线程请求(p转载 2014-10-17 11:45:52 · 2104 阅读 · 0 评论 -
ubuntu12.04中shell脚本无法使用source的原因及解决方法
现象: shell脚本中source aaa.sh时提示 source: not found原因: ls -l `which sh` 提示/bin/sh -> dash这说明是用dash来进行解析的。改回方法: 命令行执行:sudo dpkg-reconfigure dash在界面中选择no再ls -l `which转载 2014-11-03 13:31:47 · 7401 阅读 · 0 评论 -
select函数详解及实例分析
Select函数在Socket编程中还是比较重要的,可是对于初学Socket的人来说都不太爱用Select写程序,他们只是习惯写诸如connect、 accept、recv或recvfrom这样的阻塞程序(所谓阻塞方式block,顾名思义,就是进程或是线程执行到这些函数时必须等待某个事件的发生,如果事件没有发生,进程或线程就被阻塞,函数不能立即返回)。可是使用Select就可以完成非阻塞(所谓非阻转载 2014-10-22 16:29:50 · 1587 阅读 · 0 评论 -
KVM虚拟机桥接
KVM虚拟机网络配置的两种方式:NAT方式和Bridge方式原创 2014-08-11 16:10:00 · 1593 阅读 · 0 评论 -
Linux下查看某个进程的线程数量
有些时候需要确实进程内部当前运行着多少线程,那么以下几个方法值得一用。 1.根据进程号进行查询:# pstree -p 进程号# top -Hp 进程号2.根据进程名字进行查询:# pstree -p `ps -e | grep server | awk '{print $1}'`# pstree -p `ps -e | grep server | awk '{prin转载 2014-07-22 21:00:30 · 874 阅读 · 0 评论 -
GDB 调试
GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具。或许,各位比较喜欢那种图形界面方式的,像VC、BCB等IDE的调试,但如果你是在UNIX平台下做软件,你会发现GDB这个调试工具有比VC、BCB的图形化调试器更强大的功能。所谓“寸有所长,尺有所短”就是这个道理。一般来说,GDB主要帮忙你完成下面四个方面的功能: 1、启动你的程序,可以按照你的自定义的要求随心所欲的运行程转载 2014-05-08 12:50:43 · 733 阅读 · 0 评论 -
Linux画图工具gnuplot
现在在网上可以找的科学作图软件有不少,其中不乏优秀者,Win平台上有大名鼎鼎的Origin、Tecplot、SigmaPlot等,类UNIX上有LabPlot、gnuplot等。其他的常见的计算软件如Matlab、Mathematica、Maple、Scilab、IDL、Maxima等也都对科学作图有很好的支持,甚至于只要稍加努力使用MS的Excel也可以做出不错的图来。但是笔者最喜爱的工具还是g转载 2013-12-24 10:42:49 · 20553 阅读 · 2 评论 -
Windows下编译OpenSSL
如何在Windows下编译OpenSSL?yanqing-wang (Intel) 于 星期日, 22/12/2013 - 23:48 提交OpenSSL是一个开源的第三方库,它实现了SSL(Secure SocketLayer)和TLS(Transport Layer Security)协议,被广泛企业应用所采用。对于一般的开发人员而言,在转载 2014-01-07 12:34:13 · 2165 阅读 · 0 评论 -
linux下C获取文件的大小
获取文件大小这里有两种方法:方法一、范例:[cpp] view plaincopyprint?unsigned long get_file_size(const char *path) { unsigned long filesize = -1; FILE *fp; fp = f转载 2013-09-05 14:32:44 · 1121 阅读 · 0 评论 -
linux查看文件和文件夹大小
当磁盘大小超过标准时会有报警提示,这时如果掌握df和du命令是非常明智的选择。 df可以查看一级文件夹大小、使用比例、档案系统及其挂入点,但对文件却无能为力。 du可以查看文件及文件夹的大小。 两者配合使用,非常有效。比如用df查看哪个一级目录过大,然后用df查看文件夹或文件的大小,如此便可迅速确定症结。 下面分别简要介绍 df命令转载 2013-09-05 13:57:12 · 3466 阅读 · 0 评论 -
Linux统计文件行数
语法:wc [选项] 文件…说明:该命令统计给定文件中的字节数、字数、行数。如果没有给出文件名,则从标准输入读取。wc同时也给出所有指定文件的总统计数。字是由空格字符区分开的最大字符串。该命令各选项含义如下: - c 统计字节数。 - l 统计行数。 - w 统计字数。这些选项可以组合使用。输出列的顺序和数目不受选项的顺序和数目的影响。转载 2013-09-05 13:29:54 · 1827 阅读 · 0 评论 -
MinGW下创建DLL
在许多情况下使用DLL是一个糟糕的主意,但对于新手来说学会如何创建DLL,尤其是一个免费的开发环境例如MinGW将意味着对开发工具的快速熟悉并能了解那些看起来隐含的选项。 在继续下面的内容之前,你应该已经安装并且配置好了MinGW。同样你应该对缺少IDE环境的编程比较熟悉,或者知道如何在IDE环境下使用MinGW。这里就不再对此进行详细说明了。 什么是DLL 什么转载 2013-09-05 12:23:37 · 815 阅读 · 0 评论 -
MinGW Static and Dynamic Libraries
IntroductionThis article is intended to give a brief and simple introduction to compiling your own libraries with the MinGW (Minimal GNU for Windows) compiler. This article assumes you have a basic转载 2013-09-05 11:57:57 · 1291 阅读 · 0 评论 -
Linux系统下查看目录大小
我们有个系统每天要下载数据,为了检查下载数据是否正常,需要查看下载数据目录大小,因为每天的数据都差不多,如果变化太大就说明不正常。查看目录大小的命令是du(当然也可以查看文件大小),例如:du ems_data,就是查看ems_data目录下各子目录的大小;du,就是查看当前目录下各子目录的大小;du *,就是查看当前目录下各子目录和文件的大小。为了提高查看效果,我们需要对结果进行排序,因转载 2013-09-04 10:42:08 · 798 阅读 · 0 评论 -
Linux GCC常用命令
1简介2简单编译2.1预处理2.2编译为汇编代码(Compilation)2.3汇编(Assembly)2.4连接(Linking)3多个程序文件的编译4检错5库文件连接5.1编译成可执行文件5.2链接5.3强制链接时使用静态链接库1简介GCC 的意思也只是 GNU C Compiler 而已。转载 2013-09-06 09:18:19 · 1195 阅读 · 0 评论