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在这个文里Root的一行,匹配Root一行,将no替换成yes.
sed -i ‘/Root/s/no/yes/’ /etc/ssh/sshd_config 
 

7.如何杀掉mysql进程:

ps aux|grep mysql|grep -v grep|awk ‘{print $2}’|xargs kill -9
(从中了解到awk的用途)
pgrep mysql |xargs kill -9
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|sed -n '2p'|awk '{print $2}'|cut -c 6-30

或者: 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}'

或者: ifconfig eth0 | sed -n '/inet /{s/.*addr://;s/ .*//;p}'

Perl实现获取IP的方法: 
ifconfig -a | perl -ne 'if ( m/^\s*inet (?:addr:)?([\d.]+).*?cast/ ) { print qq($1\n); exit 0; }' 
 

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, 网关等是否可以正常连通

ping traceroute nslookup dig 
 

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

 

31. 系统日志 # cat /var/log/rflogview/*errors

检查是否有异常错误记录 也可以搜寻一些异常关键字,例如: 
# grep -i error /var/log/messages # grep -i fail /var/log/messages 
# egrep -i 'error|warn' /var/log/messages 查看系统异常 32 核心日志 
# dmesg 检查是否有异常错误记录 
 

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

当前时间: date +"%Y-%m-%d %H:%M:%S" 
 

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
 

41.利用iptables对应简单攻击

netstat -an | grep -v LISTEN | awk ‘{print $5}’ |grep -v 127.0.0.1|grep -v 本机ip|sed “s/::ffff://g”|awk ‘BEGIN { FS=”:” } { Num[$1]++ } END { for(i in Num) if(Num>8) { print i} }’ |grep ‘[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}’| xargs -i[] iptables -I INPUT -s [] -j DROP
Num>8部分设定值为阀值,这条句子会自动将netstat -an 中查到的来自同一IP的超过一定量的连接的列入禁止范围。

记得将本机ip改成你的服务器的ip地址。

 

42. 怎样知道某个进程在哪个CPU上运行?

# ps -eo pid,args,psr
 

43. 查看硬件制造商

dmidecode -s system-product-name
 

44.perl如何编译成字节码,这样在处理复杂项目的时候会更快一点?

perlcc -B -o webseek webseek.pl
 

45. 统计var目录下文件以M为大小,以列表形式列出来。

find /var -type f | xargs ls -s | sort -rn | awk ‘{size=$1/1024; printf(“%dMb %s\n”, size,$2);}’ | head
查找var目录下文件大于100M的文件,并统计文件的个数
find /var -size +100M -type f | tee file_list | wc -l
 

46. sed 查找并替换内容

sed -i “s/varnish/LTCache/g” `grep “Via” -rl /usr/local/src/varnish-2.0.4`
sed -i “s/X-Varnish/X-LTCache/g” `grep “X-Varnish” -rl /usr/local/src/varnish-2.0.4`
 

47. 查看服务器制造商

dmidecode -s system-product-name
 

48. wget 模拟user-agent抓取网页

wget -m -e robots=off -U “Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6” http://www.example.com/
 

50. 统计目录下文件的大小(按M打印显示)

du $1 –max-depth=1 | sort -n|awk ‘{printf “%7.2fM —-> %s\n”,$1/1024,$2}’|sed ‘s:/.*/\([^/]\{1,\}\)$:\1:g’
 

51.关于CND实施几个相关的统计

统计一个目录中的目录个数
ls -l | awk ‘/^d/’ | wc -l
统计一个目录中的文件个数
ls -l | awk ‘/^-/’ | wc -l
统计一个目录中的全部文件数
find ./ -type f -print | wc -l
统计一个目录中的全部子目录数
find ./ -type d -print | wc -l
统计某类文件的大小:
find ./ -name “*.jpg” -exec wc -c {} \;|awk ‘{print $1}’|awk ‘{a+=$1}END{print a}’
 

53. 查找占用磁盘IO最多的进程

wget -c http://linux.web.psi.ch/dist/scientific/5/gfa/all/dstat-0.6.7-1.rf.noarch.rpm
dstat -M topio -d -M topbio
 

54. 去掉第一列(如行号代码)

awk ‘{for(i=2;i<=NF;i++) if(i!=NF){printf $i" "}else{print $i} }' list 
 

55.输出256中色彩

for i in {0..255}; do echo -e "\e[38;05;${i}m${i}"; done | column -c 80 -s ' '; echo -e "\e[m" 
 

56.查看机器支持内存 机器插内存情况: dmidecode |grep -P "Maximum\s+Capacity"

机器最大支持内存: dmidecode |grep -P "Maximum\s+Capacity" 
 

57.查看PHP-CGI占用的内存总数:

total=0; for i in `ps -C php-cgi -o rss=`; do total=$(($total+$i)); done; echo "PHP-CGI Memory usage: $total kb"
 

58, 删除一个目录下的所有文件,但保留一个指定文件(保留file10)

①创建10个文件:touch file{1..10}
②ll
#方法一:
[root@template tmp]# find /tmp -type f ! -name "file10"|xargs rm -f
方法二:
[root@template tmp]# find /tmp -type f ! -name "file10" -exec rm -f {} \;
#find找到的内容,-exec是参数,{}:要查找的目标,一般可以不写。  \ :反斜杠转义字符 
!作用就是:取反
   
59,cat 查看文件内容
用法1:增加多行内容
[root@Linux tmp]# cat >>/tmp/test.txt <<EOF //用户输入EOF后,退出文档编辑。
用法2:过滤出除liya的字母
root@Linux tmp]# cat text.txt 
test
limen
aaaa
[root@Linux tmp]# cat text.txt|grep -v "aaaa" text.txt 
test
limen
 

60, sed命令

作用:过滤:sed -n '/过滤的内容/处理的命令' 文件 
-n  取消sed 的默认输出
-p  print打印
-d  delete删除
-i   改变文件内容
过滤出除aaaa的字母:
[root@template tmp]# cat text.txt 
test
limen
aaaa
以下几个命令都可以:
grep -v "aaaa" text.txt 
sed -e /^aaaa/d text.txt
sed /aaaa/d text.txt

Linux实际常用命令的更多相关文章

  1. Linux GDB常用命令一栏

    Linux GDB 常用命令如下: 1.启动和退出gdb (1)启动:gdb ***:显示一段版权说明: (*** 表示可执行程序名) (2)退出:quit.有的时候输入quit后会出现相关提示:类似 ...

  2. Linux 下常用命令

    linux 下常用命令: 1.删除文件命令为 rm 2.创建目录的命令是:mkdir 3.删除目录的命令是rmdir(空目录) 4.切换到root帐号:su 5.查看所有进程:ps -aux 6.杀死 ...

  3. linux 服务器常用命令整理

    linux 服务器常用命令整理 目录 网络分析 - tcpdump \ telnet \ (netstat \ ss \ lsof) \ nload 网络传输 - scp \ rsync \ (rz ...

  4. 计算机硬件基本知识及Linux的常用命令

    ------------------1. 计算机硬件基本知识------------------ CPU - 寄存器 - L1/L2/L3 - 内存 - 硬盘 - 互联网下载/其他存储介质传输 寄存器 ...

  5. 一、Linux概述 二、Linux的安装 三、Linux的常用命令(重点)

    一.Linux概述###<1>操作系统 OS,管理和控制 计算机的 硬件和软件资源的 计算机程序. 最基本的系统软件. 是用户和计算机交互的桥梁,是硬件和软件交互的桥梁. 操作系统:she ...

  6. Linux帮助——常用命令

    Linux帮助——常用命令 摘要:本文主要学习了Linux系统中常用的一些命令. uname命令 uname命令可以显示电脑以及操作系统的相关信息. 基本语法 uname [选项] 选项说明 -a:显 ...

  7. Linux虚拟机常用命令

    参考原文链接:(https://blog.csdn.net/fanyun_01/article/details/51083585) 一.Linux虚拟机常用命令 # virsh list //查看已打 ...

  8. [转帖]Linux systemd 常用命令

    Linux systemd 常用命令 https://www.cnblogs.com/tsdxdx/p/7288490.html systemctl hostnamectl timedatectl l ...

  9. Linux系统管理常用命令

    Linux系统管理常用命令 分类: Linux2011-01-10 18:26 1538人阅读 评论(0) 收藏 举报 linuxcommandservicenginxuserunix 目录(?)[+ ...

  10. Linux + NodeJS 常用命令

    Linux系统常用命令 1.su 由当前用户切换至root用户: 2. su username 切换至某一用户: 3.chmod u+w /etc/sudoers 为/etc/sudoers文件添加写 ...

随机推荐

  1. Python3 解析excel文件

    Python3 解析读取excel文件 一.第三方库 import xlrd 二.代码示例 import xlrd ''' 读取Excel每个sheet的第一列和第二列的值,拼接成json串,写入文件 ...

  2. linux下配置nginx使用ftp目录作为静态资源文件的目标目录

    1.安装ftp服务,可以直接yum install vsftpd. 2.设置随机启动,chkconfig vsftpd on. 3.启动ftp服务,service vsftpd start. 4.配置 ...

  3. Python 人工智能之人脸识别 face_recognition 模块安装

    Python人工智能之人脸识别face_recognition安装 face_recognition 模块使用系统环境搭建 系统环境 Ubuntu / deepin操作系统 Python 3.6 py ...

  4. ZVAL——PHP源码分析

    基于 PHP 5.6.20 ZVAL——php变量实现的基础 _zval_struct 结构体的定义位于 Zend/zend.h 322 行 typedef union _zvalue_value { ...

  5. 如何在Windows中通过Cygwin来使用Linux命令行

    PowerShell的出现让Windows的命令行工具有了很大的改进.但是多年以来,Linux一直拥有很多有用的终端.在这里通过Cygwin你可以同时拥有上面两种命令行工具,Cygwin是一个可以在W ...

  6. phpstorm官方教程

    https://confluence.jetbrains.com/pages/viewpage.action?pageId=15801728

  7. JUnit Parametrized Tests

    Junit allows us to create parametrized tests. Parametrized test class has to be annotated with the @ ...

  8. Android系统更新防互刷功能实现与分析【转】

    本文转载自:https://blog.csdn.net/huangyabin001/article/details/44465145 版权声明:本文为博主原创文章,未经博主允许不得转载.    htt ...

  9. e信与酸酸结合开wifi使用路由器上网

    关于e信"正常情况下"使用路由器网上是有方法的,入户线插上lan,电脑接lan拨号 我想要说的是连接e信后使用路由器上网,并且是绝对正常的思维 手机也是可以连接上wifi,但是手机 ...

  10. 深度学习课程笔记(九)VAE 相关推导和应用

    深度学习课程笔记(九)VAE 相关推导和应用 2018-07-10 22:18:03 Reference: 1. TensorFlow code: https://jmetzen.github.io/ ...