成语| 古诗大全| 扒知识| 扒知识繁体

当前位置:首页 > 趣味生活

linux最常用的20个命令

Q1:linux下常用的故障排查命令行

linux下常用的故障排查命令行1.查看TCP连接状态netstat -natawk {print $6}|sort|uniq -c|sort -rnnetstat -nawk /^tcp/ {++S[$NF]};END {for(a in S) print a, S[a]}netstat -nawk /^tcp/ {++state[$NF]}; END {for(key in state) print key,/t,state[key]} www.zhishiwu.com netstat -nawk /^tcp/ {++arr[$NF]};END {for(k in arr) print k,/t,arr[k]}netstat -nawk /^tcp/ {print $NF}|sort|uniq -c|sort -rnnetstat -antawk {print $NF}grep -v [a-z]sortuniq -cnetstat -ant|awk /ip:80/{split($5,ip,:);++S[ip[1]]}END{for (a in S) print S[a],a}sort -nnetstat -ant|awk /:80/{split($5,ip,:);++S[ip[1]]}END{for (a in S) print S[a],a}sort -rn|head -n 10awk BEGIN{printf (http_code/tcount_num/n)}{COUNT[$10]++}END{for (a in COUNT) printf a/t/tCOUNT[a]/n}
2.查找请求数请20个IP(常用于查找攻来源):netstat -anlp|grep 80|grep tcp|awk {print $5}|awk -F: {print $1}|sort|uniq -c|sort -nr|head -n20netstat -antawk /:80/{split($5,ip,:);++A[ip[1]]}END{for(i in A) print A[i],i}sort -rn|head -n203.用tcpdump嗅探80端口的访问看看谁最高tcpdump -i eth0 -tnn dst port 80 -c 1000awk -F. {print $1.$2.$3.$4}sortuniq -csort -nrhead -204.查找较多time_wait连接netstat -n|grep TIME_WAIT|awk {print $5}|sort|uniq -c|sort -rn|head -n20
5.找查较多的SYN连接netstat -angrep SYNawk {print $5}awk -F: {print $1}sortuniq -csort -nrmore6.根据端口列进程netstat -ntlpgrep 80awk {print $7}cut -d/ -f1、网站日志分析(Apache):1.获得访问前10位的ip地址cat access.log|awk {print $1}|sort|uniq -c|sort -nr|head -10cat access.log|awk {counts[$(11)]+=1}; END {for(url in counts) print counts[url], url}2.访问次数最多的文件或页面,取前20及统计所有访问IPcat access.log|awk {print $11}|sort|uniq -c|sort -nr|head -20awk { print $1} access.logsort -n -runiq -c|wc -l3.列出传输最大的几个exe文件(分析下载站的时候常用)cat access.logawk ($7~//.exe/){print $10$1$4$7}|sort -nr|head -204.列出输出大于200000byte(约200kb)的exe文件以及对应文件发生次数cat access.logawk ($10 > 200000 && $7~//.exe/){print $7}|sort -n|uniq -c|sort -nr|head -1005.如果日志最后一列记录的是页面文件传输时间,则有列出到客户端最耗时的页面cat access.logawk ($7~//.php/){print $NF$1$4$7}|sort -nr|head -1006.列出最最耗时的页面(超过60秒的)的以及对应页面发生次数cat access.logawk ($NF > 60 && $7~//.php/){print $7}|sort -n|uniq -c|sort -nr|head -1007.列出传输时间超过 30 秒的文件cat access.logawk ($NF > 30){print $7}|sort -n|uniq -c|sort -nr|head -208.统计网站流量(G)cat access.logawk {sum+=$10} END {print sum/1024/1024/1024}9.统计404的连接 www.zhishiwu.com awk ($9 ~/404/) access.logawk {print $9,$7}sort10. 统计http status.cat access.logawk {counts[$(9)]+=1}; END {for(code in counts) print code, counts[code]}cat access.logawk {print $9}|sort|uniq -c|sort -rn11.每秒并发:awk {if($9~/200|30|404/)COUNT[$4]++}END{for( a in COUNT) print a,COUNT[a]}|sort -k 2 -nr|head -n1012.带宽统计cat apache.logawk {if($7~/GET/) count++}END{print client_request=count}cat apache.logawk {BYTE+=$11}END{print client_kbyte_out=BYTE/1024KB}13.统计对象数量及对象平均大小cat access.logawk {byte+=$10}END{ print byte/NR/1024,NR}cat access.logawk {if($9~/200|30/)COUNT[$NF]++}END{for( a in COUNT) print a,COUNT[a],NR,COUNT[a]/NR*100%}
14.取5分钟日志if [ $DATE_MINUTE != $DATE_END_MINUTE ] ;then #则判断开始时间戳与结束时间戳是否相等START_LINE=`sed -n /$DATE_MINUTE/= $APACHE_LOG|head -n1` #如果不相等,则取出开始时间戳的行号,与结束时间戳的行号#END_LINE=`sed -n /$DATE_END_MINUTE/= $APACHE_LOG|tail -n1`END_LINE=`sed -n /$DATE_END_MINUTE/= $APACHE_LOG|head -n1`sed -n ${START_LINE},${END_LINE}p $APACHE_LOG > $MINUTE_LOG ##通过行号,取出5分钟内的日志内容 存放到 临时文件中GET_START_TIME=`sed -n ${START_LINE}p $APACHE_LOG|awk -F [ {print $2}awk {print $1}|sed s#/# #g|sed s#:# #` #通过行号获取取出开始时间戳GET_END_TIME=`sed -n ${END_LINE}p $APACHE_LOG|awk -F [ {print $2}awk {print $1}|seds#/# #g|sed s#:# #` #通过行号获取结束时间戳
15.蜘蛛分析查看是哪些蜘蛛在抓取内容/usr/sbin/tcpdump -i eth0 -l -s 0 -w - dst port 80stringsgrep -i user-agentgrep -i -E bot|crawler|slurp|spider网站日分析2(Squid篇)2.按域统计流量zcat squid_access.log.tar.gzawk {print $10,$7}awk BEGIN{FS=[ /]}{trfc[$4]+=$1}END{for(domain in trfc){printf %s/t%d/n,domain,trfc[domain]}}
效率更高的perl版本请到此下载:http://docs.linuxtone.org/soft/tools/tr.pl数据库篇1.查看数据库执行的sql/usr/sbin/tcpdump -i eth0 -s 0 -l -w - dst port 3306stringsegrep -i SELECT|UPDATE|DELETE|INSERT|SET|COMMIT|ROLLBACK|CREATE|DROP|ALTER|CALL系统Debug分析篇1.调试命令strace -p pid2.跟踪指定进程的PIDgdb -p pid

Q2:Linux菜鸟常用命令有哪些

Linux登录系统后的常用命令一般为:

ls:列出当前目录有的目录和文件
rm:删除操作命令
mv:重命名文件命令,迁移文件或目录命令
cd:切换所在目录命令
vi:编辑文件,进入编辑模式命令
touch:创建文件命令。
chmod:赋权命令

有了这些命令就可以简单做一些操作了

Q3:常用的Linux系统调用命令

常用的linux系统调用命令 下面一些函数已经过时,被新的更好的函数所代替了(gcc在链接这些函数时会发出警告),但因为兼容的原因还保留着,这些函数将在前面标上*号以示区别。一、进程控制fork 创建一个新进程clone 按指定条件创建子进程execve 运行可执行文件exit 中止进程_exit 立即中止当前进程getdtablesize 进程所能打开的最大文件数getpgid 获取指定进程组标识号setpgid 设置指定进程组标志号getpgrp 获取当前进程组标识号setpgrp 设置当前进程组标志号getpid 获取进程标识号getppid 获取父进程标识号getpriority 获取调度优先级setpriority 设置调度优先级modify_ldt 读写进程的本地描述表nanosleep 使进程睡眠指定的时间nice 改变分时进程的优先级pause 挂起进程,等待信号personality 设置进程运行域prctl 对进程进行特定操作ptrace 进程跟踪sched_get_priority_max 取得静态优先级的上限sched_get_priority_min 取得静态优先级的下限sched_getparam 取得进程的调度参数sched_getscheduler 取得指定进程的调度策略sched_rr_get_interval 取得按RR算法调度的实时进程的时间片长度sched_setparam 设置进程的调度参数sched_setscheduler 设置指定进程的调度策略和参数sched_yield 进程主动让出处理器,并将自己等候调度队列队尾vfork 创建一个子进程,以供执行新程序,常与execve等同时使用wait 等待子进程终止wait3 参见waitwaitpid 等待指定子进程终止wait4 参见waitpidcapget 获取进程权限capset 设置进程权限getsid 获取会晤标识号setsid 设置会晤标识号二、文件读写操作fcntl 文件控制open 打开文件creat 创建新文件close 关闭文件描述字read 读文件write 写文件readv 从文件读入数据到缓冲数组中writev 将缓冲数组里的数据写入文件pread 对文件随机读pwrite 对文件随机写lseek 移动文件指针_llseek 在64位地址空间里移动文件指针dup 复制已打开的文件描述字dup2 按指定条件复制文件描述字flock 文件加/解锁poll

wwW.#BazHiSHI.COm

Q4:linux,unix常用基本命令

下面列出了Linux最常用的一些命令,及其功能:
1、cd命令
这是一个非常基本,也是大家经常需要使用的命令,它用于切换当前目录,它的参数是要切换到的目录的路径,可以是绝对路径,也可以是相对路径。
2、ls命令
这是一个非常有用的查看文件与目录的命令。
3、grep命令
该命令常用于分析一行的信息,若当中有我们所需要的信息,就将该行显示出来,该命令通常与管道命令一起使用,用于对一些命令的输出进行筛选加工等等。
4、find命令
find是一个基于查找的功能非常强大的命令,相对而言,它的使用也相对较为复杂,参数也比较多。
5、cp命令
该命令用于复制文件,copy之意,它还可以把多个文件一次性地复制到一个目录下。
6、mv命令
该命令用于移动文件、目录或更名,move之意。
7、rm命令
该命令用于删除文件或目录,remove之意。
8、ps命令
该命令用于将某个时间点的进程运行情况选取下来并输出,process之意。
9、kill命令
该命令用于向某个工作(%jobnumber)或者是某个PID(数字)传送一个信号,它通常与ps和jobs命令一起使用。
10、tar命令
该命令用于对文件进行打包,默认情况并不会压缩,如果指定了相应的参数,它还会调用相应的压缩程序(如gzip和bzip等)进行压缩和解压。
11、cat命令
该命令用于查看文本文件的内容,后接要查看的文件名,通常可用管道与more和less一起使用,从而可以一页页地查看数据。
12、chmod命令
该命令用于改变文件的权限。
13、vim命令
该命令主要用于文本编辑,它接一个或多个文件名作为参数,如果文件存在就打开,如果文件不存在就以该文件名创建一个文件。vim是一个非常好用的文本编辑器,它里面有很多非常好用的命令。

猜你喜欢

更多