您的位置:首页 > 运维架构 > Linux

linux 系统管理 使用小技巧

2016-07-25 21:45 459 查看
一、这篇文章讲了什么?

  这篇文章技术含量不是很高,但是参考性很强的。本来是想等一段时间有更多条技巧后在发布的,不过,突然发现,我是去年的今天在博客园落户了,祝我的博客一周岁快乐,希望以后多分享一些文章啦。所以就把草稿箱的其中一篇很实用性的linux小技巧分享给运维的基友们。后续该篇文章会一直更新新技巧哟。感谢同志们的关注哈。

二、干货开始啦!

1.查看端口监听

[root@opm ~]# netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a,S[a]}'
CLOSE_WAIT 4
ESTABLISHED 343


2.查看端口监听状态统计

[root@Master ~]# netstat -aultn | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a,S[a]}'
TIME_WAIT 28253
ESTABLISHED 15
LISTEN 13


可以看出当前系统有28253的端口在使用,

3.优化以上内核参数方式:

编辑/etc/sysctl.conf
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_fin_timeout = 30


修改完成后,sysctl -p 立即生效

4.修改流量大的web 服务器上,优化内核参数

net.ipv4.tcp_keepalive_time = 1200
net.ipv4.ip_local_port_range = 10000 65000
net.ipv4.tcp_max_syn_backlog = 8192
net.ipv4.tcp_max_tw_buckets = 5000
#这几个参数,建议只在流量非常大的服务器上开启,会有显著的效果。一般的流量小的服务器上,没有必要去设置这几个参数。


5.查看linux 系统默认网关

ip route show | grep 'default' | awk '{print $3}'


6.过滤文件中的注释以及空格开头

egrep -v '^$|^#' /etc/rsyslog.conf


7.如何清空/删除 last记录

#清空最后登录
echo >/var/log/wtmp
#清空历史纪录
echo > ./.bash_history

#在空格后输入命令,不记录到历史命令中,先输入到环境变量中
export HISTCONTROL=ignorespace


8.mysql密码忘记了,咋办?

vi /etc/my.cnf 添加下面一句话
[mysqld]
skip-grant-tables
重启mysqld。
之后登陆mysql系统,修改root 的密码
USE mysql;
UPDATE user SET Password = password ( 'new-password' ) WHERE User = 'root' ;
flush privileges
以上就可以了。


9.利用tcpdump 监控某个接口上的端口,如80 端口,-i 后跟网络接口,centos6上是eth0。-c 是抓的包数目

[root@web ~]# tcpdump -i eno16777984 'port 80' -c 8
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eno16777984, link-type EN10MB (Ethernet), capture size 65535 bytes
23:41:42.142270 IP 192.168.30.65.27342 > web.ichunqiu.com.http: Flags [S], seq 779859144, win 8192, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0
23:41:42.142360 IP web.ichunqiu.com.http > 192.168.30.65.27342: Flags [S.], seq 1569747590, ack 779859145, win 29200, options [mss 1460,nop,nop,sackOK,nop,wscale 7], length 0
23:41:42.142677 IP 192.168.30.65.27342 > web.ichunqiu.com.http: Flags [.], ack 1, win 256, length 0
23:41:42.142722 IP 192.168.30.65.27343 > web.ichunqiu.com.http: Flags [S], seq 2277286734, win 8192, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0
23:41:42.142759 IP web.ichunqiu.com.http > 192.168.30.65.27343: Flags [S.], seq 3574925053, ack 2277286735, win 29200, options [mss 1460,nop,nop,sackOK,nop,wscale 7], length 0
23:41:42.143280 IP 192.168.30.65.27344 > web.ichunqiu.com.http: Flags [S], seq 2564439030, win 8192, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0
23:41:42.143317 IP web.ichunqiu.com.http > 192.168.30.65.27344: Flags [S.], seq 4279749150, ack 2564439031, win 29200, options [mss 1460,nop,nop,sackOK,nop,wscale 7], length 0
23:41:42.143346 IP 192.168.30.65.27343 > web.ichunqiu.com.http: Flags [.], ack 1, win 256, length 0
8 packets captured
23 packets received by filter
0 packets dropped by kernel


10.统计web服务器站点的日志,如apache 的access.log日志

[root@web ~]# cat /var/log/httpd/access_log |awk '{print $1}'|uniq -c |sort -k1,1nr
27 192.168.30.65


11.linux中利用python开启临时的web下载服务,访问端口是88,http://ip:88/,端口可以自定义其它的,避免与系统其它的冲突

[root@web ~]# python -m SimpleHTTPServer 88


Serving HTTP on 0.0.0.0 port 88 ...


12.vim 复制多行内容

:1,10 co 10
意思是复制第1行到10行之间的内容到第10行后面。

:1,-1 co 10
意思是复制第1行到文件最后一行之间的内容到第10行后面。


13.快速删除文件内每行中的的空格
  删除行首的空格

[root@hcloud webtest]# sed -i 's/^[ \t]*//g' filename


  删除行尾的空格

[root@hcloud webtest]# sed -i 's/[ \t]*$//g' filename


14.windows 编写的脚本到linux 上运行,编码错误解决方法:

:set ff=unix
:wq


15.yum 安装软件时,出现以下提示:

Resolving Dependencies
There are unfinished transactions remaining. You might consider running yum-complete-transaction first to finish them.


  解决方法:

[root@test ]# yum-complete-transaction


16.用grep 过滤文件中的空行已经#注释,并将显示出来的内容标上行号

grep -Ev  '^$|^#' hosts >test.txt && cat -n test.txt && rm -f test.txt


注意:该文章属于作者原创,如有转载或者分享,请注明出处以及该文章链接:/article/11861840.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: