操作系统

linux系统命令

时间:2023-11-23 08:46:42 操作系统 我要投稿

linux系统命令

linux系统命令1

  netstat man的帮助手册会有提示信息:

  NOTE

  This program is obsolete. Replacement for netstat is ss. Replacement for netstat -r is ip route.

  Replacement for netstat -i is ip -s link. Replacement for netstat -g is ip maddr.

  在Linux系统作,netstat命令已废弃不建议使用,已经被ss命令替代,netstat已经是明日黄花了,官方已经不再更新了。它已经被ss命令和ip命令所取代,或许在不久的将来在Linux发行版中就将见不到netstat的身影了。所以,如果还有人在用netstat,你要建议他使用ss和ip。

  netstat命令是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息,

  语法:netstat [-acCeFghilMnNoprstuvVwx][-A网络类型>][--ip]

  补充说明:利用netstat指令可让你得知整个Linux系统的网络情况。

  参数:

  -a或--all 显示所有连线中的Socket。

  -A网络类型>或--网络类型> 列出该网络类型连线中的相关地址。

  -c或--continuous 持续列出网络状态。

  -C或--cache 显示路由器配置的快取信息。

  -e或--extend 显示网络其他相关信息。

  -F或--fib 显示FIB。

  -g或--groups 显示多重广播功能群组组员名单。

  -h或--help 在线帮助。

  -i或--interfaces 显示网络界面信息表单。

  -l或--listening 显示监控中的服务器的Socket。

  -M或--masquerade 显示伪装的网络连线。

  -n或--numeric 直接使用IP地址,而不通过域名服务器。

  -N或--netlink或--symbolic 显示网络硬件外围设备的符号连接名称。

  -o或--timers 显示计时器。

  -p或--programs 显示正在使用Socket的程序识别码和程序名称。

  -r或--route 显示Routing Table。

  -s或--statistice 显示网络工作信息统计表。

  -t或--tcp 显示TCP传输协议的连线状况。

  -u或--udp 显示UDP传输协议的连线状况。

  -v或--verbose 显示指令执行过程。

  -V或--version 显示版本信息。

  -w或--raw 显示RAW传输协议的连线状况。

  -x或--unix 此参数的效果和指定"-A unix"参数相同。

  --ip或--inet 此参数的效果和指定"-A inet"参数相同。

  1)

  代码如下:

  netstat -tl-nltp

  查看当前tcp监听端口

  Active Internet connections (only servers)

  Proto Recv-Q Send-Q Local Address Foreign Address State

  tcp 0 0 *:rrac *:* LISTEN

  tcp 0 0 *:34006 *:* LISTEN

  ......

  2)

  代码如下:

  netstat -tlp

  查看当前tcp监听端口, 需要显示监听的程序名,当不清楚mysql的监听端口时比较好用

  Active Internet connections (only servers)

  Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name

  tcp 0 0 *:rrac *:* LISTEN -

  tcp 0 0 *:34006 *:* LISTEN 23425/mysqld

  ......

  3)

  代码如下:

  netstat -tl | grep 34006

  只查看mysql的监听端口,当前启动的mysql端口为34006,明确知道mysql监听端口时使用

  4)

  代码如下:

  netstat -ta | grep 34006

  tcp 0 0 *:34006 *:* LISTEN

  tcp 0 0 linux.local:34006 linux.local:41485 ESTABLISHED

  tcp 0 0 linux.local:34006 linux.local:41486 ESTABLISHED

  ...

  tcp 0 0 10.3.2.35:41488 10.3.2.35:34006 ESTABLISHED

  tcp 0 0 10.3.2.35:41489 10.3.2.35:34006 ESTABLISHED

  tcp 0 0 10.3.2.35:41490 10.3.2.35:34006 ESTABLISHED

  由于数据库和运用程序都放在同一台机器了,因此这里连接被显示了两次. 可以使用-p参数来显示PID,然后grep PID.

  5)

  代码如下:

  netstat -tap | grep 34006 | grep 23425

  23425是当前mysql的PID

  tcp 0 0 *:34006 *:* LISTEN 23425/mysqld

  tcp 0 0 linux.local:34006 linux.local:41510 ESTABLISHED 23425/mysqld

  tcp 0 0 linux.local:34006 linux.local:41511 ESTABLISHED 23425/mysqld

  tcp 0 0 linux.local:34006 linux.local:41516 ESTABLISHED 23425/mysqld 从 整体上看,netstat的输出结果可以分为两个部分,一个是Active Internet connections,称为有源TCP连接,另一个是Active UNIX domain sockets,称为有源Unix域套接口。在上面的输出结果中,第一部分有5个输出结果,显示有源TCP连接的情况,而第二部分的输出结果显示的是 Unix域套接口的连接情况。Proto显示连接使用的协议;RefCnt表示连接到本套接口上的进程号;Types显示套接口的类型;State显示套 接口当前的状态;Path表示连接到套接口的其它进程使用的.路径名。

  事实上,netstat是若干个工具的汇总。

  显示路由表

  在随- r标记一起调用n e t s t a t时,将显示内核路由表,就像我们利用r o u t e命令一样。产生的输出如下:

  代码如下:

  [root@machine1 /]$ netstat -nr

  Kernel IP routing table

  Destination Gateway Genmask Flags MSS Window irtt Iface

  210.34.6.0 0.0.0.0 255.255.255.128 U 0 0 0 eth0

  192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1

  127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo

  0.0.0.0 210.34.6.2 0.0.0.0 UG 0 0 0 eth0

  - n 选项令netstat以点分四段式的形式输出IP地址,而不是象征性的主机名和网络名。如果想避免通过网络查找地址(比如避开DNS或NIS服务器),这一点是特别有用的。

  netstat 输出结果中,第二列展示的是路由条目所指的网关,如果没有使用网关,就会出现一个星号(*)或者0.0.0.0;第三列展示路由的概述,在为具体的I P地址找出最恰当的路由时,内核将查看路由表内的所有条目,在对找到的路由与目标路由比较之前,将对I P地址和genmask进行按位“与”计算;第四列显示了不同的标记,这些标记的说明如下:

  G 路由将采用网关。

  U 准备使用的接口处于“活动”状态。

  H 通过该路由,只能抵达一台主机。

  D 如果路由表的条目是由ICMP重定向消息生成的,就会设置这个标记。

  M 如果路由表条目已被ICMP重定向消息修改,就会设置这个标记。

  netstat输出结果的Iface显示该连接所用的物理网卡,如eth0表示用第一张,eth1表示用第二张。

  显示接口特性

  在随- i标记一起调用时, netstat将显示网络接口的当前配置特性。除此以外,如果调用时还带上-a选项,它还将输出内核中所有接口,并不只是当前配置的接口。netstat-i的输出结果是这样的:

  代码如下:

  [root@machine1 /]$ netstat -i

  Kernel Interface table

  Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg

  eth0 1500 0 787165 0 0 1 51655 0 0 0 BRU

  eth1 1500 0 520811 0 0 0 1986 0 0 0 BRU

  lo 3924 0 1943 0 0 0 43 0 0 0 LRU

  MTU 和Met字段表示的是接口的MTU和度量值值;RX和TX这两列表示的是已经准确无误地收发了多少数据包( RX - OK / TX - OK)、产生了多少错误( RX-ERR/TX-ERR)、丢弃了多少包(RX-DRP/TX-DRP),由于误差而遗失了多少包(RX-OVR/TX-OVR);最后一列展示的是 为这个接口设置的标记,在利用ifconfig显示接口配置时,这些标记都采用一个字母。它们的说明如下:

  B 已经设置了一个广播地址。

  L 该接口是一个回送设备。

  M 接收所有数据包(混乱模式)。

  N 避免跟踪。

  O 在该接口上,禁用A R P。

  P 这是一个点到点链接。

  R 接口正在运行。

  U 接口处于“活动”状态。

  显示链接

  netstat 支持用于显示活动或被动套接字的选项集。选项- t、- u、- w和- x分别表示TCP、UDP、RAW和UNIX套接字连接。如果你另外还提供了一个- a标记,还会显示出等待连接(也就是说处于监听模式)的套接字。这样就可以得到一份服务器清单,当前所有运行于系统中的所有服务器都会列入其中。

  调用netstat -ta时,输出结果如下:

  代码如下:

  [root@machine1 /]$ netstat -ta

  Active Internet connections (servers and established)

  Proto Recv-Q Send-Q Local Address Foreign Address State

  tcp 0 2 210.34.6.89:telnet 210.34.6.96:2873 ESTABLISHED

  tcp 0 0 210.34.6.89:1165 210.34.6.84:netbios-ssn ESTABLISHED

  tcp 0 0 localhost.localdom:9001 localhost.localdom:1162 ESTABLISHED

  tcp 0 0 localhost.localdom:1162 localhost.localdom:9001 ESTABLISHED

  tcp 0 0 *:9001 *:* LISTEN

  tcp 0 0 *:6000 *:* LISTEN

  tcp 0 0 *:socks *:* LISTEN

  tcp 0 80 210.34.6.89:1161 210.34.6.10:netbios-ssn CLOSE

  上 面的输出表明部分服务器处于等待接入连接状态。利用- a选项的话,netstat还会显示出所有的套接字。注意根据端口号,可以判断出一条连接是否是外出连接。对呼叫方主机来说,列出的端口号应该一直是一个 整数,而对众所周知服务(well known service)端口正在使用中的被呼叫方来说,netstat采用的则是取自/etc/services文件的象征性服务名。

linux系统命令2

  last

  -a 把从何处登入系统的主机名称或ip地址,显示在最后一行。

  -d 指定记录文件。指定记录文件。将IP地址转换成主机名称。

  -f <记录文件> 指定记录文件。

  -n <显示列数>或-<显示列数> 设置列出名单的显示列数。

  -R 不显示登入系统的主机名称或IP地址。

  -x 显示系统关机,重新开机,以及执行等级的改变等信息

  以下看所有的重启、关机记录

  last | grep reboot

  last | grep shutdown

  history

  列出所有的历史记录:

  [zzs@Linux] # history

  只列出最近10条记录:

  [zzs@linux] # history 10 (注,history和10中间有空格)

  使用命令记录号码执行命令,执行历史清单中的第99条命令

  [zzs@linux] #!99 (!和99中间没有空格)

  重复执行上一个命令

  [zzs@linux] #!!

  执行最后一次以rpm开头的命令(!? ?代表的是字符串,这个String可以随便输,Shell会从最后一条历史命令向前搜索,最先匹配的一条命令将会得到执行。)

  [zzs@linux] #!rpm

  逐屏列出所有的历史记录:

  [zzs@linux]# history | more

  立即清空history当前所有历史命令的记录

  [zzs@linux] #history -c

  cat, tail 和 watch

  系统所有的日志都在 /var/log 下面自己看(具体用途可以自己查,附录列出一些常用的日志)

  cat /var/log/syslog 等

  cat /var/log/*.log

  tail -f

  如果日志在更新,如何实时查看 tail -f /var/log/messages

  还可以使用 watch -d -n 1 cat /var/log/messages

  -d表示高亮不同的地方,-n表示多少秒刷新一次。

  该指令,不会直接返回命令行,而是实时打印日志文件中新增加的内容,

  这一特性,对于查看日志是非常有效的。如果想终止输出,按 Ctrl+C 即可。

  除此之外还有more, less ,dmesg|more,这里就不作一一列举了,因为命令太多了,关键看个人喜好和业务需求.个人常用的就是以上那些

  linux日志文件说明

  /var/log/message 系统启动后的信息和错误日志,是Red Hat Linux中最常用的日志之一

  /var/log/secure 与安全相关的日志信息

  /var/log/maillog 与邮件相关的'日志信息

  /var/log/cron 与定时任务相关的日志信息

  /var/log/spooler 与UUCP和news设备相关的日志信息

  /var/log/boot.log 守护进程启动和停止相关的日志消息

  /var/log/wtmp 该日志文件永久记录每个用户登录、注销及系统的启动、停机的事件

linux系统命令3

  Linux是一个神奇而又高效的操作系统,学完Linux对Linux系统有一个熟悉的了解后,你需要了解下Linux系统文件目录管理常用的命令。

  1、ping

  ping命令工作在OSI参考模型的第三层-网络层。

  ping命令会发送一个数据包到目的主机,然后等待从目的主机接收回复数据包,当目的主机接收到这个数据包时,为源主机发送回复数据包,这个测试命令可以帮助网络管理者测试到达目的主机的网络是否连接。

  ping无法检查系统端口是否开放。

  2、telnet

  Telnet是位于OSI模型的第7层---应用层上的一种协议,是一个通过创建虚拟终端提供连接到远程主机终端仿真的TCP/IP协议。这一协议需要通过用户名和口令进行认证,是Internet远程登陆服务的标准协议。应用Telnet协议能够把本地用户所使用的计算机变成远程主机系统的一个终端。它提供了三种基本服务:

  1)Telnet定义一个网络虚拟终端为远程系统提供一个标准接口。客户机程序不必详细了解远程系统,他们只需构造使用标准接口的程序;

  2)Telnet包括一个允许客户机和服务器协商选项的机制,而且它还提供一组标准选项; .

  3)Telnet对称处理连接的两端,即Telnet不强迫客户机从键盘输入,也不强迫客户机在屏幕上显示输出。

  telnet可以检查某个端口是否开放:telnet IP:Port

  3、ssh

  安全套接层(Secure Socket Layer,简称SSL)协议是建立在应用层和传输层基础上的'安全协议,可以用来替代Telnet、FTP以及R命令,主要是用于解决口令在网上明文传输的问题。用 Telnet 和 FTP 登录服务器时,密码以明文的形式发送给服务器,怀有恶意的人可以通过监听网络上传输的数据包,得到用户的登录信息。通过使用SSH,用户可以把所有传输的数据进行加密,而且还能够防止DNS和 IP欺骗,还有一个额外的好处就是传输的数据是经过压缩的,所以可以加快传输的速度。其特征是:

  (1)SSH可以为浏览器和服务器的联系提供透明的保护。

  (2)所有的连接都可以自动地加密,并且不会受到损害。

  (3)SSH加密整个传输过程。因此,能够防止任何在客户端和服务器之间的第三者看到传输内容。

  (4)SSH 安装容易、使用简单,而且比较常见,一般的 UNIX 系统、Linux 系统、FreeBSD 系统都附带有支持SSH的应用程序包。

  4、netstat

  Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。常用参数如下:

  -a (all)显示所有选项,默认不显示LISTEN相关

  -t (tcp)仅显示tcp相关选项

  -u (udp)仅显示udp相关选项

  -n 拒绝显示别名,能显示数字的全部转化成数字。

  -l 仅列出有在 Listen (监听) 的服務状态

  -p 显示建立相关链接的程序名

  -r 显示路由信息,路由表

  -e 显示扩展信息,例如uid等

  -s 按各个协议进行统计

  -c 每隔一个固定时间,执行该netstat命令。

  netstat用与检查某个端口是否开放如下:netstat -lnp | grep 端口号。

linux系统命令4

  系统

  # uname -a # 查看内核/操作系统/CPU信息

  # head -n 1 /etc/issue # 查看操作系统版本

  # cat /proc/cpuinfo # 查看CPU信息

  # hostname # 查看计算机名

  # lspci -tv # 列出所有PCI设备

  # lsusb -tv # 列出所有USB设备

  # lsmod # 列出加载的内核模块

  # env # 查看环境变量

  资源

  # free -m # 查看内存使用量和交换区使用量

  # df -h # 查看各分区使用情况

  # du -sh # 查看指定目录的大小

  # grep MemTotal /proc/meminfo # 查看内存总量

  # grep MemFree /proc/meminfo # 查看空闲内存量

  # uptime # 查看系统运行时间、用户数、负载

  # cat /proc/loadavg # 查看系统负载

  磁盘和分区

  # mount | column -t # 查看挂接的`分区状态

  # fdisk -l # 查看所有分区

  # swapon -s # 查看所有交换分区

  # hdparm -i /dev/hda # 查看磁盘参数(仅适用于IDE设备)

  # dmesg | grep IDE # 查看启动时IDE设备检测状况

  网络

  # ifconfig # 查看所有网络接口的属性

  # iptables -L # 查看防火墙设置

  # route -n # 查看路由表

  # netstat -lntp # 查看所有监听端口

  # netstat -antp # 查看所有已经建立的连接

  # netstat -s # 查看网络统计信息

  进程

  # ps -ef # 查看所有进程

  # top # 实时显示进程状态

  用户

  # w # 查看活动用户

  # id # 查看指定用户信息

  # last # 查看用户登录日志

  # cut -d: -f1 /etc/passwd # 查看系统所有用户

  # cut -d: -f1 /etc/group # 查看系统所有组

  # crontab -l # 查看当前用户的计划任务

  服务

  # chkconfig --list # 列出所有系统服务

  # chkconfig --list | grep on # 列出所有启动的系统服务

  程序

  # rpm -qa # 查看所有安装的软件包

linux系统命令5

  1、Linux下的基本命令

  whoami 显示当前目录名

  who 显示当前登录用户名

  w 详细显示当前登录用户信息

  date 显示当前日期

  id 显示用户 id 信息

  pwd 显示当前目录

  uname –a 显示系统信息

  df . 显示磁盘大小

  last 显示最近用户登录信息

  clear 清除当前屏幕

  history 查看历史命令

  cd /data; 进入这个目录

  cd /;ls 进入主目录,并列出下面的'文件

  cd 回到个人目录

  cd ~ 回到个人 home 目录

  cd -;ls 回到上一次访问目录

  cd ../../ 回到上两层目录

  man ls 显示 ls 命令帮助信息,需要哪个命令就是用 man 然后接命令名字

  info ls 显示 ls 帮助信息

  ls--help 显示 ls 帮助信息

  less--help 显示 less 命令帮助信息

  2、对文件进行操作

  touch test1.txt 创建文件

  cp test1.txt test2.txt 拷贝文件

  rm test2.txt 删除文件

  mv test1.txt test2.txt 移动或者重命名文件

  chmod 755 test2.txt 修改文件属性

  ln -s ../Data/K12.fna exam.fna 为文件创建软连接

  du exam.fna 查看文件大小

  gzip test.fna 压缩文件

  gunzip test.fna.gz 解压缩文件

  less exam.fna 打开文件,按字母 q 退出

  gzip test.fna 压缩文件

  gunzip test.fna.gz 解压缩文件

  more exam.fna 打开文件,按字母 q 退出

  cat exam.fna 屏幕输出文件内容

  head -10 exam.fna 截取文件开头前十行,数字可变动

  tail -10 exam.fna 截取文件结尾十行,数字可变动

  file exam.fna 查看文件属性

  stat exam.fna 查看文件统计信息

  wc exam.fna 统计文件

  cp exam.fna test.fna 拷贝文件

  tar -zxvf test.fna.tar.gz 解压缩文件

  grep ">" exam.fna |wc 统计序列条数

  touch 001.txt 002.txt 003.txt 004.txt 005.txt 同时创建多个文件

  rm -r *.txt 删除所有.txt 结尾的文件

  3、对文件夹进行操作

  mkdir dir1 创建文件夹

  cp -R dir1 dir2 拷贝文件夹,文件夹拷贝需要加-R选项

  rmdir dir2 删除空文件夹

  mv dir1 dir2 移动或者重命名文件夹

  cp exam.fna dir2 拷贝文件至文件夹

  du dir2 统计文件夹

  tar -zcvf dir2.tar.gz dir2 打包归档文件夹

  rm -r dir2 删除文件夹,注意删除不为空的文件夹需要加-r,如果出现提示,可以加-f,强制删除

  tar -zxvf dir2.tar.gz 解压缩文件夹

linux系统命令6

  # uname -a # 查看内核/操作系统/CPU信息

  # head -n 1 /etc/issue # 查看操作系统版本

  # cat /proc/cpuinfo # 查看CPU信息

  # hostname # 查看计算机名

  # lspci -tv # 列出所有PCI设备

  # lsusb -tv # 列出所有USB设备

  # lsmod # 列出加载的内核模块

  # env # 查看环境变量 资源

  # free -m # 查看内存使用量和交换区使用量

  # df -h # 查看各分区使用情况

  # du -sh # 查看指定目录的'大小

  # grep MemTotal /proc/meminfo # 查看内存总量

  # grep MemFree /proc/meminfo # 查看空闲内存量

  # uptime # 查看系统运行时间、用户数、负载

  # cat /proc/loadavg # 查看系统负载 磁盘和分区

  # mount | column -t # 查看挂接的分区状态

  # fdisk -l # 查看所有分区

  # swapon -s # 查看所有交换分区

  # hdparm -i /dev/hda # 查看磁盘参数(仅适用于IDE设备)

  # dmesg | grep IDE # 查看启动时IDE设备检测状况 网络

  # ifconfig # 查看所有网络接口的属性

  # iptables -L # 查看防火墙设置

  # route -n # 查看路由表

  # netstat -lntp # 查看所有监听端口

  # netstat -antp # 查看所有已经建立的连接

  # netstat -s # 查看网络统计信息 进程

  # ps -ef # 查看所有进程

  # top # 实时显示进程状态 用户

  # w # 查看活动用户

  # id # 查看指定用户信息

  # last # 查看用户登录日志

  # cut -d: -f1 /etc/passwd # 查看系统所有用户

  # cut -d: -f1 /etc/group # 查看系统所有组

  # crontab -l # 查看当前用户的计划任务 服务

  # chkconfig –list # 列出所有系统服务

  # chkconfig –list | grep on # 列出所有启动的系统服务 程序

  # rpm -qa # 查看所有安装的软件包

linux系统命令7

  1、查看TCP连接状态

  netstat -nat |awk '{print $6}'|sort|uniq -c|sort -rn

  netstat -n | awk '/^tcp/ {++S[$NF]};END {for(a in S) print a, S[a]}'

  netstat -n | awk '/^tcp/ {++state[$NF]}; END {for(key in state) print key," ",state[key]}'

  netstat -n | awk '/^tcp/ {++arr[$NF]};END {for(k in arr) print k," ",arr[k]}'

  netstat -n |awk '/^tcp/ {print $NF}'|sort|uniq -c|sort -rn

  netstat -ant | awk '{print $NF}' | grep -v '[a-z]' | sort | uniq -c

  netstat -nat |awk '{print $6}'|sort|uniq -c|sort -rn

  netstat -n | awk '/^tcp/ {++S[$NF]};END {for(a in S) print a, S[a]}'

  netstat -n | awk '/^tcp/ {++state[$NF]}; END {for(key in state) print key," ",state[key]}'

  netstat -n | awk '/^tcp/ {++arr[$NF]};END {for(k in arr) print k," ",arr[k]}'

  netstat -n |awk '/^tcp/ {print $NF}'|sort|uniq -c|sort -rn

  netstat -ant | awk '{print $NF}' | grep -v '[a-z]' | sort | uniq -c

  2、查找请求80端口最多的20个IP连接

  netstat -anlp|grep 80|grep tcp|awk '{print $5}'|awk -F: '{print $1}'|sort|uniq -c|sort -nr|head -n20

  netstat -ant |awk '/:80/{split($5,ip,":");++A[ip[1]]}END{for(i in A) print A,i}' |sort -rn|head -n20

  tcpdump -i eth0 -tnn dst port 80 -c 1000 | awk -F"." '{print $1"."$2"."$3"."$4}' | sort | uniq -c | sort -nr |head -n 20

  3、查找较多time_wait连接

  netstat -n|grep TIME_WAIT|awk '{print $5}'|sort|uniq -c|sort -rn|head -n20

  4、找查较多的SYN连接

  netstat -an | grep SYN | awk '{print $5}' | awk -F: '{print $1}' | sort | uniq -c | sort -nr | more

  5、根据端口列进程

  netstat -ntlp | grep 80 | awk '{print $7}' | cut -d/ -f1

  6、获取Web访问前10位的ip地址

  cat access.log|awk '{print $1}'|sort|uniq -c|sort -nr|head -n 10

  cat access.log|awk '{counts[$(11)]+=1}; END {for(url in counts) print counts[url], url}'

  7、访问次数最多的文件或页面,取前20

  cat access.log|awk '{print $11}'|sort|uniq -c|sort -nr|head -n 20

  8、列出传输最大的几个rar文件

  cat access.log|awk '{print $11}'|sort|uniq -c|sort -nr|head -n 20

  9、列出输出大于200000byte(约200kb)的rar文件以及对应文件发生次数

  cat access.log |awk '($10 > 200000 && $7~/.rar/){print $7}'|sort -n|uniq -c|sort -nr|head -n 100

  10、如果日志最后一列记录的是页面文件传输时间,则有列出到客户端最耗时的页面

  cat access.log |awk '($7~/.php/){print $NF " " $1 " " $4 " " $7}'|sort -nr|head -n 100

  cat access.log |awk '($7~/.php/){print $NF " " $1 " " $4 " " $7}'|sort -nr|head -n 100

  11、列出最最耗时的.页面(超过60秒的)的以及对应页面发生次数

  cat access.log |awk '($NF > 60 && $7~/.php/){print $7}'|sort -n|uniq -c|sort -nr|head -n 100

  12、列出传输时间超过 30 秒的文件

  cat access.log |awk '($NF > 30){print $7}'|sort -n|uniq -c|sort -nr|head -n 20

  13、统计网站流量(G)

  cat access.log |awk '{sum+=$10} END {print sum/1024/1024/1024}'

  14、统计404的连接

  awk '($9 ~/404/)' access.log | awk '{print $9,$7}' | sort

  15、统计http status

  cat access.log |awk '{counts[$(9)]+=1}; END {for(code in counts) print code, counts[code]}'

  cat access.log |awk '{print $9}'|sort|uniq -c|sort -rn

  16、查看是哪些爬虫在抓取内容

  tcpdump -i eth0 -l -s 0 -w - dst port 80 | strings | grep -i user-agent | grep -i -E 'bot|crawler|slurp|spider'

  17、查看数据库执行的sql语句

  tcpdump -i eth0 -s 0 -l -w - dst port 3306 | strings | egrep -i 'SELECT|UPDATE|DELETE|INSERT|SET|COMMIT|ROLLBACK|CREATE|DROP|ALTER|CALL'

  18、按域统计流量

  zcat squid_access.log.tar.gz| awk '{print $10,$7}' |awk 'BEGIN{FS="[ /]"}{trfc[$4]+=$1}END{for(domain in trfc){printf "%s %d ",domain,trfc[domain]}}'

  19、调试命令

  strace -p pid

  20、磁盘性能

  iostat -x 1 10

【linux系统命令】相关文章:

LINUX系统教程:passwd命令的用法09-26

Linux系统查看用户的7个命令02-24

Linux系统常用的网络命令及使用方法12-02

linux系统中scp命令的使用方法04-07

Linux查看系统配置常用命令04-29

在linux系统下使用命令更改IP地址的方法02-18

Windows系统命令大全08-01

Linux查看系统版本的方法02-18

Linux操作系统的优缺点03-29

教你快速学会安装linux系统10-13