常用系统工作命令
首先需要掌握man命令,有了它你就可以在不熟悉某个命令时,直接通过man查看手册了。
命令参数的长格式与短格式示例:对每个命令都适用。
长格式 man --help
短格式 man -h
查看帮助命令man
man - 展示某个命令的帮助手册
浏览man展示出的手册时的常用按键
windos按键 | 用途 | 对应mac按键 |
空格键 | 向下翻一页 | 同 |
PaGe down | 向下翻一页 | fn+下鍵 |
PaGe up | 向上翻一页 | fn+上鍵 |
home | 直接前往开头 | fn+左鍵 |
end | 直接前往结尾 | fn+右鍵 |
/ | 从上至下搜索某个关键词,如“/linux” | 同 |
? | 从下至上搜索某个关键词,如“?linux” | 同 |
n | 定位到下一个搜索到的关键词 | 同 |
N | 定位到上一个搜索到的关键词 | 同 |
q | 退出帮助文档 | 同 |
常用系统工作命令
echo
echo [字符串 | $变量]
用于在终端输出字符串或变量提取后的值
$ echo hello word;
hello word
$ echo $SHELL
/bin/bash
date
date 命令用于显示及设置系统的时间或日期
%t 跳格[Tab 键]
%H 小时(00~23)
%I 小时(00~12)
%M 分钟(00~59)
%S 秒(00~59)
%j 今年中的第几天
eg:
$ date
Sat Sep 1 06:11:04 CST 2018
$ date "+%Y-%m-%d %H:%M:%S"
2018-09-01 06:11:11
$ date "+%j"
244
reboot
reboot 命令用于重启系统,其格式为 reboot。
poweroff
poweroff 命令用于关闭系统
wget
wget命令用于在终端中下载网络文件,格式为“wget [参数] 下载地址”。
参数:
-b 后台下载模式
-P 下载到指定目录
-t 最大尝试次数
-c 断点续传
-p 下载页面内所有资源,包括图片、视频等
-r 递归下载
ps
ps命令用于查看系统中的进程状态,格式为“ps [参数]”。
-a 显示所有进程(包括其他用户的进程)
-u 用户以及其他详细信息
-x 显示没有控制终端的进程
Linux 系统中,有 5 种常见的进程状态,分别为运行、中断、不可中断、僵死与停止。
- R(运行):进程正在运行或在运行队列中等待
- S(休眠): 进程处于休眠中,当某个条件形成后或者接收到信号时,则脱离该 状态。
- D(不可中断):进程不响应系统异步信号,即便用 kill 命令也不能将其中断。
- Z(僵死):进程已经终止,但进程描述符依然存在, 直到父进程调用 wait4()系统函数 后将进程释放。
- T(停止):进程收到停止信号后停止运行。
top
top 命令用于动态地监视进程活动与系统负载等信息,其格式为 top。 top 命令相当强大,能够动态地查看系统运维状态,完全将它看作 Linux 中的“强化版的 Windows 任务管理器”。
top 命令执行结果的前 5 行为系统整体的统计信息,其所代表的含义如下。
- 系统时间、运行时间、登录终端数、系统负载(三个数值分别为 1 分钟、5 分钟、15 分钟内的平均值,数值越小意味着负载越低)。
- 进程总数、运行中的进程数、睡眠中的进程数、停止的进程数、僵死的进程 数。
- 用户占用资源百分比、系统内核占用资源百分比、改变过优先级的进程资源 百分比、空闲的资源百分比等。
- 物理内存总量、内存使用量、内存空闲量、作为内核缓存的内存量。
- 虚拟内存总量、虚拟内存使用量、虚拟内存空闲量、已被提前加载的内存量。
pidof
pidof 命令用于查询某个指定服务进程的 PID 值,格式为“pidof [参数] [服务名称]”。
$ pidof mysqld
8567
kill
kill 命令用于终止某个指定 PID 的服务进程,格式为“kill [参数] [进程 PID]”。 接下来,我们使用 kill 命令把上面用 pidof 命令查询到的 PID 所代表的进程终止掉
$ kill 8567
系统状态检测命令
作为一名合格的运维人员,想要更快、更好地了解 Linux 服务器,必须具备快速查看 Linux 系统运行状态的能力,因此接下来会逐个讲解与网卡网络、系统内核、系统负载、内存使用情 况、当前启用终端数量、历史登录记录、命令执行记录以及救援诊断等相关命令的使用方法。 这些命令都超级实用,还请读者用心学习,加以掌握。
ifconfig
ifconfig 命令用于获取网卡配置与网络状态等信息,格式为“ifconfig [网络设备] [参数]”。
使用 ifconfig 命令来查看本机当前的网卡配置与网络状态等信息时,其实主要查看的就是网卡名称、inet 参数后面的 IP 地址、ether 参数后面的网卡物理地址(又称为 MAC 地址), 以及 RX、TX 的接收数据包与发送数据包的个数及累计流量(即下面加粗的信息内容):
$ ifconfig
eth0 Link encap:Ethernet HWaddr 00:16:3e:10:35:aa
inet addr:172.17.0.8 Bcast:172.17.0.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:8781979 errors:0 dropped:0 overruns:0 frame:0
TX packets:6989524 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:3758393076 (3.7 GB) TX bytes:9895292979 (9.8 GB)
uname
uname 命令用于查看系统内核与系统版本等信息,格式为“uname [-a]”。 在使用 uname 命令时,一般会固定搭配上-a 参数来完整地查看当前系统的内核名称、主机名、内核发行版本、节点名、系统时间、硬件名称、硬件平台、处理器类型以及操作系统名称等信息。
$ uname -a
Linux iZ2zebdod77u1e8pguykpqZ 4.4.0-63-generic #84-Ubuntu SMP Wed Feb 1 17:20:32 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
uptime
uptime 用于查看系统的负载信息,格式为 uptime。 uptime 命令真的很棒,它可以显示当前系统时间、系统已运行时间、启用终端数量以 及平均负载值等信息。平均负载值指的是系统在最近 1 分钟、5 分钟、15 分钟内的压力情况(下面加粗的信息部分);负载值越低越好,尽量不要长期超过 1,在生产环境中不要超 过 5。
$ uptime
22:49:55 up 10 min, 2 users, load average: 0.01, 0.19, 0.18