linux杂项记录


1、如何用tcpdump嗅探80端口的访问看看谁最高?
tcpdump -i eth0 -tnn dst port 80 -c 1000 | awk -F ”.” '{print $1"."$2"."$3"."$4"."}' | sort |uniq -c | sort -nr | head-5

2.如何查看二进制文件的内容?
我们一般通过hexdump命令 来查看二进制文件的内容。
hexdump -C XXX(文件名) -C是参数 不同的参数有不同的意义
-C 是比较规范的 十六进制和ASCII码显示
-c 是单字节字符显示
-b 单字节八进制显示
-o 是双字节八进制显示
-d 是双字节十进制显示
-x 是双字节十六进制显示

3.如何让history命令显示具体时间?
HISTTIMEFORMAT=”%Y-%m-%d %H:%M:%S”
export HISTTIMEFORMAT
重新开机后会还原,可以写/etc/profile

4.如何过滤出已知当前目录下oldboy中的所有一级目录(不包含子目录,即只能是一级目录)

方法1:find ./ -type d -maxdepth 1
方法2:ls -F
方法3:ls -l | grep ^d
方法4:ls -F | grep /$
方法5:ls -l | grep -v ^-
方法6:tree -L 1 /
方法7:ls -l | sed -n /^d/p

5.如何查看/etc/services文件有多少行?
方法1:直接使用命令wc
wc -l /etc/services
方法2:给文件内容加行号
cat -n /etc/services | tail -1
方法3:sed -n ‘$=’ /etc/services
方法4:grep -n $ /etc/services | tail -1
6.请过滤出ifconfig中的ip地址?

方法1:ifconfig eth1|grep “inet add”|cut -d’:’ -f2|cut -d’ ‘ -f1
方法2:ifconfig eth1|grep “inet addr”|awk -F: ‘{print $2}’|awk ‘{print $1}’
方法3:ifconfig eth1|awk -F ‘[ :]+’ ‘NR==2 {print $4}’
方法4:ifconfig eth0|sed -n ‘2p’|sed ‘s#^.*addr:##g’|sed ‘s# Bc.*$##g’

7.将文件/etc/a 下中除了 b文件外的所有文件压缩打包放到/home/a下,名字为a.gz
tar -zcvf /home/a/test.tar.gz /etc/a/* --exclude /etc/a/b

8.如何查看test进程所打开的所有文件
lsof -c test

9.获取eth0网卡上80端口的数据包信息
tcpdump -i eth0 port 80

10 删除1.txt文件中的空行
sed -i '/^$/d' 1.txt

11.在1.txt文件中如果包含”11111″,则在”11111″前面插入”AAA”,在”11111″后面插入”BBB”,比如:将内容为0000111112222的一行改为:0000 AAA11111BBB2222
sed 's#\(11111\)#AAA\1BBB#g' 1.txt

12./var/log/messages日志出现kernel:nf_conntrack:tablefull,dropping packet,请问是什么原因导致的,如何解决?
此报错为iptables报错信息,连接跟踪表已满,开始丢包,可能的原因是由于频繁的连接、关闭,或者网络的一些TCP的连接导致的
解决方法:
1)加大跟踪表的大小
2)禁用一些不必跟踪的连接状态
3)禁用模块 ip_vs nf_conntect

13.linux系统nginx与Php环境,发现PHP-FPM进程高,请说出可能的原因以及如何解决?
1)php的插件程序与现有的PHP版本存在不兼容情况,解决方法从php.ini中禁止相关插件
2)软件本身存在问题,需要开发协同运维一同处理,查找原因
3)php程序存在死循环现象,使用服务器负载过高,解决方法使用top命令查看

14.磁盘报错:nospace left on device,但是df-h查看空间没有满,为什么?
原因:系统inode满了,因为所有的文件的文件名信息都是存放在inode里面的,文件内容是存放在block里面
可以使用df -i 来查看inode的使用情况
[root@mysql-1 download]# df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sda2 1234576 138303 1096273 12% /
tmpfs 60785 1 60784 1% /dev/shm
/dev/sda1 51200 38 51162 1% /boot

15.磁盘空间满了,删除一部分nginx日志后,但是磁盘空间还是满的,为什么?
删除的日志信息,一部分可能还是被进程调用,因此,需要重启nginx服务来释放进程;或者实际生产环境中使用>/log/access.log清空文件

16.说出netstat -an命令结果中最后一列status对应的不同网络连接状态含义
listen 服务启动后首先处于的状态(监听状态)
established 建立连接,表示建立连接的两端可以正常通信了
close_wait 对方主动关闭连接或网络异常而中断,因此状态会变成
time_wait
主动断开连接,收到对方确认后的状态,相当于释放资源,可以设置些种状态的参数,也就是主动断开后,下一次再连接的时间间隔

syn_sent 请求连接的状态,需要访问其它机器时首先发出的同步信号
17.CentOS7.x忘记root密码解决办法
http://www.linuxidc.com/Linux/2016-08/134034.htm
18.CentOS6.x忘记root密码解决办法
https://www.cnblogs.com/ljmjjy0820/p/6129893.html

声明:朱木木的博客|版权所有,违者必究|如未注明,均为原创|本网站采用BY-NC-SA协议进行授权

转载:转载请注明原文链接 - linux杂项记录


Carpe Diem and Do what I like