`
victorwmh
  • 浏览: 212851 次
  • 性别: Icon_minigender_1
  • 来自: 宇宙
社区版块
存档分类
最新评论

linux shell小技巧

阅读更多

来源:http://blog.csdn.net/eroswang/archive/2009/07/28/4388837.aspx

 

1.删除0字节文件
find -type f -size 0 -exec rm -rf {} \;

2.查看进程
按内存从大到小排列
ps -e   -o “%C   : %p : %z : %a”|sort -k5 -nr

3.按cpu利用率从大到小排列
ps -e   -o “%C   : %p : %z : %a”|sort   -nr

4.打印说cache里的URL
grep -r -a   jpg /data/cache/* | strings | grep “http:” | awk -F’http:’ ‘{print “http:”$2;}’

5.查看http的并发请求数及其TCP连接状态:
netstat -n | awk ‘/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}’

6. sed -i ‘/Root/s/no/yes/’ /etc/ssh/sshd_config   sed在这个文里Root的一行,匹配Root一行,将no替换成yes.

7.1.如何杀掉mysql进程:
ps aux|grep mysql|grep -v grep|awk ‘{print $2}’|xargs kill -9 (从中了解到awk的用途)

killall -TERM mysqld

kill -9 `cat /usr/local/apache2/logs/httpd.pid`   试试查杀进程PID

8.显示运行3级别开启的服务:
ls /etc/rc3.d/S* |cut -c 15-   (从中了解到cut的用途,截取数据)

9.如何在编写SHELL显示多个信息,用EOF
cat << EOF
+————————————————————–+
|       === Welcome to Tunoff services ===                |
+————————————————————–+
EOF

10. for 的巧用(如给mysql建软链接)
cd /usr/local/mysql/bin
for i in *
do ln /usr/local/mysql/bin/$i /usr/bin/$i
done

11. 取IP地址:
ifconfig eth0 |grep “inet addr:” |awk ‘{print $2}’|cut -c 6-   或者

ifconfig   | grep ‘inet addr:’| grep -v ’127.0.0.1′ | cut -d: -f2 | awk ‘{ print $1}’

12.内存的大小:
free -m |grep “Mem” | awk ‘{print $2}’

13.
netstat -an -t | grep “:80″ | grep ESTABLISHED | awk ‘{printf “%s %s\n”,$5,$6}’ | sort

14.查看Apache的并发请求数及其TCP连接状态:
netstat -n | awk ‘/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}’

15.因为同事要统计一下服务器下面所有的jpg的文件的大小,写了个shell给他来统计.原来用xargs实现,但他一次处理一部分,搞的有多个总和….,下面的命令就能解决啦.
find / -name *.jpg -exec wc -c {} \;|awk ‘{print $1}’|awk ‘{a+=$1}END{print a}’

CPU的数量(多核算多个CPU,cat /proc/cpuinfo |grep -c processor)越多,系统负载越低,每秒能处理的请求数也越多。

——————————————————————————————————————–
16   CPU负载

# cat /proc/loadavg
检查前三个输出值是否超过了系统逻辑CPU的4倍。

18   CPU负载

#mpstat 1 1
检查%idle是否过低(比如小于5%)

19   内存空间

# free
检查free值是否过低   也可以用 # cat /proc/meminfo

20   swap空间   # free
检查swap used值是否过高   如果swap used值过高,进一步检查swap动作是否频繁:
# vmstat 1 5
观察si和so值是否较大

21   磁盘空间

# df -h
检查是否有分区使用率(Use%)过高(比如超过90%)   如发现某个分区空间接近用尽,可以进入该分区的挂载点,用以下命令找出占用空间最多的文件或目录:
# du -cks * | sort -rn | head -n 10

22   磁盘I/O负载

# iostat -x 1 2
检查I/O使用率(%util)是否超过100%

23   网络负载

# sar -n DEV
检查网络流量(rxbyt/s, txbyt/s)是否过高

24   网络错误

# netstat -i
检查是否有网络错误(drop fifo colls carrier)   也可以用命令:# cat /proc/net/dev

25 网络连接数目

# netstat -an | grep -E “^(tcp)” | cut -c 68- | sort | uniq -c | sort -n

26   进程总数

# ps aux | wc -l
检查进程个数是否正常 (比如超过250)

27   可运行进程数目

# vmwtat 1 5
列给出的是可运行进程的数目,检查其是否超过系统逻辑CPU的4倍

28   进程

# top -id 1
观察是否有异常进程出现

29   网络状态   检查DNS, 网关等是否可以正常连通

30   用户

# who | wc -l
检查登录用户是否过多 (比如超过50个)   也可以用命令:# uptime

31   系统日志

# cat /var/log/rflogview/*errors
检查是否有异常错误记录   也可以搜寻一些异常关键字,例如:
# grep -i error /var/log/messages
# grep -i fail /var/log/messages

32   核心日志

# dmesg
检查是否有异常错误记录

33   系统时间

# date
检查系统时间是否正确

34   打开文件数目

# lsof | wc -l
检查打开文件总数是否过多

35   日志

# logwatch –print   配置/etc/log.d/logwatch.conf,将 Mailto 设置为自己的email 地址,启动mail服务 (sendmail或者postfix),这样就可以每天收到日志报告了。
缺省logwatch只报告昨天的日志,可以用# logwatch –print –range all 获得所有的日志分析结果。
可以用# logwatch –print –detail high 获得更具体的日志分析结果(而不仅仅是出错日志)。

36.杀掉80端口相关的进程
lsof -i :80|grep -v “PID”|awk ‘{print “kill -9″,$2}’|sh

37.清除僵死进程。
ps -eal | awk ‘{ if ($2 == “Z”) {print $4}}’ | kill -9

38.tcpdump 抓包 ,用来防止80端口被人攻击时可以分析数据
# tcpdump -c 10000 -i eth0 -n dst port 80 > /root/pkts

39.然后检查IP的重复数 并从小到大排序 注意 “-t\ +0″   中间是两个空格
# less pkts | awk {‘printf $3″\n”‘} | cut -d. -f 1-4 | sort | uniq -c | awk {‘printf $1″ “$2″\n”‘} | sort -n -t\ +0

40.查看有多少个活动的php-cgi进程
netstat -anp | grep php-cgi | grep ^tcp | wc -l

chkconfig –list | awk ‘{if ($5==”3:on”) print $1}’
41.kudzu查看网卡型号
kudzu –probe –class=network

 

41、查找包含某字符的文件

# grep /home/* -e str  查找包含“str”字符的文件

 

 

分享到:
评论

相关推荐

    Linux Shell高级技巧实战总结

    Linux Shell高级技巧实战总结 一、将输入信息转换为大写字符后再进行条件判断 二、为调试信息设置输出级别 三、判断参数是否为数字 四、判断整数变量的奇偶性 五、将Shell命令赋值给指定变量,以保证脚本的移植性 六...

    linuxshell.rar帮助文档 简单实用

    这份“linuxshell.rar帮助文档”旨在提供关于Linux Shell的基础知识和实用技巧,帮助用户提高在终端中的操作效率。 一、Shell简介 Linux Shell是Linux系统中的一个核心组件,常见的有Bash(Bourne Again SHell)、...

    维护常用linux命令\shell技巧

    熟练掌握Linux命令和Shell脚本编写技巧对于提升工作效率至关重要。以下是一些关于“维护常用Linux命令\Shell技巧”的详细知识点: 1. **基本命令操作**: - `ls`:列出目录内容。 - `cd`:切换目录。 - `pwd`:...

    Linux shell命令学习心得

    本文将深入探讨Linux shell命令的学习心得,分享一些实用技巧和常见命令的用法。 首先,Linux shell是操作系统与用户交互的接口,它允许用户通过输入命令来执行各种任务。在众多shell类型中,Bash(Bourne-Again ...

    linux shell 实验(1)

    在"shell脚本实验2"中,可能会涉及更复杂的脚本编写技巧,比如使用逻辑运算符(`-eq`, `-gt`, `-lt`等)进行比较,使用`case`语句处理多种情况,或者使用`read`命令从用户那里获取输入。 学习和实践这些知识点对于...

    linux shell 进度条

    在Linux系统中,Shell脚本是用户自定义命令序列的集合,用于自动化执行一系列任务。在执行长时间运行的任务时,如大文件传输、备份或大型数据处理,为用户提供进度反馈是非常有用的。这就是“Linux Shell 进度条”的...

    linuxshell linux命令

    Linux Shell是Linux操作系统中用户与系统交互的重要工具...掌握这些Linux Shell的基本操作和技巧,将极大地提升你在Linux环境中的工作效率和系统管理能力。通过实践和不断的探索,你将能够更熟练地驾驭这个强大的工具。

    Linux shell 编程

    本书共分五部分,详细介绍了shell编程技巧,各种UNIX命令及语法,还涉及了UNIX下的文字处理以及少量的系统管理问题。本书内容全面、文字简洁流畅,适合Shell编程人员学习、参考。 目 录 译者序 前言 第一部分 shell...

    LINUX与UNIX SHELL编程指南

    本书通过各种实用的系统管理小技巧和趣味脚本代码,详尽地介绍了shell编程各个不同的方面。学完本书后,你将成为一名shell编程高手。 内容简介 本书共分五部分 ,详细介绍了SHELL编程技巧,各种UNIX命令及语法,还...

    linux shell编程源代码 小游戏“俄罗斯方块”

    本压缩包中的"shell俄罗斯方块"是一个利用Linux Shell编程实现的小游戏,它展示了Shell脚本的强大和灵活性。俄罗斯方块是一款经典的电子游戏,玩家需要操作不同形状的方块,使其在下落过程中填充并消除整行,从而...

    linux shell-vim

    综上所述,Linux Shell和Vim的学习是提升Linux操作能力和开发效率的基础,而网络基础知识、Flask Web开发以及GDB调试技巧则是IT专业人士必备的专业技能。通过深入学习和实践,你将在IT领域中建立起坚实的技术底蕴。

    Linux的shell好比DOS的COMMAND.COM,

    在shell中,还有命令行编辑的技巧,比如使用`@`和`#`符号进行错误修正,或者利用方向键、Del键和退格键在命令行中进行编辑,这使得命令行操作更为便捷。此外,Linux shell还支持命令补全功能,当用户输入命令的一...

    LINUX-and-UNIX-Shell.rar_Linux shell_Unix shell_shell programmin

    通过深入学习,你可以掌握更多高级技巧,如函数库、陷阱处理、子shell、过程 substitution、函数编程等,从而成为一个高效的系统管理员或开发者。所提供的PDF文件可能涵盖这些主题的详细内容,建议逐一阅读,以增强...

    一个学霸的Linux Shell编程秘籍

    - 解析:本文档旨在通过深入浅出的方式介绍一系列Linux Shell编程技巧,适用于希望成为Linux高手的学习者。通过掌握这些技巧,用户能够更加高效地管理与操作Linux系统。 #### 描述解析 - **描述**:“一个学霸的...

    LINUX Shell编程指南

    本文将深入探讨Linux Shell编程的基础知识、常用命令和脚本编写技巧。 1. **Shell的种类** Linux中有多种Shell,如Bash(Bourne Again SHell)、C Shell、Korn Shell和Z Shell等。其中,Bash是目前最常用的一种,...

    绝版经典 LINUX与UNIX SHELL编程指南 PDF 高清版 [16.3M]

    本书通过各种实用的系统管理小技巧和趣味脚本代码,详尽地介绍了shell编程各个不同的方面。学完本书后,你将成为一名shell编程高手。 内容简介 本书共分五部分 ,详细介绍了SHELL编程技巧,各种UNIX命令及语法,还...

Global site tag (gtag.js) - Google Analytics