查看启动信息
dmesg
[ 0.000000] Initializing cgroup subsys cpuset
[ 0.000000] Initializing cgroup subsys cpu
....
1566:[ 12.835054] systemd-udevd[623]: renamed network interface eth0 to eno16777736
--------------------------------------------------------------------------------------------------------------------------
1,expr
a)expr calculate//a=10;echo `expr $a - 1 `
b)string index //a='abcde';echo `expr index $a "b"`|| string substr// a='abcde'; echo `expr substr $a 2 3`
c)regrexp// a=
2,echo
a)string len//echo ${#a} ||string index//echo ${a:1:4}
centOs install emacs-nox :yum -y install emacs-nox
3,ps -ef | grep docker | grep -v "color=auto" | awk -F " " '{print $2}' | xargs kill -9 //stop all docker process
4,awk
Administrator@WIN-N4JVJKI6TEM /cygdrive/e/tmp
$ yes | head -50 | awk '{printf("user_%d@t.com,%d,user_%d,123456\n",NR,13*10^9+10^9*rand(),NR)}'
user_1@t.com,13237787512,user_1,12345
...
5,ps axw -o pid,ppid,user,%cpu,vsz,wchan,command | egrep '(nginx|PID)'
6,check the memory
[root@localhost ~]# free
total used free shared buffers cached
Mem: 3883788 3663016 220772 61164 232444 1263432
-/+ buffers/cache: 2167140 1716648
Swap: 8388604 34400 8354204
[root@localhost ~]# free | awk 'BEGIN{a=0;b=0;c=0;z=0}NR==2{a=$3;b=$6;c=$7};NR==3{z=$3}END{print a,b+c+z}'|awk 'NR==1{if($1==$2)print "OK";else print "Bad" }'
OK
7,create a file size ordered
dd if=/dev/zero of=my.files bs=5 count=1000000
time -p dd if=/dev/zero of=/home/htm/test.file bs=1024k count=100
8,add virtual ip
ip -f inet addr add 192.168.1.57/24 brd 192.168.1.255 dev enp3s0
9,curl to login 10.100.120.177
curl -x 10.100.1.76:8888 -D ckd -L http://10.100.120.177 --to get X-LENOVO-SESS-ID
curl -x 10.100.1.76:8888 --cookie "X-LENOVO-SESS-ID=tjikm64f4ejgg0fl2gotkdpme2" -X POST http://10.100.120.177/v2/user/login -d"user_slug=email:eiguleo@163.com&password=000000"
sed
----------------------------------------------------
原文http://www.cnblogs.com/dong008259/archive/2011/12/07/2279897.html
sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换、删除、新增、选取等特定工作,下面先了解一下sed的用法
sed命令行格式为:
sed [-nefri] ‘command’ 输入文本
常用选项:
-n∶使用安静(silent)模式。在一般 sed 的用法中,所有来自 STDIN的资料一般都会被列出到萤幕上。但如果加上 -n 参数后,则只有经过sed 特殊处理的那一行(或者动作)才会被列出来。
-e∶直接在指令列模式上进行 sed 的动作编辑;
-f∶直接将 sed 的动作写在一个档案内, -f filename 则可以执行 filename 内的sed 动作;
-r∶sed 的动作支援的是延伸型正规表示法的语法。(预设是基础正规表示法语法)
-i∶直接修改读取的档案内容,而不是由萤幕输出。
常用命令:
a ∶新增, a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)~
c ∶取代, c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行!
d ∶删除,因为是删除啊,所以 d 后面通常不接任何咚咚;
i ∶插入, i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行);
p ∶列印,亦即将某个选择的资料印出。通常 p 会与参数 sed -n 一起运作~
s ∶取代,可以直接进行取代的工作哩!通常这个 s 的动作可以搭配正规表示法!例如 1,20s/old/new/g 就是啦!
举例:(假设我们有一文件名为ab)
删除某行
[root@localhost ruby] # sed '1d' ab #删除第一行
[root@localhost ruby] # sed '$d' ab #删除最后一行
[root@localhost ruby] # sed '1,2d' ab #删除第一行到第二行
[root@localhost ruby] # sed '2,$d' ab #删除第二行到最后一行
显示某行
. [root@localhost ruby] # sed -n '1p' ab #显示第一行
[root@localhost ruby] # sed -n '$p' ab #显示最后一行
[root@localhost ruby] # sed -n '1,2p' ab #显示第一行到第二行
[root@localhost ruby] # sed -n '2,$p' ab #显示第二行到最后一行
使用模式进行查询
[root@localhost ruby] # sed -n '/ruby/p' ab #查询包括关键字ruby所在所有行
[root@localhost ruby] # sed -n '/\$/p' ab #查询包括关键字$所在所有行,使用反斜线\屏蔽特殊含义
增加一行或多行字符串
[root@localhost ruby]# cat ab
Hello!
ruby is me,welcome to my blog.
end
[root@localhost ruby] # sed '1a drink tea' ab #第一行后增加字符串"drink tea"
Hello!
drink tea
ruby is me,welcome to my blog.
end
[root@localhost ruby] # sed '1,3a drink tea' ab #第一行到第三行后增加字符串"drink tea"
Hello!
drink tea
ruby is me,welcome to my blog.
drink tea
end
drink tea
[root@localhost ruby] # sed '1a drink tea\nor coffee' ab #第一行后增加多行,使用换行符\n
Hello!
drink tea
or coffee
ruby is me,welcome to my blog.
end
代替一行或多行
[root@localhost ruby] # sed '1c Hi' ab #第一行代替为Hi
Hi
ruby is me,welcome to my blog.
end
[root@localhost ruby] # sed '1,2c Hi' ab #第一行到第二行代替为Hi
Hi
end
替换一行中的某部分
格式:sed 's/要替换的字符串/新的字符串/g' (要替换的字符串可以用正则表达式)
[root@localhost ruby] # sed -n '/ruby/p' ab | sed 's/ruby/bird/g' #替换ruby为bird
[root@localhost ruby] # sed -n '/ruby/p' ab | sed 's/ruby//g' #删除ruby
插入
[root@localhost ruby] # sed -i '$a bye' ab #在文件ab中最后一行直接输入"bye"
[root@localhost ruby]# cat ab
Hello!
ruby is me,welcome to my blog.
end
bye
--------------------------------------------------------------------------------
http://www.ibm.com/developerworks/cn/linux/l-cn-emacs-shell/
当 Shell 遇见 Emacs -- 大话 Emacs Shell Mode
————————————————————————————————————————————
chkconfig
- chkconfig --list #列出所有的系统服务
- chkconfig --add httpd #增加httpd服务
- chkconfig --del httpd #删除httpd服务
- chkconfig --level httpd 2345 on #设置httpd在运行级别为2、3、4、5的情况下都是on(开启)的状态
- chkconfig --list #列出系统所有的服务启动情况
- chkconfig --list mysqld #列出mysqld服务设置情况
- chkconfig --level 35 mysqld on #设定mysqld在等级3和5为开机运行服务,--level 35表示操作只在等级3和5执行,on表示启动,off表示关闭
- chkconfig mysqld on #设定mysqld在各等级为on,“各等级”包括2、3、4、5等级
------------------------------------------------------------------------------------------------------------------
IOSTAT
- iostat
输出:
- Linux 2.6.32-358.6.2.el6.x86_64 (AY130) 03/12/2013 _x86_64_ (1 CPU)
- avg-cpu: %user %nice %system %iowait %steal %idle
- 0.24 0.00 0.20 0.12 0.00 99.44
- Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
- xvda 1.18 0.44 9.44 371834 8012976
- xvdb 0.00 0.00 0.00 1344 0
- scd0 0.00 0.00 0.00 24 0
cpu属性值 | 说明 |
---|---|
%user | CPU处在用户模式下的时间百分比。 |
%nice | CPU处在带NICE值的用户模式下的时间百分比。 |
%system | CPU处在系统模式下的时间百分比。 |
%iowait | CPU等待输入输出完成时间的百分比。 |
%steal | 管理程序维护另一个虚拟处理器时,虚拟CPU的无意识等待时间百分比。 |
%idle | CPU空闲时间百分比。 |
提示:如果%iowait的值过高,表示硬盘存在I/O瓶颈,%idle值高,表示CPU较空闲,如果%idle值高但系统响应慢时,有可能是CPU等待分配内存,此时应加大内存容量。%idle值如果持续低于10,那么系统的CPU处理能力相对较低,表明系统中最需要解决的资源是CPU。
disk属性值 | 说明 |
---|---|
rrqm/s | 每秒进行 merge 的读操作数目。即 rmerge/s |
wrqm/s | 每秒进行 merge 的写操作数目。即 wmerge/s |
r/s | 每秒完成的读 I/O 设备次数。即 rio/s |
w/s | 每秒完成的写 I/O 设备次数。即 wio/s |
rsec/s | 每秒读扇区数。即 rsect/s |
wsec/s | 每秒写扇区数。即 wsect/s |
rkB/s | 每秒读K字节数。是 rsect/s 的一半,因为每扇区大小为512字节。 |
wkB/s | 每秒写K字节数。是 wsect/s 的一半。 |
avgrq-sz | 平均每次设备I/O操作的数据大小 (扇区)。 |
avgqu-sz | 平均I/O队列长度。 |
await | 平均每次设备I/O操作的等待时间 (毫秒)。 |
svctm | 平均每次设备I/O操作的服务时间 (毫秒)。 |
%util | 一秒中有百分之多少的时间用于 I/O 操作,即被io消耗的cpu百分比 |
提示:如果 %util 接近 100%,说明产生的I/O请求太多,I/O系统已经满负荷,该磁盘可能存在瓶颈。如果 svctm 比较接近 await,说明 I/O 几乎没有等待时间;如果 await 远大于 svctm,说明I/O 队列太长,io响应太慢,则需要进行必要优化。如果avgqu-sz比较大,也表示有当量io在等待。
-----------------------------------------------------------------------------------------------------