1、查找文件
find . -name "index.php"2、查找某段代码所在文件
find . -name "*.php" | xargs grep -n --color "$1"3、快捷键包装(写在.bashrc里)
function grepphp(){
if [ $# -lt 1 ]; then
echo "usage:grepcpp keyword";
return 1;
fi;
find . -name "*.php" | xargs grep -n --color "$1"
}
4、du、sort、head、wc、uniq这几个命令
4.1、du命令通常是用来显示文件夹内部各个文件的大小
du -sh // 用来显示当前文件夹(.)大小,以可读方式显示
du -sh * // 用来显示当前文件夹里各个文件的大小
总结来讲,-h 表示以可读方式来显示,-s表示默认只显示当前文件夹不递归(如果不加-s,会递归)
4.2、sort排序命令
du -sh * | sort -rn
-r 参数表示降序
-n 参数表示比较数字,以数字本来意义来比较大小
4.3、head命令,用来显示前几
head -2 // 表示显示前2个
4.4、wc -l 表示 显示当前文件夹有多少行
4.5、uniq对于当前的输入(管道输入)进程去重处理
5、ps、awk、sed这三个命令
5.1、ps aux | grep mysql可以用来查看当前服务器启动的mysql进程,查看进程id。
我们可以看到pid = 10140、%CPU=0.0、%MEM=4.6、START TIME=Feb17、启动进程的执行文件路径=/usr/sbin/mysqld
5.2、grep指令应用
find . -type d |grep .svn|xargs rm -rf
这个指令的作用就是,搜索当前目录+子目录下的文件夹,把含有.svn的目录,都给删除了
5.3、sed指令
文本处理工具,不需要打开文件,可以像vim中那样替换文件内容。
A. sed '1,2d' ab #删除第一行到第二行
B. sed '1a drink tea\nor coffee' ab #第一行后增加多行,使用换行符\n
C. grep "i" -rl *.cpp | xargs sed -i "s/i/I/g" #将当前目录下所有含有i字符的.cpp文件中所有i字符全部替换为I
具体可以参考:sed命令使用参考
5.4、awk指令
文本统计工具。凡是跟统计有关的,都优先看这里。
5.5、一次性kill掉某个关键词的进程.
kill -9 $(ps -ef|grep 关键词|gawk '$0 !~/grep/ {print $2}' |tr -s '\n' ' ')
在使用这个时,要特别小心,最好先用ps -ef | grep 关键词 先看下有哪些进程,再来执行kill。
6、SFTP,打通linux与windows。
6.1、在CRT上执行快捷操作alt+P,就开启了如下图所示的SFTP。
凡是在linux上的基本操作指令,如果在前面加上l,就表示在windows上的操作。比如列出当前目录下的
文件,在linux上是ls,那么你想列出当前windows目录下的文件列表,就可以使用lls。
列出当前的路径就是lpwd等。
6.2、linux与windows上文件的联通。
使用put命令是将windows上本地的文件推送到服务器(linux)
使用get命令是将linux(服务器)上的文件down到本地
7、vim的一些好用的操作,用vim打开某个文件后的一些操作
7.1、(命令行模式)冒号加int数字,比如{ :29 },表示跳转到29行;
7.2、(命令行模式)冒号/字符串,比如{ :/off },表示跳转到当下最近含有off字符串的某行;
7.3、在5.2跳转过程中,按下N表示跳转到下一个;
7.4、(正式模式)选择了某个单词,跳转到下一个是shift + *,跳转到上一个是shift+#;
7.5、(正式模式)vim中跳转到文件尾:shift + g,连续按下两个g表示跳到文件头;
7.6、(正式模式)浏览代码文件,记住h、j、k、l,分别表示左、下、上、右;
7.7、(正式模式)进入(编辑模式),直接按下i;
7.8、(在命令行模式下)在vim中实现字符串替换:
全文替换:%s/img/IMG/g
分行替换:184,185s/img/IMG/g
上述替换如果没有后面的g,表示只替换行内第一个。
7.9、(命令行模式)下进入双屏工作模式。
具体请参考链接:http://www.cnblogs.com/floatedclouds/archive/2011/11/10/2245008.html
:vsp filename 可以tab出当前目录下的文件
8、linux一些基本文件。
执行cd命令,直接进入当前的用户目录下。
在用户目录下,一般情况下,会配置2个文件.bashrc、.vimrc,前一个文件,在上面3中提到过。
8.1 .vimrc文件是用来配置vim编辑器一些属性,比如默认显示行号、默认新建文件编码为utf-8、设置tab为4个空格等。
8.2 /etc/init.d/rc.local 文件可以用来配置开机启动项
8.3 /etc/profile 通常是用来配置环境变量的
9、kill 掉某个关键字的进程。
ps awx|grep -E "_c=server&_a=card_consume_log_area_update"|grep -v 'grep'|awk '{print $1}'|xargs kill -9
比如上面指令的关键字:
_c=server&_a=card_consume_log_area_update
10、windows上关闭占用了某些端口的进程。
netstat -ano | findstr 9527 // 查看端口9527是被哪个进程给占用了
taskkill -PID 7488 -F // 从上面查看的9527端口是被PID=7488的进程给占用了,这里将其强制kill
11、linux上查看某个端口被哪个进程占用。
netstat -tunlp|grep 端口号
12、服务器报内存、CPU异常。
首先top c显示所有linux进程情况(加上c参数表示显示完整命令)
然后再次输入M(大写M,表示按照内存消耗降序排列),
再次输入P(大写P,表示按照CPU消耗降序排列)。
找到内存、CPU最大的几个进程进行重点排查。
一般来讲出现问题的脚本(代码)是死循环的进程(PHP cli执行的),
慢MySQL的查询等,还要重点查询下crontab。