标签:运行时间 睡眠状态 star 技术 set 统计信息 poi 资源 system

结合日常工作中常用的命令,举例和附图加以说明。照例,开篇推荐linux入门的学习资源(授人以鱼同时授人以渔):
(1)大小写敏感,如 "top"可以识别,"Top" 则comand not found
(2)-h (部分命令支持,如冲突则不支持)和 --help(大多数命令支持),查看命令帮助信息,如 rmdir --help,提示“ rmdir [OPTION]... DIRECTORY..”
(3)命令有缩写和全拼两种格式,如 rmdir 的"-p" <=> "--parents"
(4)CTRL + C ,exit 当前正在执行的命令;CTRL + Z , stop 当前正在执行的命令
(5)命令格式说明,“【】”括起来表示选项可选,接下来紧跟的详细参数,如ls命令说明:“ls [OPTION]... [FILE]...”
(6)可通过“|”进行命令拼接,如“ps -ef | grep java | grep -v grep”
(7)linux 命令或者参数在输入1个或2个字符后,按Tab键,会列出可选命令和参数,如果输入3个或者4个字符,可查找出唯一的命令和参数,将自动补全
(8)键盘“PgUp”和“PgDn"及 键盘“↑”和“↓” 可以切换到上一个或者下一个已输入的命令, 按键“←” 和“→” ,可以在命令里左右移动光标
(8)linux里所有东西都被当做文件,不像windows有硬件设备的概念,如磁盘、CPU等,所以你装的所有软件,如mysql等都是文件
| 命令 | 功能 | 命令 | 功能 | 命令 | 功能 |
| ls | 查看当前目录下有哪些文件和文件夹 | whereis | 查找可执行的软件命令在哪里 | clear/reset/ CTRL + l | 清屏——切换到下一个新的屏幕 |
| pwd | 显示当前目录的完整路径 | cd | 改变所在目录 | vi | 文本编辑器 |
| cat | 输出文件的内容到屏幕 | mkdir | 创建目录 | vim | 程序编辑器 |
| sh | 执行shell脚本 | rmdir | 删除目录 | kill | 杀死进程 |
| yum | 软件包管理器 | mv | 移动文件 | ifconfig | 显示或者设置网络设备 |
| sudo | 以系统管理员的身份执行指令,类似于windows CMD,右键选择"以管理员身份运行“” | rm | 删除文件 | cal | 日历 |
| df | 查看磁盘使用情况 | cp | 复制文件 | date | 日期 |
| stat | 显示文件或者文件系统的状态 | touch | 更新文件的访问时间和修改时间,如果不存在,则创建之 | bc | 计算器 |
查看当前目录下有哪些文件及文件夹,具体命令行参数说明见下表:
| 常用选项 | 含义 |
| -l | 一行显示一个文件或者文件夹,并显示诸如文件大小、文件最后修改时间、owner等信息 |
| -a | 列出所有文件及文件夹,包括隐藏文件 |
| -R | 把子文件夹下的文件也全部列出来,可以“ls -R -l”组合用 |
| -S | 按文件大小倒叙列出所有文件 |
| -h | 以人类可读的形式列出文件大小(K,M,G) |
如在 linux的根目录下,输入“ls”,结果如下图:

如果是在包含有文件的目录下,输入“ls”,比如在root下,则会包含文件如 “install.log” 及文件夹 “Music” 等等,结果如下图:

组合命令,“ls -S -h -l”,结果如下图:

显示当前的完整路径名,如下图:

切换当前目录,具体语法: cd [dirName],具体命令行参数说明见下表:
| 选项 | 含义 |
| .. | 切换到父级目录 |
| / | 切换到根目录 |
| ~ | 切换到home根目录 |
查找命令—具体语法: whereis [ -sbmu ] [ -SBM dir ... -f ] name...,例如"whereis mysql",结果如下图:

输出文件内容到终端,例如“cat install.log”,结果如下图:

显示或者设置网络设备,输入“ifconfig”, 结果如下图(可以看到自己的ipv4 、ipv6 地址等信息):

更新文件的访问时间和修改时间,如果文件不存在,则创建之。如我在root根目录,“touch test2019.txt”,文件不存在则创建之,效果如下图:

创建目录,
显示文件或者文件系统的状态,具体语法: stat [OPTION]... FILE...,例如“stat a.txt”, 结果如下图:

内置计算器,"bc -q" 不会输出关于bc软件的一些信息,直接用(回车输出结果),如下图:

日历
日期—具体语法: date [OPTION]... [+FORMAT],例如“date ‘+%Y % m%d %H %m’”,输出当期日期的年月日、时、分,结果如下图:

| 命令 | 功能 | 命令 | 功能 |
| iostat | 统计CPU及网络、设备和分区IO的数据 | vmstat | 展示给定时间服务器的状态值(包括CPU使用率、内存使用状况、虚拟内存交换情况、IO读写情况),很常用 |
| free | 显示内存状况,包括空闲以及被使用的物理内存、交换内存以及被kernel使用的缓冲区 | sar | System Activity report 系统活动报告,是目前Linux最为全面的系统性能分析工具之一 |
| ps | 显示当前正在运行的所有进程的快照 | strace | 跟踪进程执行时系统调和所接收的信号 |
| top | 实时显示系统中各个进程的资源(cpu和load)占用状况,类似于windows任务管理器 | tcpdump | dump the traffic on a network, 根据用户定义对网络上的包进行截获的包分析工具,功能和查看pcap包的wireshark工具差不懂 |
统计CPU及网络、设备和分区IO的数据,具体命令行参数见下表:
| 选项 | 含义 |
| -d | 显示设备(磁盘)使用状态 |
| -k | 某些使用block为单位的列强制使用kilobytes/每秒 |
| -x | 显示更多统计信息 |
| -c | 显示CPU利用率 |
输入"iostat -x”,结果如下图:

| 参数 | 含义 |
| %user | |
| %nice | |
| %system | |
| %iowait | 特别重要 |
| %steal | |
| %idle |
| 参数 | 含义 |
| rrqm/s | |
| wrqm/s | |
| r/s | |
| w/s | |
| rsec/s | |
| wsec/s | |
| avgrq-sz | |
| avgqu-sz | |
| await | |
| svctm | |
| %util |
实时显示系统中各个进程的资源占用状况,类似于windows任务管理器,默认3秒钟刷新一次,太快了,看不过来,-d 可以指定,多少时间更新一次
具体命令行参数说明见下表:
| 选项 | 含义 |
| -a | 按照内存使用率排序 |
| -d | 设置多长时间(以秒为单位)刷新一次结果 |
| -p <pid> | 查看指定进程ID的信息 |
| -u <username> | 查看指定用户名的信息 |
| -i | 不显示任何闲置 (idle) 或僵尸 (zombie) 的进程 |
| -n iterations | 指定更新多少次信息后终止 |
| -c | 显示完整命令,如mysql会显示 “/usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --user=mysql” |
| -s | 安全模式 |
| -S | 累积时间模式,开启此模式,会列出该进程及它已经死掉的子进程所使用的CPU时间 |
例如,“top -d 30” —— 30秒刷新一次(默认按cpu占用率排序),结果如下图:

输出结果前5行(统计的整体信息)的每一段的含义如下表所示:
| 行 | 段1含义 | 段2含义 | 段3含义 | 段4含义 | 段5含义 | 段6含义 | 段7含义 | 段8含义 |
| 1 - top | 13:43:10 - 当前时间 | up 4:21 - 系统运行时间,格式为"时:分" | 1 user - 当前登录用户数 |
load average: 0.01, 0.04, 0.01 - 系统负载,即任务队列的平均值 三个数值依次为"1分钟5分钟 15分钟”到目前的平均值 |
||||
| 2 - Tasks | 1012 total - 进程总数 | 1 running - 正在运行的进程数 | 1095 sleeping - 睡眠的进程数 | 6 stopped - 停止的进程数 | 0 zombie - 僵尸进程数 | |||
| 3 - Cpu(s) | 0.8%us - 用户空间占用CPU百分比 | 0.1%sy - 内核空间占用CPU百分比 | 0.0%ni - 用户进程空间改变过优先级的占CPU百分比 | 99.2%id - 空闲CPU百分比 | 0.0%wa - 等待输入输出的CPU百分比 | 0.0%hi - | 0.0%si - | 0.0%st - |
| 4 - Mem | 132173688k total - 物理内存总量 | 38002800k used - 已使用的物理内存总量 | 94170888k free - 空闲内存总量 | 208420k buffers - 用于内核缓存的内存总量 | ||||
| 5 -Swap | 4194600k total - 交换区总量 | 0k used - 已使用的交换区总量 | 4194300k free - 空闲交换区总量 | 2624596k cached - 缓冲的交换区总量 |
在top命令模式下,按“f”键,会显示每个column的详细信息,如下图:

每一列的含义翻译成中文如下表所示:
| 列名 | 含义 |
| PID | 进程ID |
| USER | 用户名 |
| PR | 进程优先级 |
| NI | nice value,不知道怎么翻译好 |
| VIRT | 进程使用的虚拟内存总量(kb) |
| RES | 进程使用的、未被换出的物理内存大小 |
| SHR | 共享内存大小(kb) |
| S | 进程状态。D=不可中断的睡眠状态,R=运行,S=睡眠,T=跟踪/停止,Z=僵尸进程 |
| %CPU | 上次更新到现在的CPU时间占用百分比 |
| %MEM | 进程当前使用的可被共享的内存容量 |
| TIME+ | task自启动以来,累计占用cpu时间,精确到百分之一秒 |
| COMMAND | 命令行或者程序名 |
未完待续,空了接着完善
*****************************************************************************************************
精力有限,想法太多,专注做好一件事就行
*****************************************************************************************************
标签:运行时间 睡眠状态 star 技术 set 统计信息 poi 资源 system
原文地址:https://www.cnblogs.com/NaughtyCat/p/most-useful-linux-command-in-work.html