- 博客(69)
- 收藏
- 关注
原创 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 477
转载 玩转cpu topology
http://www.searchtb.com/2012/12/%E7%8E%A9%E8%BD%ACcpu-topology.html
2015-08-26 10:29:47 680
转载 tcp协议栈参数解析
tcp_syn_retries :INTEGER 默认值是5 对于一个新建连接,内核要发送多少个 SYN 连接请求才决定放弃。不应该大于255,默认值是5,对应于180秒左右时间。(对于大负载而物理通信良好的网络而言,这个值偏高,可修改为2.这个值仅仅是针对对外的连接,对进来的连接,是由tcp_retries1 决定的) tcp_synack_retries :INT
2014-03-13 17:49:17 2023
转载 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 1743
原创 tcp状态说明
TCP连接状态详解 LISTEN: 侦听来自远方的TCP端口的连接请求SYN-SENT: 再发送连接请求后等待匹配的连接请求SYN-RECEIVED:再收到和发送一个连接请求后等待对方对连接请求的确认ESTABLISHED: 代表一个打开的连接FIN-WAIT-1: 等待远程TCP连接中断请求,或先前的连接中断请求的确认FIN-WA
2013-12-25 23:41:05 648
原创 linux huge page 设置
******************************************************************今天遇到一个系统问题,系统内存不足,但是用VMSTAT 那些命令看,又看不到哪个进程在占用内存。搞了很久没找到原因,后来是因为这个系统配置了hugepage,给账号weblogic 分配了几个G的内存,导致系统内存不足的原因,下面来详细介绍下hugepage的配置
2013-11-21 15:26:54 6959
原创 静态库使用
Linux中的应用程序以以下两种方式之一链接到外部函数:要么在构建时与静态库( lib*.a)静态地链接,并且将库代码包含在该应用程序的可执行文件里;要么在运行时与共享库( lib*.so)动态地链接。通过动态链接装入器,将动态库映射进应用程序的可执行内存中。在启动应用程序之前,动态链接装入器将所需的共享目标库映射到应用程序的内存,或者使用系统共享的目标并为应用程序解析所需的外部引用。现在
2013-11-10 14:05:46 669
原创 linux下创建用户,组
linux下创建用户(一)Linux 系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也可以帮助用户组织文件,并为用户提供安全性保护。每个用户账号都拥有一个惟一的用户名和各自的口令。用户在登录时键入正确的用户名
2013-10-12 20:33:14 1056
原创 第三方库安装后的问题
第一步:确认有哪些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 590
原创 setsid
守护进程(Daemon)是运行在后台的一种特殊进程。它独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。守护进程是一种很有用 的进 程。 Linux的大多数服务器就是用守护进程实现的。比如,Internet服务器inetd,Web服务器httpd等。同时,守护进程完成许多系统任务。 比如,作业规划进程crond,打印进程lpd等。守护进程的编程本身并不复杂,复杂的是各种版本的
2013-10-08 11:44:39 1493
原创 匹配域名正则
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 1201
转载 typedef精讲
用途一: 定义一种类型的别名,而不只是简单的宏替换。可以用作同时声明指针型的多个对象。比如: char* pa, pb; // 这多数不符合我们的意图,它只声明了一个指向字符变量的指针, // 和一个字符变量; 以下则可行: typedef char* PCHAR; // 一般用大写 PCHAR pa, pb; // 可行,同时声明了两个指向字符变量的指针
2013-08-17 01:14:05 1316
转载 HTTP详解
http://www.cnblogs.com/CareySon/archive/2012/04/27/HTTP-Protocol.html
2013-03-28 18:36:56 1412
转载 CDN技术
CDN的全称是Content Delivery Network,即内容分发网络。其目的是通过在现有的Internet中增加一层新的网络架构,将网站的内容发布到最接近用户的网络“边缘”,使用户可以就近取得所需的内容,提高用户访问网站的响应速度。CDN有别于镜像,因为它比镜像更智能,或者可以做这样一个比喻:CDN=更智能的镜像+缓存+流量导流。因而,CDN可以明显提高Internet网络中信息流动的效
2013-03-28 17:33:13 1411
转载 mysql 从一个表插入另一个表
下面给大家说下比较好的方法web开发中,我们经常需要将一个表的数据插入到另外一个表,有时还需要指定导入字段,设置只需要导入目标表中不存在的记录,虽然这些都可以在程序中拆分成简单sql来实现,但是用一个sql的话,会节省大量代码。下面我以mysql数据库为例分情况一一说明:1.如果2张表的字段一致,并且希望插入全部数据,可以用这种方法:INSERT INTO 目标表 SELECT * F
2013-03-11 23:04:39 1256
转载 动态链接库
----首先你是在编写一个C++母程序,想调用so文件,于是包含了这个头文件。程序中需调用dlopen以及dlsym来使用你做的so文件,但当运行g++ -o urname urname.cpp -ldl时,使用gdb调试时,dlerror会报函数名没有被定义,即dlerror返回了NULL。---解决办法:检查你的so文件的生成代码,你的生成代码如果是C++程序,这时需要在函数名之前加ext
2013-03-06 21:17:54 585
转载 各大网站 http server分析
今天研究一下HTTP协议,顺便分析了一下各大网站的WEB服务器,结果如下 分析的网站数量:194个,可能有重复的,其中比例 Apache:97,比例 59% Microsoft IIS:51,比例 31% Other:16,比例 10% 看来IIS还是老当益壮,加上现在的.net平台,还是占有相当大的比例的,Apache不愧当大的地位,其它的
2013-01-31 12:43:05 773
转载 perl write excel
在Linux或者Unix上操作(生成)Excel,怎么说都是比较困难的困难的事情。但是有cpan,困难迎刃而解了!CPAN上提供了Spreadsheet::WriteExcel 和 Spreadsheet::ParseExcel这两个模块。下面我们就来看看Spreadsheet::WriteExcel 和 Spreadsheet::ParseExcel的使用方法:1、首先,我们要在
2013-01-29 15:09:23 1737
转载 函数指针的作用
函数指针及应用我们先来看一下以下 的声明:int f(int);int (*pf)(int)=&f;//&操作符可选;因为函数名被使用时总是由编译器把它转换为函数指针;int ans;ans=f(25);ans=(*pf)(25);ans=pf(25);//间接访问操作并非必需,因为编译器需要的是一个函数指针;**************************
2012-12-11 23:40:58 802
转载 静态库与动态库的区别
一、引言我们通常把一些公用函数制作成函数库,供其它程序使用。函数库分为静态库和动态库两种。通常情况下,对函数库的链接是放在编译时期(compile time)完成的。所有相关的对象文件(object file)与牵涉到的函数库(library)被链接合成一个可执行文件(executable file)。程序在运行时,与函数库再无瓜葛,因为所有需要的函数已拷贝到相应目录下
2012-12-11 00:15:20 1194
转载 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 8371
转载 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 470
原创 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 402
原创 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 372
转载 linux proc
proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间。由于系统的信息,如进程,是动态改变的,所以用户或应用程序读取proc文件时,proc文件系统是动态从系统内核读出所需信息并提交的。 下面简要介绍其下文件:/proc/cpuinfo cpu信息 /proc/partitions 系统识别的分区表/proc/meminfo 内存信息/proc/uptim
2012-11-14 09:39:07 433
原创 linux 网络编程笔记
1. 一个进程中,开多个socket句柄,则在发送时,每个句柄独立绑定一个端口。在收包时,不会出现串包的现象。2.socket句柄的生存期:如果遇到close(),shutdown(),则结束,否则,直到程序运行结束或该socket被手动重新赋值为止。3.每个句柄对应独立的接收发送缓冲区。
2012-11-10 00:42:25 394
转载 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 598
原创 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 562
转载 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 753
转载 perl alne
perl - Practical Extraction and Report LanguagePerl有很多命令行参数,通过它可以让你的程序更简练,并且可以写出很多只有一行命令的perl。在这篇文章里我们来了解一些常用的命令行参数。-----------命令行调用perl [ -sTtuUWX ][ -hv ] [ -V[:configvar] ][ -cw ]
2012-11-06 11:19:59 2009
原创 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 36953
原创 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 865
原创 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 414
转载 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 300
转载 linux sed用法
linux之sed用法sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换、删除、新增、选取等特定工作,下面先了解一下sed的用法sed命令行格式为: sed [-nefri] ‘command’ 输入文本 常用选项: -n∶使用安静(silent)模式。在一般 sed 的
2012-10-12 14:13:28 388
原创 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 406
转载 mysql 导入导出
MySQL的mysqldump工具的基本用法导出要用到MySQL的mysqldump工具,基本用法是: shell> mysqldump [OPTIONS] database [tables] 如果你不给定任何表,整个数据库将被导出。 通过执行mysqldump --help,你能得到你mysqldump的版本支持的选项表。 注意,如果你运行mysqldum
2012-09-22 20:25:01 346
转载 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 569
转载 awk
在shell命令或编程中,可以用AWK强大的的文本处理能力。如果要格式化报文或从一个大的文本文件中抽取数据包,那么awk可完成这些任务。awk是一种解释的编程语言。awk也是shell过滤工具中最难掌握的。awk是一种自解释的编程语言。结合awk和sed和grep,将会使awk编程更加容易。awk语言最基本的功能是在文件或字符串中基于指定的规则浏览和抽取信息。有三种方式可调用awk..
2012-09-10 17:14:09 557
转载 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 7459
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人