(3)grep总结
-c 计算找到的符合行的次数
-i 忽略大小写
-n 顺便输出行号
-v 反向选择,即找 没有搜索字符串的行
1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL
5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE
9) SIGKILL 10) SIGUSR1 11) SIGSEGV 12) SIGUSR2
13) SIGPIPE 14) SIGALRM 15) SIGTERM 17) SIGCHLD
18) SIGCONT 19) SIGSTOP 20) SIGTSTP 21) SIGTTIN
22) SIGTTOU 23) SIGURG 24) SIGXCPU 25) SIGXFSZ
26) SIGVTALRM 27) SIGPROF 28) SIGWINCH 29) SIGIO
30) SIGPWR 31) SIGSYS 34) SIGRTMIN 35) SIGRTMIN+1
36) SIGRTMIN+2 37) SIGRTMIN+3 38) SIGRTMIN+4 39) SIGRTMIN+5
40) SIGRTMIN+6 41) SIGRTMIN+7 42) SIGRTMIN+8 43) SIGRTMIN+9
44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12 47) SIGRTMIN+13
48) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14 51) SIGRTMAX-13
52) SIGRTMAX-12 53) SIGRTMAX-11 54) SIGRTMAX-10 55) SIGRTMAX-9
56) SIGRTMAX-8 57) SIGRTMAX-7 58) SIGRTMAX-6 59) SIGRTMAX-5
60) SIGRTMAX-4 61) SIGRTMAX-3 62) SIGRTMAX-2 63) SIGRTMAX-1
64) SIGRTMAX
131499 CRM131500.txt
#lsof -i:20880
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
java 29192 morgan 79u IPv6 1457881361 TCP *:20880 (LISTEN)
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
tcp 0 0 :::20880 :::* LISTEN -
ifconfig eth1 down &
sleep 10
service network restart &
/u01/oracle/xdk
[oracle@localhost xdk]$basename `pwd`
xdk
Login: oracle Name: (null)
Directory: /u01/oracle Shell: /bin/bash
Last login 一 3月 15 00:41 (CST) on tty1
No mail.
No Plan.
# rm -rf *
如果文件太多,占用空间太大,用上面命令删除慢的话,就执行下面的命令:
# cd /var/spool/clientmqueue
# ls | xargs rm -f
w ---将光标向前移一个单词
b ---将光标向后移一个单词
e ---将光标移到下一个单词之后
0 ---将光标移到行首
$ ---将光标移到行末
) ---将光标移到下一句句首
( ---将光标移到上一句句首
} ---将光标移到下一段开始处
{ ---将光标移到下一段开始处
G ---将光标移到当前文档的底部
^ ---将光标移到行内非空格的第一个字符
H ---将光标移到屏幕上第一行
L ---将光标移到屏幕上最后一行
在vi 中滚动屏幕:
a 然后按回车---- 将光标所在的那一行移至屏幕顶部
z 然后按"-" ---将光标所在的那一行移至屏幕底部
z 然后按"." ---将光标所在的那一行移至屏幕中部
Ctrl u ------向上滚动半屏
Ctrl d ------向下滚动半屏
Ctrl f ------向前滚动全屏
Ctrl b ------向后滚动全屏
Ctrl e ------向下滚动一行
Ctrl y ------向上滚动一行
vi 的文本编辑命令:
D ------从光标定位的行末删除文本
rc ----- -c 代表字符。光标下方的字符将被替换为r 后面的字符
R ------R 后键入的文本将改写当前文本,从光标所在位置开始,一直到按下Escape 返回命令模式为止
S ------删除当前行,并开始在当前的空白行插入文本
x ------删除光标下方的字符,并将字符右移填空
X ------删除光标前的字符,并移动字符,令光标下方的字符来填空
~ ------更改光标下方的字母的大小写
J ------将当前行和前一行连接起来,并删除因此而来的空行
vi 中的文件操作:
:e! -----丢失所有更改,并从硬盘中重载已保存的文件
vi 中的查找和替换命令
/ -----------重复上一次查找,在文件中查找下一个匹配样式
?pattern --------pattern( 样式) 指代的是要查找的内容。vi 将在文件中向后查找与指定内容匹配的第一样式
? -----------重复上一次查找,在文件中查找与上一次查找内容匹配的样式
% -----------把当前光标移至匹配的圆括号或方括号。对程序员来说,该命令非常有用
:s/pattern1/pattern2 -- 用pattern2 替换当前行中与pattern1 匹配的每个内容
:%s/pattern1/pattern2-- 用pattern2 替换整个文件中与pattern1 匹配的每个内容
vi 中的yank 命令
yw -------把光标当前所在的单词移到缓冲区
y$ -------把当前行及其以前的所有文本移到缓冲区
sed 删除每行最后一个字符
Product Name: PowerEdge 1950
Product Name: 0K649H
但是如果系统并发特别大,很有可能会超过1024。这时候就必须要调整系统参数,以适应应用变化。Linux有硬性限制和软性限制。可以通过ulimit来设定这两个参数。方法如下,以root用户运行以下命令:ulimit -HSn 8092
以上命令中,H指定了硬性大小,S指定了软性大小,n表示设定单个进程最大的打开文件句柄数量。个人觉得最好不要超过4096,毕竟打开的文件句柄数越多响应时间肯定会越慢。设定句柄数量后,系统重启后,又会恢复默认值。如果想永久保存下来,可以修改.bash_profile文件,可以修改 /etc/profile 把上面命令加到最后
32、添加用户帐号报错解决方案
Tip: .lock文件就是某人在读取时先锁定文件以防另一个程序又来读取产生错误。
33、VI中显示行号和定位行
<<将内容送到内存,一次性送到文件中,以后面的字母结尾,比如‘!’
cat > cat.file <<!
sort -t: -k3 /etc/passwd
cut -f3 cutfile
cut -f2 -d, cut.txt
paste abc ABC > merge
qa-qd-62-180
mount -o loop xxxx.iso /mnt/iso
cd /mnt/iso
f就是forword b就是backward
翻半页
ctrl-d ctlr-u
d=down u=up
滚一行
ctrl-e ctrl-y
zz 让光标所在的行居屏幕中央
zt 让光标所在的行居屏幕最上一行 t=top
zb 让光标所在的行居屏幕最下一行 b=bottom
/usr/bin/whoami
[china@136_20 demo01]$ which java
/usr/alibaba/java/bin/java
[china@136_20 demo01]$ which gcc
/usr/bin/gcc
vmstat -s
你用vmstat -s 看一下·
16432184 total memory
16343268 used memory
6766176 active memory
9119716 inactive memory
88916 free memory
132812 buffer memory
你实际活动的 内存只有6G··
有9G的 都是空闲 非活动内存··
而内核有一个 空闲内存回收阀值··
赵晋-服务器接口人 (13:36:01):
在内存达到 这个阀值 他才会自动回收空闲内存的·
王-- (13:36:02):
那为什么top出来说占用了16G
赵晋-服务器接口人 (13:36:12):
16343268 used memory
这个是used了16G没错··但used中 又分为 活动的 和 非活动的·
非活动的 其实就是空闲的没有被系统 回收的内存·
赵晋-服务器接口人 (13:37:14):
这里 你其实还有9个G的 非活动内存·
赵晋-服务器接口人 (13:39:26):
/proc/sys/vm/dirty_background_ratio
10
44、时间格式化
20100803_110543
45、jstat监控脚本
jstat -gcutil 31789 1000 10:对进程31789进行1秒钟监控1次,一共监控10次
#monitor the status of java process
#5 second per time, 8640 times 8700
current_date=`date +%Y%m%d_%H%M%S`
#backoffice
java_process1=20014
#authority
java_process2=21663
#subscription
java_process3=22213
#delivery
java_process4=23468
#interval time, 5000 means 5 Seconds
interval=5000
#how many times would be monitored
times=10
nohup jstat -gc -t ${java_process1} ${interval} ${times} >> /home/stanley/stanley_sum/pc2-1.2.0-t/output/logs/${java_process1}_backoffice_${current_date}.log &
nohup jstat -gc -t ${java_process2} ${interval} ${times} >> /home/stanley/stanley_sum/pc2-1.2.0-t/output/logs/${java_process2}_authority_${current_date}.log &
nohup jstat -gc -t ${java_process3} ${interval} ${times} >> /home/stanley/stanley_sum/pc2-1.2.0-t/output/logs/${java_process3}_subscription_${current_date}.log &
nohup jstat -gc -t ${java_process4} ${interval} ${times} >> /home/stanley/stanley_sum/pc2-1.2.0-t/output/logs/${java_process4}_delivery_${current_date}.log &
46、检查apache的启动:
或者
lynx http://localhost
47、调到前台执行
bc 1.06
Copyright 1991-1994, 1997, 1998, 2000 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.
1+2+3+4
10
quit
50、监控网络流量使用情况
sar提供四种不同的语法选项来显示网络信息。-n选项使用四个不同的开关:DEV、EDEV、SOCK和FULL。DEV显示网络接口信息,EDEV显示关于网络错误的统计数据,SOCK显示套接字信息,FULL显示所有三个开关。 输出结果的含义如下:
IFACE:就是网络设备的名称;
rxpck/s:每秒钟接收到的包数目
txpck/s:每秒钟发送出去的包数目
rxbyt/s:每秒钟接收到的字节数
txbyt/s:每秒钟发送出去的字节数
rxcmp/s:每秒钟接收到的压缩包数目
txcmp/s:每秒钟发送出去的压缩包数目
txmcst/s:每秒钟接收到的多播包的包数目
如果你使用EDEV关键字,那么会针对网络设备汇报其失败情况。具体参考:http://www.javaeye.com/articles/1903
//每隔2秒,显示5次,CPU使用的情况
%wio:CPU等待输入输出完成时间的百分比。
%idle:CPU空闲时间百分比。
在所有的显示中,我们应主要注意%wio和%idle,%wio的值过高,表示硬盘存在I/O瓶颈,
%idle值高,表示CPU较空闲,如果%idle值高但系统响应慢时,有可能是CPU等待分配内存,
此时应加大内存容量。%idle值如果持续低于10,那么系统的CPU处理能力相对较低,表
明系统中最需要解决的资源是CPU。
//每隔1秒,写入10次,把CPU使用数据保存到data.txt文件中。
sar 1 0 -e 15:00:00 > data.txt
//每隔1秒记录CPU的使用情况,直到15点,数据将保存到data.txt文件中。(-e 参数表示结束时间,注意时间格式:必须为hh:mm:ss格式)
sar 1 0 -r -e 15:00:00 > data.txt
//每隔1秒记录内存使用情况,直到15点,数据将保存到data.txt文件中。
sar 1 0 -n DEV -e 15:00:00 > data.txt
//每隔1秒记录网络使用情况,直到15点,数据将保存到data.txt文件中。
51、ps命令整理
1 S cobar 24551 1 0 75 0 - 77959 stext 19:40 ? 00:00:06 /usr/alibaba/memcached/bin/memcached -d -m 6000 -u cobar -p 12210 -c 4096 -t 8 -P /home/cobar/memcached/logs/memcached-s1.pid
1 S cobar 24564 1 0 75 0 - 61097 stext 19:40 ? 00:00:06 /usr/alibaba/memcached/bin/memcached -d -m 6000 -u cobar -p 11210 -c 4096 -t 8 -P /home/cobar/memcached/logs/memcached-s2.pid
52、快速查找使用过的命令
53、查看本机支持的字符编码:locale
LANG=en_US
LC_CTYPE="en_US"
LC_NUMERIC="en_US"
LC_TIME="en_US"
LC_COLLATE="en_US"
LC_MONETARY="en_US"
LC_MESSAGES="en_US"
LC_PAPER="en_US"
LC_NAME="en_US"
LC_ADDRESS="en_US"
LC_TELEPHONE="en_US"
LC_MEASUREMENT="en_US"
LC_IDENTIFICATION="en_US"
LC_ALL=
export LANG=zh_CN.UTF-8:设置中文环境变量
54、时间戳与long型相互转换
1283172248
[qaadmin@qa-qd-63-17 logs]$ date
Mon Aug 30 20:44:10 CST 2010
Tue Aug 31 04:03:14 CST 2010
查看当前时间戳
- #date +%s
查看指定时间
- #date -d 2008-01-01 +%s
- 1199116800
- #date -d 20080101 +%s
- 1199116800
2.将时间戳转换成date
- #date -d '1970-01-01 UTC 1199116800 seconds'
- 2008年 01月 01日 星期二 00:00:00 CST
- #export LANG=en
- #date -d '19700101 UTC 1199116800 seconds'
- Tue Jan 1 00:00:00 CST 2008
55、VI中的统计信息
:%s/\i\+/&/gn 单词数
:%s/^//n 行数
:%s/the/&/gn 任何地方出现的 "the"
58、yum安装常用软件
会安装jboss,httpd,cronlog,openssl,java
***59、将文件中的内容出现的次数进行排序
- 473 172.29.61.66
- 379 10.20.143.26
- 338 10.20.143.117
- 314 10.20.143.119
- 290 10.20.143.109
- 286 10.249.162.109
- 263 10.20.143.115
- 237 10.20.143.45
- 236 10.20.131.215
- 205 10.20.143.114
- 189 10.20.143.105