Linux
lizhi200404520
喜欢足球,篮球
展开
-
ln命令设置硬链接和软链接
ln是linux中又一个非常重要命令,它的功能是为某一个文件在另外一个位置建立一个同不的链接,这个命令最常用的参数是-s,具体用法是:ln –s 源文件 目标文件。 当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间。例如:ln –s转载 2012-07-09 19:52:26 · 3670 阅读 · 0 评论 -
load data local infile 从本机导数据到远程机器
场景:需要将192.168.0.100 /tmp/test001.txt 文件数据导入到192.168.0.101的mysql test_db1.table_tmp脚本:mysql="/usr/local/mysql/bin/mysql -h192.168.0.101 -uroot -p123456 test -N"echo "load data local infile '${tmp原创 2013-08-20 15:57:39 · 2700 阅读 · 0 评论 -
ldconfig及 LD_LIBRARY_PATH
1. 往/lib和/usr/lib里面加东西,是不用修改/etc/ld.so.conf的,但是完了之后要调一下ldconfig,不然这个library会找不到2. 想往上面两个目录以外加东西的时候,一定要修改/etc/ld.so.conf,然后再调用ldconfig,不然也会找不到比 如安装了一个mysql到/usr/local/mysql,mysql有一大堆library在/usr/转载 2013-08-01 14:58:24 · 762 阅读 · 0 评论 -
shell之curl用法笔记
基本用法(配合sed/awk/grep)$curl http: //bpsky.net下载保存$curl http://bpsky.net > index.html$curl -o index.html http://bpsky.net$curl -O http://bpsky.net/target.tar.gz通过代理$curl -x 123.45 . 67转载 2013-07-22 19:00:53 · 1545 阅读 · 0 评论 -
在Linux系统中获取字符串的MD5值
echo -n "字符串" | md5sum| awk '{print $1}'1 echo默认是带换行符做结尾的2 echo -n 可以去掉换行符3 printf是没有换行符结尾的4 tr可以删掉一个字符,如 tr -d '/n' 5 php命令行执行一段程序是 php -r "code"转载 2012-08-13 18:16:12 · 1170 阅读 · 0 评论 -
unix时间值转指定格式的时间串
time_t cur_time;cur_time = unix_timestamp;//需要转的unix时间值struct tm *time_tm;time_tm = localtime(&cur_time); char cur_time_buf[30];memset(cur_time_buf, 0, 30);strftime(cur_time_buf, 30, "%Y年%原创 2012-08-29 17:44:15 · 647 阅读 · 0 评论 -
shell 脚本替换文件中某个字符串
1、将当前目录下包含jack串的文件中,jack字符串替换为tomsed -i "s/jack/tom/g" `grep "jack" -rl ./`2、将某个文件中的jack字符串替换为tomsed -i "s/jack/tom/g" test.txt原创 2012-09-11 19:11:56 · 77364 阅读 · 3 评论 -
shell if 且,或 使用
if [ ${top_rank} -gt 4 -a ${top_rank} -le 5 ] || [ ${top_rank} -gt 3 -a ${top_rank} -le 4 ] || [ ${top_rank} -gt 2 -a ${top_rank} -le 3 ];then echo "xxx" fi-a ==且原创 2012-11-06 16:59:52 · 3282 阅读 · 0 评论 -
shell 求某年的某月有多少天
cal_days_in_month(){ n_year=`expr $1 + 0` n_month=`expr $2 + 0` n_day=0; case $n_month in 1|3|5|7|8|10|12) n_day=31;; 4|6|9|11)原创 2012-12-10 18:01:42 · 2828 阅读 · 0 评论 -
error while loading shared libraries的解決方法
在linux下运行程序时,发现了error while loading shared libraries这种错误,一时间不知道解决办法,在网上搜索,终于解决了:./tests: error while loading shared libraries: xxx.so.0:cannot open shared object file: No such file or directory出转载 2013-03-18 17:28:04 · 579 阅读 · 0 评论 -
shell 浮点数的比较
1、假设profit_loss为浮点数(当然,这里为整数也没问题的)if [ $(echo "${profit_loss} profit_flag="亏损"elif [ $(echo "${profit_loss} profit_flag="盈利"elseprofit_flag="大赚"fi2、如果earnings_rate2可能为负数时,如果不加括号括起来原创 2012-09-28 09:24:28 · 18600 阅读 · 0 评论 -
分行读取文件内容
char aline[100]; memset(aline, 0 , 100); fstream ifs("e:/result.txt"); if(!ifs) { cout "can not open file..." } while(ifs) { ifs.getline(ali转载 2013-05-15 12:16:16 · 1113 阅读 · 0 评论 -
shell 常见操作笔记
一、字符串1、去除字符串中包含的空格echo ${str// /}echo $str | sed 's/ //g'echo $str | tr -d " "2、判断一个字符串是不是以字母开头(大写或小写)ret_v=`echo "_dfsdf122" | grep "^[a-z,A-Z]"`echo ${#ret_v} #如果输出结果大于0,表示字符串是以字母开原创 2012-08-22 10:35:59 · 890 阅读 · 0 评论 -
boost 获取当前时间戳(秒or毫秒)
int64_t GetCurrentStamp64(){ boost::posix_time::ptime epoch(boost::gregorian::date(1970, boost::gregorian::Jan, 1)); boost::posix_time::time_duration time_from_epoch = // boost::posix_time原创 2014-09-13 10:29:29 · 18463 阅读 · 2 评论 -
将boost::shared_ptr设置为NULL的方法
boost::shared_ptr client;client.reset();if (client == NULL) { std::cout } else原创 2014-09-16 14:30:38 · 15544 阅读 · 0 评论 -
boost::shared_ptr转化为普通对象
std::vector bst_vec;原创 2014-09-25 17:14:44 · 2892 阅读 · 0 评论 -
类的非静态成员函数做boost::thread参数
void PosixClientImpl::Start(){ m_thread = boost::thread(boost::bind(&PosixClientImpl::processMessages, this));}转载 2014-07-21 12:35:51 · 3580 阅读 · 1 评论 -
vim使用技巧
读本文之前请注意:1. 本文的目标是提供一些vim的使用技巧,利用这些技巧可以提高vim的操作效率。部分技巧在vi上也可以使用,但是现在基本上都是用vim了。2. 本文是整理和总结使用技巧,而非讲解vim入门,因此不会涉及最基本的使用,例如如何上移或下移光标,对此类操作请参阅任何一本vim或者vi教程。3. 本文阅读对象是了解了vim的基本操作,而希望高效地利用vim进行工作的人。熟练转载 2014-07-16 16:11:05 · 811 阅读 · 0 评论 -
关于制定so动态链接库文件需要注意的问题
如果需要动态链接制定的so文件,如libtest.so,可以如下操作:1、假设so文件所在的目录为/usr/local/xxx/lib/libtest.so2、在makefile文件中链接库时,直接用/usr/local/xxx/lib/libtest.so3、vi /etc/ld.so.conf,添加一行/usr/local/xxx/lib/4、执行ldconfig命令5、需原创 2013-12-18 10:14:39 · 1009 阅读 · 0 评论 -
linux sed 批量替换多个文件中的字符串
一、linux sed 批量替换多个文件中的字符串sed -i "s/oldstring/newstring/g" `grep oldstring -rl yourdir`例如:替换/home下所有文件中的www.bcak.com.cn为bcak.com.cnsed -i "s/www.bcak.com.cn/bcak.com.cn/g" `grepwww.bcak.com转载 2014-06-23 20:35:23 · 828 阅读 · 0 评论 -
一些命令
1.查进程 ps命令查找与进程相关的PID号: ps a 显示现行终端机下的所有程序,包括其他用户的程序。 ps -A 显示所有程序。 ps c 列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的标示。 ps -e 此参数的效果和指定"A"参数相同。 ps e 列出程序时,显示每个程序所使用的环境变量。转载 2012-07-09 19:40:28 · 698 阅读 · 0 评论 -
浅析Linux下core文件 分享
原文载于:http://oursimplehouse.blog.sohu.com/68116650.html当我们的程序崩溃时,内核有可能把该程序当前内存映射到core文件里,方便程序员找到程序出现问题的地方。最常出现的,几乎所有C程序员都出现过的错误就是“段转载 2011-07-04 15:04:52 · 469 阅读 · 0 评论 -
Linux 显示内存不足释疑
昨天一客户的 Linux 服务器上线,服务器表示良好,性能稳定,客户非常满意。 今天早上客户忽然电话到我手机,说发现服务器内存情况存在异常,担心服务器无法长期稳定运行,经过一番沟通,才发现虚惊一场。为免大家存在同样担心,现将情况汇报如下: 客户问题: 在 Linux 下用 Top 命令显示系统的物理内存消耗速度惊人,才16小时左右 8 G 的物理内存仅剩不到 2G 空闲空间, 如按这种转载 2011-10-31 16:04:59 · 7947 阅读 · 1 评论 -
crontab 执行脚本注意的问题
#!/bin/bashFILEPATH=$(cd `dirname $0`; pwd)FILENAME=${FILEPATH}/excute_procd ${FILEPATH}pid=`ps -ef | grep $FILENAME | grep -v grep | awk '{print $2}'`pidnum=`echo $pid | wc | awk '{print $原创 2011-11-21 10:27:49 · 1392 阅读 · 0 评论 -
(总结)关于Linux的缓存内存 Cache Memory详解
前天有朋友问我,为啥我的Linux系统没运行多少程序,显示的可用内存这么少?其实Linux与Win的内存管理不同,会尽量缓存内存以提高读写性能,通常叫做CacheMemory。有时候你会发现没有什么程序在运行,但是使用top或free命令看到可用内存free项会很少,此时查看系统的 /proc/meminfo 文件,会发现有一项 Cached Memory:输入cat /proc/me转载 2011-11-24 14:06:05 · 1428 阅读 · 0 评论 -
获取当天00:00:00时间值秒数
//获取今天00:00:00的UNIX时间值 time_t cur_time; cur_time = time(NULL); // struct tm *time_tm; time_tm = localtime(&cur_time); time_tm->tm_hour=0; time_tm->tm_min=0; time_tm-原创 2011-11-28 17:27:14 · 2282 阅读 · 0 评论 -
shell中的if语句
if [ ${NUM} -gt 0 ]then echo "num is greater than 0"else echo "not greater than 0"fiif (空格)[ ${NUM} -gt 0(空格) ] 注意这行的空格的地方,原创 2011-11-29 14:26:39 · 604 阅读 · 0 评论 -
Linux下修改mysql默认最大连接数(转)
MYSQL数据库安装完成后,默认最大连接数是100,一般流量稍微大一点的论坛或网站这个连接数是远远不够的,虽然通过连接池可以将连接数设置为固定的100,可是在下那BT同事将所有的连接池都设置成了100,话说我们小组有5个人……再话说,个人调试有必要设置那么高么……不过牢骚归牢骚,问题依然需要解决。方法一:进入MYSQL安装目录 打开MYSQL配置文件 my.ini 或 my.cnf查找转载 2011-11-11 15:15:00 · 14213 阅读 · 1 评论 -
linux send recv函数详解
int send( SOCKET s, const char FAR *buf, int len, int flags ); 不论是客户还是服务器应用程序都用send函数来向TCP连接的另一端发送数据。客户程序一般用send函数向服务器发送请求,而服务器则通常用send函数来向客户程序发送应答。 该函数的第一个参数指定发送端套接字描述符; 第二个参数指明一个存放转载 2011-11-11 16:45:24 · 881 阅读 · 0 评论 -
Linux epoll模型
转载自:http://www.cppblog.com/Khan/archive/2008/04/02/46013.htmlhttp://www.xmailserver.org/linux-patches/nio-improve.htmlLinux I/O多路复用技术在比较多的TCP网络服务器中有使用,即比较多的用到select函数。Linux 2.6内核中有提高网络I/O性能的新方转载 2011-12-20 17:20:08 · 645 阅读 · 0 评论 -
VIM常用命令总结
个人常用的VIM命令列表移动光标上:k nk:向上移动n行 9999k或gg可以移到第一行 G移到最后一行下:j nj:向下移动n行左:h nh:向左移动n列右:l nl:向右移动n列 w:光标以单词向前移动 nw:光标向前移动n个单词 光标到单词的第一个字母上b:与w相反e: 光标以单词向前移动 ne:光标向前移动n个单词 光标到单词的最后一个字母上ge:与e转载 2011-10-29 16:50:00 · 668 阅读 · 0 评论 -
VI高级命令集锦 [转贴]
1.交换两个字符位置xp2.上下两行调换ddp3.把文件内容反转:g/^/m0/ (未通过)4.上下两行合并 J5.删除所有行 dG6.从当前位置删除到行尾d$7.从当前位置复制到行尾y$ 如果要粘贴到其他地方 p 就可以了由于vi 是建立在 EX 上的 所以 当键入 : 时就来到了 EX 命令状态 8.:ab string转载 2011-10-29 16:43:49 · 471 阅读 · 0 评论 -
关于Linux下apache的一些配置问题
/usr/local/apache2/conf 下有个httpd.conf文件中有Include conf/extra/httpd-vhosts.conf ,而这个httpd-vhosts.conf 主要是虚拟主机的配置。待续。。。吃饭原创 2011-07-29 11:24:46 · 405 阅读 · 0 评论 -
linux下如何产生core,调试core
在程序不寻常退出时,内核会在当前工作目录下生成一个core文件(是一个内存映像,同时加上调试信息)。使用gdb来查看core文件,可以指示出导致程序出错的代码所在文件和行数。1.core文件的生成开关和大小限制 1)使用ulimit -c命令可查看core文件的生转载 2011-09-02 16:54:56 · 1787 阅读 · 0 评论 -
如何使用gcore工具获取一个core文件而不重启应用?
解决方法:解决:问题:当调试一个程序的时候,理想状态是不重启应用程序就获取core文件。解决:gcore命令可以使用下面步骤来获取core文件:1. 确认gdb软件包已经被正确安装。2. 使用调试参数编译程序(例如: gcc中使用"-g"选项),编转载 2011-09-02 18:31:24 · 20423 阅读 · 0 评论 -
Symbolic Link
ln -s source_file myfile Replace source_file with the name of the existing file for which you want to create the symbolic link (this f转载 2011-09-03 10:29:44 · 1682 阅读 · 0 评论 -
(转) 使用epoll的ET模式下的tcp服务处理特点
我们知道ET模式下的事件触发需要遇到EAGAIN结束,那么在tcp服务中不管是listen socket还是data socket,都需要做相应处理,特别是listen socket ,很容易被遗漏 , 新连接未处理,从而出现close_wait状态的socket 。另外错误转载 2011-08-24 18:14:59 · 660 阅读 · 0 评论 -
(转) epoll的LT和ET模式的区别
LT模式:epoll就是一个快速版poll,可读可写就绪条件和传统poll一致ET模式:为了避免Starvation,建议 1)文件描述符设置为非阻塞 2)只在read或write返回EAGAIN后,才能调用下一次epoll_wait原创 2011-08-24 18:14:29 · 576 阅读 · 0 评论 -
大并发下listen的连接完成对列backlog太小导致客户超时,服务器效率低下
代码就是之前论坛发过的一个epoll代码,根据需要改了就是服务端send的参数。。如下:/*-------------------------------------------------------------------------------------------------gcc -o httpd httpd.c -lpthread author: wyezl转载 2011-11-17 12:37:30 · 6490 阅读 · 2 评论 -
Linux crontab 命令格式与详细例子
基本格式 :* * * * * command分 时 日 月 周 命令 第1列表示分钟1~59 每分钟用*或者 */1表示第2列表示小时1~23(0表示0点)第3列表示日期1~31第4列表示月份1~12第5列标识号星期0~6(0表示星期天)第6列要运行的命令 crontab文件的一些例子: 30 21 * * * /usr/local/etc/rc转载 2011-11-16 17:56:54 · 517 阅读 · 0 评论