运行环境是Ubuntu  16.0.4,联网安装相关命令,同时记录常见命令fdisk、df、top、free等,命令格式的详细参数等,可以参考help或者man。

一、查看硬盘或者文件信息

1、fdisk

 sudo fdisk -l

fdisk命令,查看系统所有的硬盘设备信息。

如图,会显示如下的内存信息(未截图)、信息120GB的SSD硬盘,以及外挂的64GB  SD卡信息。

2、df命令

命令格式:

df  [OPTION]... [FILE]...

作用:查看Linux所有文件系统的硬盘利用率信息(仅包括已经挂载的分区)。

3、du 命令

命令格式

du  [OPTION]... [FILE]...OPTION]... [FILE]...

作用:查看文件占用的磁盘空间大小

du   -h    -d  1

4、md5sum命令

作用:查看文件md5校验值

二、实时资源信息查看

1、free命令

如图所示,free 命令显示,当前内存使用的总体情况。

2、top命令

具体命令格式,可以参考help。以及如下连接:

前5行是,统计信息,具体含义:

第一行是,系统时间信息、用户数、任务队列。

序号 含义
1 09:16:01 当前系统时间
2 50min 系统运行时间    格式是    小时:分钟
3 1 [user] 当前登录用户数
4 load average  0.23 系统负载  1分钟前任务平均长度
5 load average  0.27 系统负载  5分钟前任务平均长度
6 load average  0.21 系统负载  15分钟前任务平均长度

疑问:如何计算系统负载?

第二行,是进程信息。

序号 含义
1 246  [total] 进程总数
2 1 [running] 正在运行的进程数量
3 245 [sleeping] 休眠的进程数量
4 0 [stopped] 停止的进程数
5 0 [zombie] 僵死的进程数

第三行,是CPU信息。

可以使用1 - command,切换多核模式。

第四行是 物理内存使用情况。

序号 含义
1 11988028  total 物理内存总量
2 9600056   free 空闲物理内存
3 1134356    used 用户空间的物理内存量
4 1253616    buff/cache 内核缓存的物理内存量

可以使用E - command,切换不同的统计单位,如下

KiB = kibibyte = 1024 bytes
           MiB = mebibyte = 1024 KiB = 1,048,576 bytes
           GiB = gibibyte = 1024 MiB = 1,073,741,824 bytes
           TiB = tebibyte = 1024 GiB = 1,099,511,627,776 bytes
           PiB = pebibyte = 1024 TiB = 1,125,899,906,842,624 bytes
           EiB = exbibyte = 1024 PiB = 1,152,921,504,606,846,976 bytes

第五行是 虚拟内存使用情况。

序号 含义
1 3905532  total swap内存总量
2 3905532  free swap空闲总量
3 0    used swap使用量
4 10081020  avail mem swap分区交换至物理内存的总量

进程以及线程信息:

PID:进程的ID
  USER:进程所有者
  PR:进程的优先级别,越小越优先被执行
  NInice:值
  VIRT:进程占用的虚拟内存
  RES:进程占用的物理内存
  SHR:进程使用的共享内存
  S:进程的状态。S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值为负数
  %CPU:进程占用CPU的使用率
  %MEM:进程使用的物理内存和总内存的百分比
  TIME+:该进程启动后占用的总的CPU时间,即占用CPU使用时间的累加值。
  COMMAND:进程启动命令名称

# top -u  用户名     //查看用户进程占用资源情况

#U - command  可以根据用户名查看进程

#c - command   可以查看命令路径

内存查看与优化 - 好文

3、ps、netstat、pmap   等其他 命令

lsof命令  查询端口占用请看

netstat  查询端口网络情况,以下本机实例,查询TCP监听端口:

#jps               //查看Tomcat进程
1638 Bootstrap
13766 jps
#while true; do pmap -d  3066 | tail -1; sleep 2; done   //查看Tomcat进程占用内存情况
mapped: 6612168K    writeable/private: 722332K    shared: 2748K
mapped: 6612168K    writeable/private: 722332K    shared: 2748K
mapped: 6612168K    writeable/private: 722332K    shared: 2748K
mapped: 6612168K    writeable/private: 722332K    shared: 2748K
mapped: 6612168K    writeable/private: 722332K    shared: 2748K
mapped: 6612168K    writeable/private: 722332K    shared: 2748K
mapped: 6612168K    writeable/private: 722332K    shared: 2748K

4、locate、find  查询命令

locate与find都是Ubuntu等Linux系统提供的文件查询命令。

locate命令,首先通过建立一个系统内所有文件路径、文件名称的索引库(sqlite库?等待确定),之后执行locate命令,仅仅查询数据库,避免全盘扫描文件,实现快速文件查询。类似与Windows下的Everything文件工具,使用方式如下:

(1)更新文件索引库

(2)使用locate命令查询

locate  文件名

实例一:查询文件名是gulp.js的文件

实例二:查询/etc目录下以sh开头的文件

实例三:查询/softing目录下,以s开头的文件   -n  指示最多显示5条,同时-i  不区分大小写。

实例四:locate  -r   正则表达式

以×××开始,以/var/tmp开始的文件名:

以xxxx结束,以/Logs/log结束的文件名:

find,是Linux系统提供的实时文件查询命令。

基本用法如下:find   路径名   -name   文件名

find与grep命令配合:

find命令同时支持正则表达式:

find命令与locate命令,表示以/bin/find结束的文件

使用find + xargs + rm 删除特定目录下的log文件

// 删除以log结尾的日志
find ~/Downloads/ -name "*.log" | xargs rm -f// 删除更改时间为5天前的,以log结尾的日志find ~/Downloads/ -mtime +5 -name "*.log" | xargs rm -f

小总结:

(1)locate命令执行速度高于find命令,因为其本质是查询文件系统的索引库。

(2)locate命令是非实时的,是以文件索引库为准。系统会自动维护更新。

(3)locate命令,用户可以通过sudo  updatedb  命令更新文件索引库。

5、htop命令

首先,在Ubuntu 系统Terminal,使用 “apt” 命令在线安装htop

如果安装过程遇到如下错误:

是因为,在线安装atom软件包时,非正常结束。如图,我们可以使用  dpkg  命令卸载安装包。然后再安装htop。

然后,运行htop命令。观察相关信息。可以利用状态栏的F1 - F10功能键,完成交互查询。

6、tcpdump

tcpdump是Linux系统常用的网络包分析工具,显示通过网络传输到系统的TCP/IP以及其他网络的数据包。tcpdump使用libpcap。

安装:Linux发行版本普遍存在,联网机器,如果需要额外安装:

CentOS/RHEL

$sudo yum install tcpdump*

Fedora

$dnf install tcpdump

Ubuntu

$apt-get insyall tcpdump

运行权限:sudo特权或者root用户运行tcpdump,

数据来源:网卡或者网络数据包文件

依赖:libpcap

使用样例:

#su
#tcpdump -i any  //从所有网卡中抓获数据包
#tcpdump -i eth0 //从特定网卡抓获数据
#tcpdump -i eth1 -w packet_file //将抓包的包写入文件
#tcpdump -r packet_file       //读取保存的tcpdump文件
#tcpdump -ttttnnvvS      //获取
#tcpdump  net 192.168.0.111\24  //查看特定网络的数据包
#tcpdump host 192.168.0.111  //查看特定ip的数据包
#tcpdump src 192.168.0.111   //查看IP源地址等于192.168.0.111的数据包
#tcpdump dst 192.168.0.111  //查看IP源地址等于192.168.0.111的数据包
//特定协议或者端口的数据包
#tcpdump ssh
#tcpdump port 22
#tcpdump portrange 22-125
//使用与(&&,and )、或(||,or)、非(not,!)
#tcpdump src 192.168.0.11 && port 22 -w tcpdump.dmp#tcpdump port 443 or 80 -w tcpdump.dmp   //抓获443或者80端口的数据#tcpdump -i eth0 src pot not 22   // 捕获eth0网卡的非22端口的所有数据包

三、扫描局域网设备主机信息

  • nmap

    • 显示帮助信息
    • man nmap
      nmap -h

    • 扫描单个主机:nmap 192.168.199.222
    • 扫描单个子网:nmap 192.168.199.222/24

  • 扫描多个主机:nmap 192.168.199.202 192.168.199.222
  • 扫描范围内主机:nmap 192.168.199.100-200
  • 扫描IP地址表:nmap -iL ip.log

  • # ip.log 文件192.168.199.1
    192.168.199.100-240

  • 扫描地址段排除IP:

    nmap 192.168.199.1/24 -exclude 192.168.199.222
    nmap 192.168.199.1/24 -exclude ip.log

  • 扫描主机路由跟踪信息
sudo nmap --traceroute 192.168.199.202sudo nmap -vv --traceroute 192.168.199.202
  • 扫描主机指定端口
# 其中T代表TCP协议、U代表UDP协议、S代表SCTP协议
sudo nmap -p U:100,T:22,80,443,554,1935,S:21 192.168.199.202
  • 快速扫描端口模式,扫描100个最有可能开放的端口
nmap -F -v 192.168.199.202
  • 打印主机接口和路由
nmap --iflist

指定扫描方式sT(TCP扫描)、sU(UDP扫描)、sS( SYN 扫描)、sF(FIN scan )、

sP(Ping扫描) 、sL(Idle 扫描)

扫描端口时状态介绍:Open  端口开启,数据有到达主机,有程序在端口上监控Closed  端口关闭,数据有到达主机,没有程序在端口上监控  Filtered  数据没有到达主机,返回的结果为空,数据被防火墙或者是IDS过滤  UnFiltered  数据有到达主机,但是不能识别端口的当前状态  Open|Filtered  端口没有返回值,主要发生在UDP、IP、FIN、NULL和Xmas扫描中Closed|Filtered   只发生在IP ID idle扫描

四、查询系统信息

#uname -a     //电脑以及操作系统的相关信息电脑以及操作系统的相关信息
#cat /proc/version       //查询正在运行的内核版本
#cat /etc/issue"      //查询发行版本信息
#lsb_release -a       //(适用于所有的linux,包括Redhat、SuSE、Debian等发行版,但是在debian下要安装lsb)

#cat /etc/redhat-release    //查看CentOS系统版本

五、修改主机名称

#hostname mote
#sudo vim /etc/sysconfig/network    //修改其中的hostname   reboot 生效
#sudo vim /etc/hosts                          //修改dns本地配置

六、其他命令

# 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 # 查看所有安装的软件包
# dpkg -l | grep ^rc | cut -d' ' -f3 | sudo xargs dpkg --purge #删除rc状态(已经删除但是存在配置文件)的软件包

参考文档:

Linux Top 命令详解

lubuntu -locate

每天一个Linux命令 - locate

E: 软件包 atom 需要重新安装,但是我无法找到相应的安装文件。_WenJimmy的专栏-CSDN博客

Linux 命令行

Linux 系统管理命令集合相关推荐

  1. 基本BASH SHELL脚本命令——Linux系统管理命令-检测程序、检测磁盘空间

    详细介绍Linux系统管理命令,演示如何通过命令行命令来探查Linux系统的内部信息 一.监测程序 Linux系统管理员面临的最复杂的任务之一就是跟踪运行在系统中的程序--尤其是现在,图形化桌面集成了 ...

  2. linux 系统管理命令整理

    10个超实用的CentOS网络和监控命令 网络和监控命令类似于这些: hostname, ping, ifconfig, iwconfig, netstat, nslookup, traceroute ...

  3. LINUX 常用命令集合

    su su命令是最基本的命令之一,常用于不同用户间切换.例如,如果登录为 user1,要切换为user2,只要用如下命令: $su user2 然后系统提示输入user2口令,输入正确的口令之后就可以 ...

  4. gdbstub中的基本命令_程序员应该知道的 20 个 Linux 系统管理命令

    在充满新工具和多样化开发环境的世界中,任何开发人员或工程师都必须学习一些基本的系统管理命令,以下这 20 个基本的系统管理命令可以帮助开发人员排除故障.优化应用程序.提供重要的系统信息等,是每个程序员 ...

  5. Linux春招面试复习之:Linux必备命令集合

    管道符"|"将两个命令隔开,左边命令的输出作为右边命令的输入.连续使用管道意味着第一个命令的输出会作为 第二个命令的输入,第二个命令的输出又会作为第三个命令的输入,依此类推 1 文 ...

  6. Linux系统管理命令大全

    1.adduser命令 Linux adduser命令用于新增使用者帐号或更新预设的使用者资料. adduser 与 useradd 指令为同一指令(经由符号连结 symbolic link). 使用 ...

  7. 【Linux常用命令】linux常用命令集合配例子解析说明(持续更新)【Linux基础命令使用及总结】2020-12-21

    Linux基本命令集合(持续更新) 前言 一.pwd命令 二.ls命令 三.cd命令 前言 本文将随着个人头发稀疏程度的时间戳而更新,且这个列举的命令,不管简单复制与否,都会逐一做出举例解释说明,但某 ...

  8. Linux基础命令集合

    1 文件{ ls -rtl # 按时间倒叙列出所有目录和文件 ll -rt touch file # 创建空白文件 rm -rf 目录名 # 不提示删除非空目录(-r:递归删除 -f强制) dos2u ...

  9. linux ftp 命令集合

    1 前言 下面就所有命令给出解释和例子. 说明:  1. remote-file 指远程文件,即服务器上的文件 2. local-file  指本地文件,即本地机器上的文件 2 登录登出命令 2.1 ...

最新文章

  1. MySQL 狠甩 Oracle 稳居 Top1,私有云最受重用,大数据人才匮乏! | 中国大数据应用年度报告...
  2. paddle自定义weight初始参数(parameter)
  3. 新疆那些大学在计算机专业好,新疆哪些二本大学的计算机科学与技术专业最好?...
  4. 神经网络的分类准确率是连续的吗?
  5. 让Python中类的属性具有惰性求值的能力
  6. 【Linux】编译C语言文件(-o -lpthread)
  7. 2021年世界科技进展100项
  8. Copy as Markdown - 将页面链接按照 Markdown 格式copy
  9. python scrapy同时执行spiders多个爬虫
  10. HDU 3449 Consumer
  11. 2022安徽合肥经济技术开发区招聘社区工作者冲刺试题及答案
  12. 《认知盈余》核心摘要——“人们实际上很喜欢创造并分享”: 参与是一种行为
  13. Rust语言教程(6) - 错误处理和可选值
  14. vue获取当前时间、时间戳方法
  15. Win10常见问题【Office等】
  16. 北京开始整治互联网加班了!附 955 不加班公司名单(2022版)
  17. 怎么做好宝贝标题优化?
  18. 车规级芯片IC等级及其特点
  19. 【218】java课的一些笔记
  20. SQL计算某个字符的出现次数

热门文章

  1. VS2015 Winform 添加文件后 中文乱码
  2. matlab solve 警告,当发出警告时令测试失败的插件
  3. I帧、P帧、B帧、GOP、IDR 和PTS, DTS之间的关系
  4. 弘辽科技:同为女强人,人生道路却大不相同。
  5. matlab中set的用法,set函数(set函数的使用方法)
  6. vue-cli3的项目 CDN链接报错解决 Uncaught TypeError: Cannot read property 'prototype' of undefined at Object.
  7. 2016暑假集训小结
  8. RGCN - Modeling Relational Data with Graph Convolutional Networks 使用图卷积网络对关系数据进行建模 ESWC 2018
  9. 一个优秀IT专家的成长历程---献给所有的颓废或即将颓废的人们
  10. linux 强制关闭进程