Linux常用命令之一

1.top:

监控系统的运行状态,并且可以按照cpu、内存、执行时间进行排序

第一行中,10:58:56是当前时间,up 2 days 是系统运行的运行了多长时间,1 user指出了当前有几个用户登录到系统,load average指的是系统负载,这后面的三个值分别是1分钟,5分钟,15分钟的系统负载平均值。

第二行中,Task指出了当前系统有多少个进程,以及各种状态的进程统计信息。

第三行是%Cpu(s),代表了CPU占用比例,其中:

  • us 用户模式(user mode)
  • sy 系统模式(system mode)
  • ni 优先值(low priority user mode(nice))
  • id 空闲CPU百分比(idle task)
  • wa 等待输入输出的CPU事件百分比(I/O waiting)
  • hi servicing IRQs
  • si servicing soft IRQs
  • st steal (time given to other DomU instances)

 最后两行为内存信息,前者Mem为物理内存占用信息,后者Swap为交换分区占用信息。

最下面是进程的信息区域:

  • PID 进程的PID
  • USER 用户名,任务属主
  • PR 任务的优先级
  • NI 优先值
  • VIRT 虚拟映像(kb),任务当前使用的虚拟内存数量
  • RES 常驻物理内存占用量,RES=CODE+DATA
  • SHR 共享内存大小(kb)
  • S 进程状态(D-不可中断的睡眠,R-运行,S-睡眠,T-停止,Z-僵尸进程)
  • %CPU CPU使用量
  • %MEM 内存使用量
  • TIME+ CPU时间,百分之一
  • COMMAND 程序名称

2. pgrep/pkill:

根据名称或者其它属性查询(发送信号)进程信息。

pgrep命令根据提供的条件查询进程的pid,查询条件是and方式的,对于同一个选项,使用『,』分隔可以按照or方式查询。

 pkill 使用与pgrep类似,不过它不是用来查询进程pid,而是给进程发送信号,默认会发送 SIGTERM信号。

3.pstree:

该命令用于显示进程树,以树的形式显示正在运行的进程,树的根节点是指定的pid(忽略则为init进程)。

 

 4.netstat:

netstat命令用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。netstat是在内核中访问网络及相关信息的程序,它能提供TCP连接,TCP和UDP监听,进程内存管理的相关报告.

显示根据进程号、服务名、端口号查看详细信息:

5.w/who:

w命令用于查看当前哪些用户登录到系统和他们正在做什么,who命令仅用于查看哪些用户登录系统。

6.iostat:

报告CPU的统计信息,设备、分区、网络文件系统(NFS)的I/O统计信息。

 通过指定-d参数可以设定自动按照指定时间间隔显示统计信息。例如,下列命令每隔2s显示一次。

这里对几个性能指标进行解释:

  • tps 每秒发送的I/O请求数
  • Blk_read/s 每秒读取的block数
  • Blk_wrtn/s 每秒写入的block数
  • Blk_read 读取的block数
  • Blk_wrtn 写入的block数

7.查看Linux的版本(Red Hat/Cent OS):

8.tee:

tee命令用于将标准输入拷贝到标准输出。如下图将hello world 写入txt文件。

9.unzip:

unzip命令用于解压.zip文件,常用参数如下

  • -f 只更新磁盘上已经存在的文件
  • -u 更新磁盘上存在的文件,文件不存在则创建
  • -o 如果文件已经存在则直接覆盖,不提示
  • -d 指定解压到的目录

10.Pushd和Popd:

Pushd和Popd命令,这两个命令一般都是同时使用,意思就是Push和Pop。

pushd 改变当前目录到指定目录,并保存当前的目录在堆栈顶端。

popd 改变当前目录,跳转到堆栈顶端保存的目录,并将堆栈顶端的目录删除。

经常会有这么一种情况,我们会在不同目录中进行频繁的切换,如果目录很深,那么使用cd命令的工作量是不小的,这时可以使用pushdpopd命令快速切换目录。

11.scp:

在服务器和本地计算机之间传递文件, 如果要操作的对象是整个目录的话,需要添加-t参数。

从服务器下载文件:  scp username@服务器地址:/path/文件名 本地保存路径

上传文件到服务器:   scp 本地文件路径 username@服务器地址:/保存到服务器的路径

12.sed:

使用sed命令批量操作文件

参数说明

  • -e<script>或--expression=<script> 以选项中指定的script来处理输入的文本文件。
  • -f<script文件>或--file=<script文件> 以选项中指定的script文件来处理输入的文本文件。
  • -h或--help 显示帮助。
  • -n或--quiet或--silent 仅显示script处理后的结果。
  • -V或--version 显示版本信息。

动作说明

  • a :新增, a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)~
  • c :取代, c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行!
  • d :删除,因为是删除啊,所以 d 后面通常不接任何咚咚;
  • i :插入, i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行);
  • p :打印,亦即将某个选择的数据印出。通常 p 会与参数 sed -n 一起运行~
  • s :取代,可以直接进行取代的工作哩!通常这个 s 的动作可以搭配正规表示法!例如 1,20s/old/new/g 就是啦!

13.route:

 Linux系统的route命令用于显示和操作IP路由表, 要实现两个不同的子网之间的通信,需要一台连接两个网络的路由器,或者同时位于两个网络的网关来实现。

备注:直接在命令行下执行route命令来添加路由,不会永久保存,当网卡重启或者机器重启之后,该路由就失效了;可以在/etc/rc.local中添加route命令来设置路由永久有效。

查看路由信息:

14.uname:

uname可显示电脑以及操作系统的相关信息。

参数说明

  • -a或--all  显示全部的信息。
  • -m或--machine  显示电脑类型。
  • -n或-nodename  显示在网络上的主机名称。
  • -r或--release  显示操作系统的发行编号。
  • -s或--sysname  显示操作系统名称。
  • -v  显示操作系统的版本。
  • --help  显示帮助。
  • --version  显示版本信息。

15.date:

用来显示或设定系统的日期与时间,在显示方面,使用者可以设定欲显示的格式,格式设定为一个加号后接数个标记,其中可用的标记列表如下:

参数说明

  • -d datestr : 显示 datestr 中所设定的时间 (非系统时间)
  • --help : 显示辅助讯息
  • -s datestr : 将系统时间设为 datestr 中所设定的时间
  • -u : 显示目前的格林威治时间
  • --version : 显示版本编号
原文地址:https://www.cnblogs.com/dashuai-wang/p/13157403.html