总结一下Linux下常用的命令

nc

nc命令,这是Linux一般都带有的,被誉为“瑞士军刀”。windows和Linux都有,可以下载安装对应的平台工具。使用UDP和TCP协议的网络连接去读写数据,是一个稳定的后门工具。同时它也是一个功能强大的网络调试和嗅探工具。

使用格式:

nc [-options] hostname port[s] [ports] ... 连接到某个地方

nc -l -p port [options] [hostname] [port] 绑定端口等待连接

参数有下:

-e prog 程序重定向,一旦连接就执行。同时这样也有安全隐患

-i secs 延时间隔

-l 监听模式,用于入站连接

-n 制定数字的IP地址,不能用主机名

-p port 端口

-o file 记录16进制的传输

-r 任意指定本地及远程段口

-s addr 本地源地址

-u UDP模式

-v 详细输出 用两个 -v可得到更详细的内容

-w secs 超时

-z 将输入输出关掉,用于扫描

端口号可以指定单个,后者一个范围

当然nc 可以和watch命令配置动态实时监测

netstat

netstat命令用于显示各种网络相关信息,如:网络连接,路由表,接口状态多播成员等等

netstat输出结果可分为两个部分:有源TCP连接和有源Unix域套接口

有源TCP主要是用于监测网络传输相关

有源Unix用于本机通信,性能可以提高一倍

常见参数:

-a all的意思 显示所用选项,默认不显示LISTEN相关

-t tcp意思,仅显示tcp相关选项

-u udp的意思,仅显示udp相关

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

-l 仅 列出有在listen的服务状态

-p 显示简历相关链接的程序名

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

-e 显示扩展信息

-s 按各个协议进行统计

-c 执行netstat的时间间隔

另外LISTEN和LISTENING状态只用-a 或 -l才能看到

netstat -a 列出所有端口,包括监听和未监听的

netstat -at 列出tcp端口

netstat -pt 先死PID和进程名字 (-p)

netstat -i 显示网络接口列表

可以利用watch 和 awk提取相关需要字段,用于监听

lsof

全称list open files,列出当前系统打开文件

应用程序打开文件的描述符提供了大量应用程序本身的信息,因此通过lsof工具能够查看这个列表对系统检测以及排错有很大帮助

lsof常见参数:

lsof filename 显示打开指定文件的所有进程

lsof -a 表示两个参数都必须满足时才显示结果

lsof -c string 显示COMMAND列中包含指定字符串的进程打开的描述符

lsof -u username 显示所属user进程打开的文件

lsof -g gid 显示所属gid进程情况

lsof +d /DIR/ 显示目录下被进程打开的文件

lsof +D /DIR/ 同上,但是会递归

lsof -n 不将IP转化为hostname

lsof -i 用于显示符合条件的进程情况

ls -i[46]   [protocol] [@hostname|hostaddr][:service|port]

ipv4|ipv6  TCP|UDP

lsof -i:22 查看22端口运行情况

uptime

显示结果包括服务器已经运行的时间,有多少用户登录,和对服务器性能的总体评估

load average记录了上个1,5,15分钟间隔的负载情况,表示在队列中等待执行的进程的数量,如果CPU阻塞,该值就变大

load average最佳值为1,说明每个进程都可以立刻被CU处理,多个CPU的系统中,这个值应 除以 物理CPU的个数

top

top命令显示了实际CPU的使用情况,默认5s刷新一次

PID: 进程标识

USER: 进程所有者的用户名

PRI:进程的优先级

NI: nice级别

SIZE:进程占用的内存数量,包括代码,数据,和堆栈

RSS:进程使用的物理内存数量

SHARE:该进程和其他进程共享内存的数量

STAT:进程的状态

S 休眠状态

R 运行状态

T 停止状态

D 中断休眠状态

Z 僵尸状态

%CPU:共享的CPU使用

%MEM 共享的物理内存

TIME:进程占用的CPU时间

COMMAND:启动任务的命令行,参数

iostat

iostat是sysstat包的一部分,显示系统启动后平均CPU时间与uptime类似

可以显示磁盘子系统的使用情况,iostat可以用来检测CPU利用率和磁盘利用率

%user: user level(应用)的CPU占用率情况

%nice: 加入nice优先级的user level的CPU占用率情况

%sys:system level(内核) 的CPU占用情况

%idle:空闲的CPU资源情况

Device :块设备名

Tps:设备每秒进行传输的数量(每秒的I/O请求)。多个单独的I/O请求可以被组成一个传输操作,因为一个传输操作可以是不同的容量

Blk_read/s,Blk——wrtn/s:该设备每秒读写的块数量,块可能为不同容量

Blk_read,Blk_wrtn:自系统启动以来读写的块设备总量

vmstat

vmstat命令提供了对进程、内存、页面I/O块和CPU等信息的监控,vmstat可以显示检测结果的平均值或者取样值

.process(procs)

r:等待运行时间的进程数量

b:处在不可中断睡眠状态的进程

w:被交换出去但是仍然可以运行的进程,这个值是计算出来的

.memoryswpd:虚拟内存数量

free: 空闲内存数量

buff: 用作缓冲区的内存数量

.swap

si:从硬盘交换来的数量

so:交换到硬盘去得数量

.IO

bi:向一个块设备输出的快数量

bo:从一个块设备接受的块数量

.system

in:每秒发生的中断数量,包括时钟

cs:每秒发生的context switches的数量

.cpu 整个CPU运行时间百分比

us:非内核代码运行时间(用户时间,nice时间)

sy:内核代码运行时间(系统时间)

id:空闲时间

wa:等待I/O操作时间

vmstat附加参数:

.m: 显示内核的内存利用率

.a: 显示内存页面信息,包括活跃和不活跃的内存页面

.n: 显示报头行,这个参数在使用采样模式并命令结果输出到一个文件时用

-p 分区,vmstat提供对I/O结果的统计

ps/pstree

系统分析最常用的命令,ps提供正在运行进程列表

pstree命令可以以树状结构显示所有进程信息,并且可以整合子进程信息

sar

sar程序也是sysstat安装包一部分,用于手机、报告和保存系统的信息。

sar命令三个应用组成

sar: 用于显示数据

sa1/sa2:用于搜集和存储数据

sar命令生成的数据默认保存在/var/log/sa/目录下

也可以使用sar在命令行下得到一个实时的执行结果,搜集的数据可以包括CPU利用率、内存页面、网络I/O等等呢过

sar 3 5 每个3s执行一次,执行5次sar

free

free命令显示系统的所用内存使用情况,包括空闲、被使用的和被交换的空间。

free命令显示也包括一些内核使用的缓存和缓冲区信息

参数:

-b,-k,-m,-g分别是以bytes,kilobytes,megabytes,gigabytes显示结果

-l 区别显示low和high内存

-c {count} 显示free输出的次数

pmap

pmap命令显示一个或者多个进程使用内存数量,可以使用这个工具来确定服务器上哪个进程占用了过多的内存而导致内存瓶颈

strace

strace截取和记录进程的系统调用信息,还包括进程接受的命令信号。这是一个很好的诊断和调试工具,但是需要系统管理员权限

strace -p <pid>

ulimit

可以通过ulimit来控制系统资源的使用

mpstat

mpstat命令也是sysstat的一部分。主要用于监测一个多CPU系统中每个可用CPU的情况。mpstat命令可以显示每个CPU或者所有CPU的运行情况,同时也可以像vmstat命令那样使用参数进行一定频率的采样结果监测

valgrind

内存和性能检测工具,主要用于内存泄露检测,性能检测

Linux 项目实用命令的更多相关文章

  1. Linux常用实用命令

    Linux是我们开发人员必不可少的系统,也是经常接触到的.然而,Linux命令比较多,有些不常用也难记住.那么,我们如何更高效的使用Linux命令,而又不必全面地学习呢?今天就给大家分享一下我在开发过 ...

  2. linux下实用命令

    也使用了一段时间的debian,过程中总结了一些常用的又实用的命令,在这里分享给大家=.= 很多命令选项很多,在这里我只总结最实用的一些选项提供给大家,详细选项解释大家可以去问google. 1.df ...

  3. 【Linux】——实用命令

    [前言] Linux的命令可以分为文件存取.目录操作.进程管理.权限管理.磁盘操作等内容,大量的命令方便了用户进行更快捷更高效的工作.但有一点需要说明的是,如果不采用linux的命令,也可以完成相应的 ...

  4. Linux里实用命令之添加行号、文本和语法高亮显示

    写在前面的话 本博主我,强烈建议,来看此博文的朋友们,都玩玩. 最好,在刚入门的时候呢,不加行号,不玩文本和语法高亮显示,以后会深有体会.磨炼自己! 步骤一:进入 /etc/virc配置文件 步骤二: ...

  5. 在linux下用命令行编译 java的eclipse项目

    由于jdk的版本问题导致在windows上编译打包好的jar包放在linux服务器上运行的时候出现一点小异常,所以决定在linux上进行一次项目编译,这有两个选择1.在相同的linux环境下安装lin ...

  6. Linux Tomcat日志查看实用命令

    实用命令: 查看tomcat运行日志 tail -f catalina.out 通过关键字搜索查看日志 cat jeewx-2015-09-20.log | grep 验证码 查看固定时间日志 cat ...

  7. 个人的Linux实用命令

    Linux下的命令有那么多,我不可能也不想去把每一个都记住,列举一些自己工作中很实用的命令,这些命令或许不是很常用,但是有时候却离不了. 1.网络方面 service iptables start/s ...

  8. Linux中date命令的各种实用方法--转载

    在linux环境中,不管是编程还是其他维护,时间是必不可少的,也经常会用到时间的运算,自己也曾经为时间的各种表示方法和如何修改时间而困惑,熟练运用date命令来表示自己想要表示的时间,肯定可以给自己的 ...

  9. 14: linux实用命令

    1.1 基本实用命令整理 1.查找大文件文件 du -sh ./*|grep G                 # 查看当前目录下个文件大于1G的文件夹 2.查找日志文件中 5xx数量,并进行排序 ...

随机推荐

  1. 【2018 CCPC网络赛 1004】Find Integer(勾股数+费马大定理)

    Problem Description people in USSS love math very much, and there is a famous math problem . give yo ...

  2. WIN10 vagrant和virtualbox虚拟机和一键搭建lnmp环境配置thinkphp虚拟主机

    版本:win10系统 virtualbox:5.1.26 vagrant :1.9.7 centos 7.0 xshell/git 首先下载好对应版本的软件 配置vagrant和virtualbox ...

  3. solr索引大小对比

    原文本 Solr建立的索引 如果进行Mysql索引应该是1:3的比例

  4. 6 大主流 Web 框架优缺点对比(转)

    英文: Kit Kelly   译文:oschina https://www.oschina.net/translate/web-frameworks-conclusions 是该读些评论和做一些总结 ...

  5. 【ospf-路由过滤】

  6. PHP Laravel 5.4 环境搭建

    1.php运行环境搭建 在win10系统上进行搭建的,使用的是wamp环境  wampserver3_x86_apache2.4.17_mysql5.7.9_php5.6.15.exe,安装包中集成了 ...

  7. Java --本地提交MapReduce作业至集群☞实现 Word Count

    还是那句话,看别人写的的总是觉得心累,代码一贴,一打包,扔到Hadoop上跑一遍就完事了????写个测试样例程序(MapReduce中的Hello World)还要这么麻烦!!!?,还本地打Jar包, ...

  8. 常用数字信号的产生(C实现)-ARMA模型数据生成

    ARMA模型属于信号现代谱估计的范畴,AR模型常用于信号的线性预测.AR模型最后归结为线性方程,MA最后为非线性方程,因此,AR模型使用较多. AR模型最后归结为解Yule-Walker方程,对应矩阵 ...

  9. 生産管理(PP)

    伝票系 製造指図 マスタ系 生産資源/治工具 作業区 能力 作業手順 作業バージョン 作業記録 需要予測プロファイル 計画手配 MRP レシピ その他 カスタマイズ系 BOM関連 製造指図確認 伝票系 ...

  10. GET TIME

    基本形式 GET TIME [FIELD tim]. オプション: ... FIELD tim 機能 FIELD オプションを使用しない場合. 日付および時刻のシステム項目 sy-datlo.sy-d ...