Linux
文章平均质量分 59
路人甲三号
all in all we just another brick in the wall..
展开
-
linux常用命令
1、系统登录时就调用的配置A、针对用户的修改:修改~/.bashrc或~./bash_profile,加入:export PATH=$PATH:/etc/apache/binB、全局修改:修改/etc/profile文件,加入:exportPATH=$PATH:/etc/apache/bin 2、yum安装:yum search ncurses-devel;yum inst原创 2015-09-25 17:42:22 · 495 阅读 · 0 评论 -
typedef精讲
用途一: 定义一种类型的别名,而不只是简单的宏替换。可以用作同时声明指针型的多个对象。比如: char* pa, pb; // 这多数不符合我们的意图,它只声明了一个指向字符变量的指针, // 和一个字符变量; 以下则可行: typedef char* PCHAR; // 一般用大写 PCHAR pa, pb; // 可行,同时声明了两个指向字符变量的指针转载 2013-08-17 01:14:05 · 1324 阅读 · 0 评论 -
mysql 从一个表插入另一个表
下面给大家说下比较好的方法web开发中,我们经常需要将一个表的数据插入到另外一个表,有时还需要指定导入字段,设置只需要导入目标表中不存在的记录,虽然这些都可以在程序中拆分成简单sql来实现,但是用一个sql的话,会节省大量代码。下面我以mysql数据库为例分情况一一说明:1.如果2张表的字段一致,并且希望插入全部数据,可以用这种方法:INSERT INTO 目标表 SELECT * F转载 2013-03-11 23:04:39 · 1263 阅读 · 0 评论 -
动态链接库
----首先你是在编写一个C++母程序,想调用so文件,于是包含了这个头文件。程序中需调用dlopen以及dlsym来使用你做的so文件,但当运行g++ -o urname urname.cpp -ldl时,使用gdb调试时,dlerror会报函数名没有被定义,即dlerror返回了NULL。---解决办法:检查你的so文件的生成代码,你的生成代码如果是C++程序,这时需要在函数名之前加ext转载 2013-03-06 21:17:54 · 598 阅读 · 0 评论 -
各大网站 http server分析
今天研究一下HTTP协议,顺便分析了一下各大网站的WEB服务器,结果如下 分析的网站数量:194个,可能有重复的,其中比例 Apache:97,比例 59% Microsoft IIS:51,比例 31% Other:16,比例 10% 看来IIS还是老当益壮,加上现在的.net平台,还是占有相当大的比例的,Apache不愧当大的地位,其它的转载 2013-01-31 12:43:05 · 787 阅读 · 0 评论 -
perl write excel
在Linux或者Unix上操作(生成)Excel,怎么说都是比较困难的困难的事情。但是有cpan,困难迎刃而解了!CPAN上提供了Spreadsheet::WriteExcel 和 Spreadsheet::ParseExcel这两个模块。下面我们就来看看Spreadsheet::WriteExcel 和 Spreadsheet::ParseExcel的使用方法:1、首先,我们要在转载 2013-01-29 15:09:23 · 1778 阅读 · 0 评论 -
perl 笔记
push @arr_1, ['domain', 'rr_type', 'rr'],['2','22']; my $ref = \@arr_1; for my $key (@$ref) { #print $key->[1]; print @{$key}[0]; } my %hash = ( 'A'=>'1A', 'B'=>'2B', 'C'=原创 2012-11-01 12:48:44 · 442 阅读 · 0 评论 -
函数指针的作用
函数指针及应用我们先来看一下以下 的声明:int f(int);int (*pf)(int)=&f;//&操作符可选;因为函数名被使用时总是由编译器把它转换为函数指针;int ans;ans=f(25);ans=(*pf)(25);ans=pf(25);//间接访问操作并非必需,因为编译器需要的是一个函数指针;**************************转载 2012-12-11 23:40:58 · 822 阅读 · 0 评论 -
静态库与动态库的区别
一、引言我们通常把一些公用函数制作成函数库,供其它程序使用。函数库分为静态库和动态库两种。通常情况下,对函数库的链接是放在编译时期(compile time)完成的。所有相关的对象文件(object file)与牵涉到的函数库(library)被链接合成一个可执行文件(executable file)。程序在运行时,与函数库再无瓜葛,因为所有需要的函数已拷贝到相应目录下转载 2012-12-11 00:15:20 · 1221 阅读 · 0 评论 -
setsid
守护进程(Daemon)是运行在后台的一种特殊进程。它独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。守护进程是一种很有用 的进 程。 Linux的大多数服务器就是用守护进程实现的。比如,Internet服务器inetd,Web服务器httpd等。同时,守护进程完成许多系统任务。 比如,作业规划进程crond,打印进程lpd等。守护进程的编程本身并不复杂,复杂的是各种版本的原创 2013-10-08 11:44:39 · 1505 阅读 · 0 评论 -
第三方库安装后的问题
第一步:确认有哪些Lib无法Load >ldd move_db linux-gate.so.1 => (0x0089c000) libmysqlclient.so.15 => not found libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00cfa000) libm.so.6 => /lib/libm.so.6 (0x008040原创 2013-10-08 19:35:59 · 603 阅读 · 0 评论 -
玩转cpu topology
http://www.searchtb.com/2012/12/%E7%8E%A9%E8%BD%ACcpu-topology.html转载 2015-08-26 10:29:47 · 695 阅读 · 0 评论 -
tcp协议栈参数解析
tcp_syn_retries :INTEGER 默认值是5 对于一个新建连接,内核要发送多少个 SYN 连接请求才决定放弃。不应该大于255,默认值是5,对应于180秒左右时间。(对于大负载而物理通信良好的网络而言,这个值偏高,可修改为2.这个值仅仅是针对对外的连接,对进来的连接,是由tcp_retries1 决定的) tcp_synack_retries :INT转载 2014-03-13 17:49:17 · 2040 阅读 · 0 评论 -
my local
my: lexically scoped variablelocal:Dynamically scoped variable 内部->外部:(1)my和local都只在一个block里有效,出去就失效;(2)但是local的变量可以继续在这个block中调用的子程序中存在;(3)如果有与外界同名的变量,两者在block退出后都不影响外界同名变量;外部->内部:(1)转载 2014-02-10 15:02:45 · 1759 阅读 · 0 评论 -
tcp状态说明
TCP连接状态详解 LISTEN: 侦听来自远方的TCP端口的连接请求SYN-SENT: 再发送连接请求后等待匹配的连接请求SYN-RECEIVED:再收到和发送一个连接请求后等待对方对连接请求的确认ESTABLISHED: 代表一个打开的连接FIN-WAIT-1: 等待远程TCP连接中断请求,或先前的连接中断请求的确认FIN-WA原创 2013-12-25 23:41:05 · 674 阅读 · 0 评论 -
静态库使用
Linux中的应用程序以以下两种方式之一链接到外部函数:要么在构建时与静态库( lib*.a)静态地链接,并且将库代码包含在该应用程序的可执行文件里;要么在运行时与共享库( lib*.so)动态地链接。通过动态链接装入器,将动态库映射进应用程序的可执行内存中。在启动应用程序之前,动态链接装入器将所需的共享目标库映射到应用程序的内存,或者使用系统共享的目标并为应用程序解析所需的外部引用。现在原创 2013-11-10 14:05:46 · 675 阅读 · 0 评论 -
linux huge page 设置
******************************************************************今天遇到一个系统问题,系统内存不足,但是用VMSTAT 那些命令看,又看不到哪个进程在占用内存。搞了很久没找到原因,后来是因为这个系统配置了hugepage,给账号weblogic 分配了几个G的内存,导致系统内存不足的原因,下面来详细介绍下hugepage的配置原创 2013-11-21 15:26:54 · 7083 阅读 · 0 评论 -
匹配域名正则
function IsURL(urlString) { regExp = /^((https?|ftp|news):\/\/)?([a-z]([a-z0-9\-]*[\.。])+([a-z]{2}|aero|arpa|biz|com|coop|edu|gov|info|int|jobs|mil|museum|name|nato|net|org|pro|travel)|(([0-9]|[1-原创 2013-09-29 19:12:14 · 1217 阅读 · 0 评论 -
linux下创建用户,组
linux下创建用户(一)Linux 系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也可以帮助用户组织文件,并为用户提供安全性保护。每个用户账号都拥有一个惟一的用户名和各自的口令。用户在登录时键入正确的用户名原创 2013-10-12 20:33:14 · 1089 阅读 · 0 评论 -
linux fork 笔记
1. fork出多个子进程:int status,i;for (i = 0; i < 10; i++){ status = fork(); if (status == 0 || status == -1) break;}if (status == -1){ //error}else if (status == 0){ //sub process}else原创 2012-11-23 00:08:47 · 384 阅读 · 0 评论 -
mysql 笔记
1. alter table tablename alter column drop default; (若本身存在默认值,则先删除) alter table tablename alter column set default 't5';(若本身不存在则可以直接设定)2. 判断字段为NULL,用 is NULL. 3.mysql>grant all on db.*原创 2012-09-26 19:36:51 · 418 阅读 · 0 评论 -
linux proc
proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间。由于系统的信息,如进程,是动态改变的,所以用户或应用程序读取proc文件时,proc文件系统是动态从系统内核读出所需信息并提交的。 下面简要介绍其下文件:/proc/cpuinfo cpu信息 /proc/partitions 系统识别的分区表/proc/meminfo 内存信息/proc/uptim转载 2012-11-14 09:39:07 · 445 阅读 · 0 评论 -
linux sar命令
yum install sysstat sar -n { DEV | EDEV | NFS | NFSD | SOCK | ALL } sar 提供六种不同的语法选项来显示网络信息。-n选项使用6个不同的开关:DEV | EDEV | NFS | NFSD | SOCK | ALL 。DEV显示网络接口信息,EDEV显示关于网络错误的统计数据,NFS统计活动的NFS客户端的信息,N原创 2012-11-01 19:01:37 · 880 阅读 · 0 评论 -
linux sed用法
linux之sed用法sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换、删除、新增、选取等特定工作,下面先了解一下sed的用法sed命令行格式为: sed [-nefri] ‘command’ 输入文本 常用选项: -n∶使用安静(silent)模式。在一般 sed 的转载 2012-10-12 14:13:28 · 396 阅读 · 0 评论 -
scp使用
相信各位VPSer在使用VPS时会经常在不同VPS间互相备份数据或者转移数据,大部分情况下VPS上都已经安装了Nginx或者类似的web server,直接将要传输的文件放到web server的目录,然后在目标机器上执行:wget http://www.vpser.net/testfile.zip 就行了。当VPS上没有安装web server和ftp server的时候或感觉上面的方法比较麻烦转载 2012-09-13 12:48:35 · 580 阅读 · 0 评论 -
awk
在shell命令或编程中,可以用AWK强大的的文本处理能力。如果要格式化报文或从一个大的文本文件中抽取数据包,那么awk可完成这些任务。awk是一种解释的编程语言。awk也是shell过滤工具中最难掌握的。awk是一种自解释的编程语言。结合awk和sed和grep,将会使awk编程更加容易。awk语言最基本的功能是在文件或字符串中基于指定的规则浏览和抽取信息。有三种方式可调用awk..转载 2012-09-10 17:14:09 · 570 阅读 · 0 评论 -
makefile中的冒号和等号解析
Makefile里的=显然是赋值的用法风格1: 递归扩展变量(recursively expanded variable)变量定义格式是,变量和值之间用等号,即 =例如:foo = $(bar)bar = $(ugh)ugh = Huh?all:;echo $(foo)将显示 Huh?再例如:CFLAGS = $(include_dirs)转载 2012-09-08 16:31:11 · 7539 阅读 · 0 评论 -
fcntl参数解释
功能描述:根据文件描述词来操作文件的特性。 用法: int fcntl(int fd, int cmd); int fcntl(int fd, int cmd, long arg); int fcntl(int fd, int cmd, struct flock *lock); 参数: fd:文件描述词。 cmd:操作命令。 arg:供命令使用的转载 2012-04-24 16:27:52 · 566 阅读 · 0 评论 -
linux各文件夹的作用
linux 文件类型:d:目录文件;-:普通文件;l:链接文件;b:块设备文件;c:字符设备文件;p:管道文件;s:套接字文件; linux各文件夹的作用linux下的文件结构,看看每个文件夹都是干吗用的/bin 二进制可执行命令 /dev 设备特殊文件 /etc 系统管理和配置文件 /etc/rc.d 启动的配置文件和脚转载 2012-04-24 19:07:06 · 388 阅读 · 0 评论 -
linux socket 缓冲区默认大小
1. tcp 收发缓冲区默认值[root@ www.linuxidc.com]# cat /proc/sys/net/ipv4/tcp_rmem 4096 87380 416153687380 :tcp接收缓冲区的默认值[root@ www.linuxidc.com]# cat /proc/sys/net/ipv4/tcp_wmem原创 2012-11-04 16:07:28 · 37098 阅读 · 0 评论 -
perl alne
perl - Practical Extraction and Report LanguagePerl有很多命令行参数,通过它可以让你的程序更简练,并且可以写出很多只有一行命令的perl。在这篇文章里我们来了解一些常用的命令行参数。-----------命令行调用perl [ -sTtuUWX ][ -hv ] [ -V[:configvar] ][ -cw ]转载 2012-11-06 11:19:59 · 2030 阅读 · 0 评论 -
find grep 组合
find grep 组合的一个例子 用来查找所有".h"文件中的含有“helloworld”字符串的文件. find -name "*.h" -exec grep "helloworld" {} \; 使用exec或ok来执行shell命令 使用find时,只要把想要的操作写在一个文件里,就可以用exec来配合find查找,很方便的 在有些操作系统中只允许-e转载 2012-11-27 12:15:18 · 483 阅读 · 0 评论 -
linux 丢包问题
测试系统在Linux上的性能发现丢包率极为严重,发210000条数据,丢包达110000之巨,丢包率超过50%。同等情形下Windows上测试,仅丢几条数据。形势严峻,必须解决。考虑可能是因为协议栈Buffer太低所致,于是先看看默认情况:sysctl -a |grep net.core发现net.core.rmem_max = 131071net.core.rmem_defa转载 2012-11-27 17:31:22 · 8430 阅读 · 0 评论 -
dns笔记
一、DNS报文角度来看主要是查看DNS报文首部中的标志字段[QR][opcode][AA][TC][RD][RA][(zone)][rcode] 主要关注字段为TC字段,当TC字段为1时,表示应答总长度超过512字节,只返回前512个字节,这时DNS就需要使用TCP重发原来的查询请求。因为在UDP的应用程序中,其应用程序被限制在512个字节或更小,因此DNS报文穿数据流只能有512原创 2012-11-27 11:02:05 · 418 阅读 · 0 评论 -
linux 网络编程笔记
1. 一个进程中,开多个socket句柄,则在发送时,每个句柄独立绑定一个端口。在收包时,不会出现串包的现象。2.socket句柄的生存期:如果遇到close(),shutdown(),则结束,否则,直到程序运行结束或该socket被手动重新赋值为止。3.每个句柄对应独立的接收发送缓冲区。原创 2012-11-10 00:42:25 · 410 阅读 · 0 评论 -
linux socket close shutdown
socket关闭有2个close,shutdown他们之间的区别:close-----关闭本进程的socket id,但链接还是开着的,用这个socket id的其它进程还能用这个链接,能读或写这个socket idshutdown--则破坏了socket 链接,读的时候可能侦探到EOF结束符,写的时候可能会收到一个SIGPIPE信号,这个信号可能直到socket转载 2012-11-09 00:25:57 · 606 阅读 · 0 评论 -
linux学习笔记
1. tail -f /usr/local/mysql/var/query.log从指定点开始将文件写到标准输出。使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail -f filename会把filename里最尾部的内容显示在屏幕上,并且不但刷新,使你看到最新的文件内容。2.结合df -lh, du -lh --max-depth=1 确定系统磁盘情况.touch转载 2012-10-15 09:30:27 · 316 阅读 · 0 评论 -
mysql load infile
LOAD DATA [LOW_PRIORITY | CONCURRENT] [LOCAL] INFILE 'file_name.txt' [REPLACE | IGNORE] INTO TABLE tbl_name [FIELDS [TERMINATED BY 'string'] [[OPTIONALLY] ENCLOSED BY 'char'] [转载 2012-11-07 10:31:45 · 808 阅读 · 0 评论 -
cg笔记
1. syslog client: vi /etc/syslog-ng/syslog-ng.confsource src{internal();unix-dgram("/dev/log");udp(ip("172.27.32.19") port(514));}2. syslog servervi /etc/syslog.conf syslog.info -/da原创 2012-11-07 14:08:42 · 574 阅读 · 0 评论 -
重定向
基本概念 (这是理解后面的知识的前提,请务必理解) a、 I/O重定向通常与 FD有关,shell的FD通常为10个,即 0~9; b、 常用FD有3个,为0(stdin,标准输入)、1(stdout,标准输出)、2(stderr,标准错误输出),默认与keyboard、monitor有关; c、 用 < 来改变读进的数据信道(stdin),使之从指定的转载 2012-04-24 16:00:14 · 668 阅读 · 0 评论