linux
文章平均质量分 63
billfeller
https://github.com/billfeller
展开
-
Linux svn如何切换用户
作者:zhanhailiang 日期:2015-03-03临时切换给所有的svn命令添加--username,--password参数即可;[root@localhost ~]# svn co --username xxxx --password xxxx永久切换删除目录 ~/.subversion/auth 即可;[root@localhos原创 2015-03-03 17:16:24 · 1794 阅读 · 0 评论 -
【Suse系统修复】磁盘文件损坏恢复
磁盘文件损坏恢复 作者:zhanhailiang 日期:2012-12-24今天早上过来,发现开发机连不了,原因可能是周末物业断电导致的。开机,可是发现机器启不来的。进入救援(failSafe)模式检测问题,发现是因为/dev/sda4分区出现文件系统损坏。/dev/sda4: UNEXPECTED INCONSISTENCY: run fsck manually.(原创 2012-12-24 10:07:27 · 2147 阅读 · 0 评论 -
3种自动登录MySQL命令行模式的方法
作者:zhanhailiang 日期:2013-01-15第1种(主要是为了说明expect的使用场景,没什么实用意义)一般情况下,我们想要进入MySQL命令模式总是需要按如下交互输入密码确认,才能进入命令行模式:zhanhailiang@linux-06bq:~> mysql -u sl -pEnter password: 其实我们可以使用expect编写脚原创 2013-01-15 15:29:00 · 2250 阅读 · 0 评论 -
Unix命令行程序和内建指令
文件系统▪ cat▪ cd▪ chmod▪ chown▪ chgrp▪ cksum▪ cmp▪ cp▪ du▪ df▪ fsck▪ fuser▪ ln▪ ls▪ lsattr▪ lsof▪ mkdir▪ mount▪ mv▪ pwd▪ rm原创 2013-01-30 13:47:37 · 878 阅读 · 0 评论 -
代码规模统计——CLOC.pl工具使用介绍
作者:zhanhailiang 日期:2013-01-09因项目汇报,需要统计代码规模。自然的想法是用Shell来统计各类文件(.php|js|css|html|xml|yaml)的代码规模> find . -name "*.php" -exec grep -Ev "^$" {} \;|wc -l75450> find . -name "*.js" -exec grep -原创 2013-01-09 17:26:41 · 2013 阅读 · 0 评论 -
【前端优化】静态链接版本化
作者:zhanhailiang 日期:2012-12-15我们知道在服务器端不做任何设置的情况下,浏览器默认会自动对静态资源进行缓存。但是每个版本的一些静态资源或多或少都会有所不同。避免浏览器缓存的方法是更新链接(版本发布时给静态资源链接添加版本号),这样浏览器识别为新的链接,就会去GET资源了。第一种方案是考虑每个模板文件的静态链接后添加类似?v=$version的变量来替换。但原创 2012-12-10 10:48:47 · 1059 阅读 · 0 评论 -
查看Mysql二进制日志
作者:zhanhailiang 日期:2012-12-28mysql有4种不同的日志,分别是二进制日志,查询日志,慢查询日志和错误日志,这些日记记录着数据库工作的方方面面,可以帮助我们了解数据库的不同方面的踪迹,下面介绍二进制日志的作用和使用方法。1.二进制日志(bin-log日志)用途bin-log日志的作用和使用,bin-log日志记录了所有的DDL和DML的语原创 2012-12-28 18:20:54 · 1336 阅读 · 0 评论 -
【sed&awk】awk中变量作用域的认识
作者:zhanhailiang 日期:2012-12-15首先需要知道,在函数体中定义的变量默认是全司变量。如下示例,函数insert()中定义的临时变量a,b在函数外是可见的。bill@net:~/code$ cat func.sh #!/bin/sh awk 'function insert(str, pos, inc) { b = substr(str, 1, p原创 2012-12-15 01:08:23 · 1176 阅读 · 0 评论 -
【sed&awk】数据的检索
作者:zhanhailiang 日期:2012-12-14在格式化文本中查找缩写词相应的完整词语,如输入“Basic”,返回其全称“Beginner's All-Purpose Symbolic Instruction Code”下面这个缩写词列表可理解为一个简单的数据库:zhanhailiang@linux-06bq:~> cat acronymsBASIC Begin原创 2012-12-13 22:40:05 · 871 阅读 · 0 评论 -
【前端优化】静态链接版本化[final]
作者:zhanhailiang 日期:2012-12-27首先,请先阅读【前端优化】静态链接版本化;其次,请细读find高级应用场景详解;最后,进入本文的主旨:未优化前,使用xargs -n -1为所有匹配.html文件中的静态链接添加版本号,今天对find命令有更深入的了解,决定利用find的-exec参数来优化静态链接版本化的实现代码:#!/bin/sh ver原创 2012-12-27 21:42:09 · 873 阅读 · 0 评论 -
如何添加Samba用户
作者:zhanhailiang 日期:2012-12-27今天新来的产品的同事因业务需求需要将她的Window系统连上我们的开发机Linux,自然需要在Samba里添加一个新用户。linux-06bq:/usr/local/services/samba/bin # ./smbpasswd -a sunjingNew SMB password:Retype new SMB passw原创 2012-12-27 17:33:08 · 6408 阅读 · 0 评论 -
【sed&awk】统计文本中单词的分布
作者:zhanhailiang 日期:2012-12-14脚本如下:zhanhailiang@linux-06bq:~> cat summary.sh#/bin/sh sed -e '{s/[.,?:;,/()]\+//g}' $1|awk -f for.awk |sort|uniq -c|awk '{printf("%30s\t%-10d\n", $2, $1);}'其原创 2012-12-14 11:25:35 · 1192 阅读 · 0 评论 -
【sed&awk】统计某目录下所有文件的数目
作者:zhanhailiang 日期:2012-12-13第一种方式是查看ls -lR中第一个字段为“-”的行数,如下:zhanhailiang@linux-06bq:~> ls -lR source/ |grep -E "^-"|wc -l41第二种方式是使用awk来统计,原理类似第一种:zhanhailiang@linux-06bq:~> cat summary.aw原创 2012-12-13 21:22:43 · 1325 阅读 · 0 评论 -
【sed&awk】查看文件流的方法
作者:zhanhailiang 日期:2012-12-13第一种使用cat方式查看:zhanhailiang@linux-06bq:~> cat awksrc #!/bin/shawk -F, '{ print $3 ", " $0}' $*|sort |awk -F, '$1 == LastState { print "\t" $2;}$1 != La原创 2012-12-13 10:36:53 · 1057 阅读 · 0 评论 -
【sed&awk】sed基本命令之转换
作者:zhanhailiang 日期:2012-12-11转换命令是sed特有的,不仅因为它在所有的sed命令中拥有最小的助记符。这个命令按位置将字符串abc中的每个字符,都转换成字符串xyz中的等价字符,它的语法如下:[address]y/abc/xyz/zhanhailiang@linux-06bq:~> sed -e "y/abcdefghijklmnopqrstuvwxyz原创 2012-12-11 19:35:16 · 677 阅读 · 0 评论 -
【算法】插入排序【awk实现】
作者:zhanhailiang 日期:2012-12-15bill@net:~/code$ cat grade.sort.awk function sort(array, elements, temp, i, j) { for(i = 2; i = elements; i++) { for(j = i; array[j-1] > array[j]; j--) {原创 2012-12-15 01:22:03 · 1125 阅读 · 0 评论 -
【ps与top】进程状态码详解
作者:zhanhailiang 日期:2013-03-13可以通过ps aux查看某进程的当前状态如下:bill@net:~$ ps auxUSER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMANDroot 1 0.0 0.0 2920 1820 ? Ss原创 2013-03-13 22:37:16 · 1373 阅读 · 0 评论 -
十个你可能没用过的Linux命令
转自:http://www.ituring.com.cn/article/1782如果你是一个硬件系统管理员或者Linux工程师,你可能会记得大多数Linux命令行技巧。下面的这些Linux命令行技巧通常不被Linux用户所使用。1.使用pgrep快速查找一个PIDpgrep遍历目前正在运行的进程然后列出符合查找规则的进程ID(PID)。pgrep ssh这条命转载 2013-03-31 15:32:58 · 1044 阅读 · 0 评论 -
Linux查看程序、进程的依赖库的方法
作者:zhanhailiang 日期:2015-02-01原文:How to check what libraries are used by a program or process on Linux1. 利用ldd查看可执行程序的依赖库[root@~]# ldd /usr/local/php/bin/php linux-vdso.so.1 => (0x000翻译 2015-02-01 00:47:54 · 6132 阅读 · 0 评论 -
Linux 下 Sublime Text 2/3 破解
Sublime Text —— 一个记事本类似物,俗称代码神器的东西。Sublime Text 2/3 已经对 Linux、Windows、Mac OS 提供了版本支持。界面美观大方,用户习惯良好。只是——授权有点贵$50 而已。其实它的未注册版本就可以无限期免费使用全部功能(Sublime Text 3 只提供给付费用户,且价格涨到了$70),但是标题栏上的 Unregisited 不转载 2013-04-22 23:54:26 · 4485 阅读 · 0 评论 -
Linux修改Shell命令提示符及颜色
作者:zhanhailiang 日期:2014-10-181. linux登录过程中加载配置文件顺序:/etc/profile → /etc/profile.d/*.sh → ~/.bash_profile → ~/.bashrc → [/etc/bashrc]可查看默认的~/.bashrc文件如下:[root@~/wade/codeReview/redis-2.8.1原创 2014-10-18 20:35:00 · 3901 阅读 · 0 评论 -
Linux如何删除以特殊字符开头的文件
作者:zhanhailiang 日期:2014-11-18Linux在使用一些工具时经常会生成一些以特殊字符开头的文件,如以-开头,此时若使用普通rm,会提示“invalid option”:[root@~]# rm -\,trail\:- rm: invalid option -- ','Try `rm ./-,trail:-' to remove the file `-,tra原创 2014-11-18 22:21:07 · 8077 阅读 · 0 评论 -
DNS查询工具使用浅析:host、nslookup、dig
作者:zhanhailiang 日期:2014-11-011. hosthost提供域名到IP地址的双向解析;host默认通过/etc/resolv.conf读取Name Server来解析,除非提供可选参数server;-a参数相当于进行ANY查询;[root@~]# host pic1.vip.compic1.vip.com i原创 2014-11-01 00:54:54 · 3239 阅读 · 0 评论 -
undefined reference to `sin'问题解决
作者:zhanhailiang 日期:2014-10-25使用gcc编译如下代码时报“undefined reference to `sin'”:#include #include #include main () { double a = sin(1); exit (0);}[root@~/wade/codeReview/learningc/9]# g原创 2014-10-25 01:08:17 · 4257 阅读 · 0 评论 -
Linux程序动态库加载优化
作者:zhanhailiang 日期:2014-10-26linux程序加载运态库流程简介linux从程序(program或对象)变成进程(process或进程),简单说来需要经过三步:fork进程,在内核创建进程相关内核项,加载进程可执行文件;查找依赖的.so,逐一加载映射虚拟地址;初始化程序变量;如下例通过strace查看pwd命原创 2014-10-26 16:45:57 · 1751 阅读 · 0 评论 -
Linux C定时器使用
作者:zhanhailiang 日期:2014-10-25原理Linux为每个进程提供3种定时器:ITIMER_REAL: 以系统真实的时间来计算,它送出SIGALRM信号。ITIMER_VIRTUAL: 以该进程在用户态下花费的时间来计算,它送出SIGVTALRM信号。ITIMER_PROF: 以该进程在用户态下和内核态下所费的时间来计算,它送原创 2014-10-25 01:46:16 · 1328 阅读 · 0 评论 -
nginx,php日志分割
作者:zhanhailiang 日期:2014-01-06默认nginx只会生成一个access.log和一个error.log,并且每天不断积累,日志文件会变的非常大,如果需要做一下日志的分析,无论是使用脚本分析,还是把日志下载本地分析,都不太方便。对php日志同样有如此需求。所以每天分割访问日志和错误日志等,有利于分析日志。#!/bin/sh # 每天定时分割 可选择相原创 2014-01-07 01:16:05 · 1751 阅读 · 0 评论 -
tar打包绝对路径文件
作者:zhanhailiang 日期:2013-11-10当使用tar打包绝对路径文件时会警告:tar: Removing leading `/' from member names[user_00@CoalaaHK1 ~]$ tar -zcvf test2.tar.gz /home/user_00/wade/testtar: Removing leading `/' from me原创 2013-11-10 20:32:14 · 4202 阅读 · 0 评论 -
查看Crontab日志
作者:zhanhailiang 日期:2013-11-07Linux下可以查看/var/log, 里面有所有的crontab运行日志.[root@srv-10 /var/log]$ pwd/var/log[root@srv-10 /var/log]$ ls -al cron*-rw------- 1 root root 6779673 Nov 7 10:39 cron-rw原创 2013-11-07 10:42:25 · 1241 阅读 · 0 评论 -
【Linux】如何实现后台运行任务
作者:zhanhailiang 日期:2013-08-17在Linux中,要让进程在后台运行,只需要在命令后面加上&,即将命令放入到一个作业队列中,如下:$ /usr/local/php/bin/php iospushth.php &对于已经在前台执行的运行时间比较长的命令,也可以重新放到后台执行,首先按ctrl+z暂停已经运行的进程;然后使用bg命令将停止原创 2013-08-17 19:05:19 · 1567 阅读 · 0 评论 -
Shell之执行上一条命令[!]——如何快速匹配执行上一条命令
作者:zhanhailiang 日期:2013-07-13应用场景:我们每次查看php错误日志,总是需要执行如下命令:tail -f /usr/local/php/log/errors.log为了方便,我们有多种方法来简化这条命令: 1.使用alias别名$ alias taillog='tail -f /usr/local/php/log/errors.log'2原创 2013-07-13 22:47:56 · 3647 阅读 · 0 评论 -
Vim配置文件种类,加载顺序,基本配置
作者:zhanhailiang 日期:2013-04-23通过查看:version可知Vim配置文件分为三类::versionVIM - Vi IMproved 7.3 (2010 Aug 15, compiled Oct 29 2011 18:46:03) 系统 vimrc 文件: "$VIM/vimrc" 用户 vimrc 文件: "$HOME/.vimr原创 2013-04-23 10:13:51 · 3248 阅读 · 1 评论 -
Vim如何去掉^M
作者:zhanhailiang 时间:2013-04-22参考文章:VIM中换行替换之迷> echo -e "i\rlove\rWQ." >test使用vim查看: i^Mlove^MWQ.那么如何去掉^M?接下来介绍两种去掉^M的方法。 首先cp两份复本 > cp test test2> cp test test3第一种方法:对vim tes原创 2013-04-22 17:08:44 · 1237 阅读 · 0 评论 -
ls按时间排序输出文件列表
作者:zhanhailiang 日期:2013-03-25首先,ls --help查看ls相关的与时间排序相关的参数:> ls --help|grep -E "time|sort"如果不指定 -cftuSUX 或 --sort 任何一个选项,则根据字母大小排序。 -c 配合 -lt:根据 ctime 排序及显示 ctime (文件原创 2013-03-25 12:40:38 · 2457 阅读 · 0 评论 -
没有设置 SVN_EDITOR,VISUAL 或 EDITOR 环境变量"的解决方
作者:zhanhailiang 日期:2012-12-06Linux环境下, svn ci文件时报错:zhanhailiang@linux-06bq:~/public_html/itravel2> svn ci trunk/htdocs/help/index.phpsvn: 提交失败(细节如下): svn: 无法使用外部编辑器获得日志信息;考虑设置环境变量 $SVN_EDITOR,原创 2012-12-06 19:46:41 · 3828 阅读 · 0 评论 -
查看某进程的详细状态
Linux下用”ps”命令可以查看进程列表中某一个进程的内存及CPU占用信息,那么,如果想查看某一进程详细的状态信息应该如何去做呢。其实Linux下进程的详细信息会被记录在/proc/PID/status文件中,其中PID为某个进程的Process ID。现在假设有个程序ID为788,那么我们只要cat /proc/788/status 就可以看到788这个进程的详细信息了。转载 2012-11-19 10:27:23 · 1084 阅读 · 0 评论 -
磁盘空间查询
磁盘空间查询 作者:zhanhailiang 日期:2012-11-11一个不注意,home分区居然满了:到了该清理的时候了。附:今天发现sftp连不上主机,老是报: GDBus.Error:org.freedesktop.DBus.Error.NoReply: Message did not receive a reply (timeout by mes原创 2012-11-11 10:54:20 · 934 阅读 · 0 评论 -
url 模拟http basic认证及批量抓取数据
url 模拟http basic认证curl -e 'http://www.fnet.bosai.go.jp/REGS/dataget/' -H 'Authorization: Basic ZGF4dWV3dWhlbjo2MDU4Mzc5MDU=' -F 'format=MSEED&archive=tar%2Bgzip&station=ALL&component=BHX&compone原创 2012-07-10 18:52:48 · 1413 阅读 · 0 评论 -
查询系统负载信息 Linux uptime命令详解
转自:http://os.51cto.com/art/201005/200703.htmlinux uptime命令主要用于获取主机运行时间和查询linux系统负载等信息。uptime命令过去只显示系统运行多久。现在,可以显示系统已经运行了多长时间,信息显示依次为:现在时间、系统已经运行了多长时间、目前有多少登陆用户、系统在过去的1分钟、5分钟和15分钟内的平均负载。uptim转载 2012-07-03 19:10:02 · 662 阅读 · 0 评论 -
Linux 命令行快捷键
Linux 命令行快捷键由 lugir 于 星期六, 01/30/2010 - 10:07 提交 在 Linux 命令行中有许多快捷键,例如 Ctrl+l 可以清屏,Ctrl+C 可以中断命令,Ctrl+Z 可以暂停命令等等,掌握这些快捷键之后,会发现在 Linux 下使用命令行变得更方便、更简单了 :D Linux 命令行快捷键L转载 2012-05-16 23:17:08 · 711 阅读 · 0 评论