我的运维笔记
第一部分:新手必须掌握的Linux命令
1、强大好用的Shell
Shell(也称为终端或壳)充当的是人与内核(硬件) 之间的翻译官,用户把一些命令“告诉”终端,它就会调用相应的程序服务去完成某些工作。 现在包括红帽系统在内的许多主流 Linux 系统默认使用的终端是 Bash(Bourne-Again SHell) 解释器。主流 Linux 系统选择 Bash 解释器作为命令行终端主要有以下 4 项优势,读者可以在 今后的学习和生产工作中细细体会 Linux 系统命令行的美妙之处,真正从心里爱上它们。
● 通过上下方向键来调取过往执行过的 Linux 命令;
● 命令或参数仅需输入前几位就可以用 Tab 键补全;
● 具有强大的批处理脚本;
● 具有实用的环境变量功能;
▲ 命令参数的长格式与短格式
长格式:man --help
短格式:man -h
▲ man命令
man 命令中常用按键以及用途
空格键 向下翻一页
PaGe down 向下翻一页
PaGe up 向上翻一页
home 直接前往首页
end 直接前往尾页
/ 从上至下搜索某个关键词,如“/linux”
? 从下至上搜索某个关键词,如“?linux”
n 定位到下一个搜索到的关键词 N 定位到上一个搜索到的关键词
q 退出帮助文档
man 命令帮助信息的结构以及意义
NAME 命令的名称
SYNOPSIS 参数的大致使用方法
DESCRIPTION 介绍说明
EXAMPLES 演示(附带简单说明)
OVERVIEW 概述
DEFAULTS 默认的功能
OPTIONS 具体的可用选项(带介绍)
ENVIRONMENT 环境变量
FILES 用到的文件
SEE ALSO 相关的资料
HISTORY 维护历史与联系方
▲ echo命令
在终端输出字符串或变量提取后的值
echo [字符串 | $变量]
实例:将指定字符串输出到终端屏幕命令为:
echo Linuxprobe.com
结果为:Linuxprobe.com
实例:使用$符号提取shell变量的值:
echo $SHELL
结果为:/bin/bash
▲ date命令
参数及作用
%t 跳格[Tab 键]
%H 小时(00~23)
%I 小时(00~12)
%M 分钟(00~59)
%S 秒(00~59)
%j 今年中的第几天
▲ reboot命令
用于重启系统
实例:[root@linuxprobe]# reboot
说明:由于重启系统会涉及到硬件资源管理权限,因此只能使用root管理员来重启。
▲ poweroff命令
用于关闭系统
实例:[root@linuxprobe]# reboot
说明:和reboot一样,需要硬件资源管理权限,因此只能使用root管理员来关闭计算机。
▲ wget 命令
用于在终端中下载网络文件
格式:wget [参数] 下载地址
参数及作用:
-b 后台下载模式
-P 下载到指定目录
-t 最大尝试次数
-c 断点续传
-p 下载页面内所有资源,包括图片、视频等
-r 递归下载
▲ ps命令
用于查看系统中的进程状态
格式:ps [参数]
ps 命令的参数以及作用
-a 显示所有进程(包括其他用户的进程)
-u 用户以及其他详细信息
-x 显示没有控制终端的进程
5 种常见的进程状态:
R(运行):进程正在运行或在运行队列中等待。
S(中断):进程处于休眠中,当某个条件形成后或者接收到信号时,则脱离该 状态。
D(不可中断):进程不响应系统异步信号,即便用 kill 命令也不能将其中断。
Z(僵死):进程已经终止,但进程描述符依然存在, 直到父进程调用 wait4()系统函数 后将进程释放。
T(停止):进程收到停止信号后停止运行。
实验:使用 ps -aux 命令查看进程状态
说明:如前面所提到的,在 Linux 系统中的命令参数有长短格式之分,长格式和长格式之 间不能合并,长格式和短格式之间也不能合并,但短格式和短格式之间是可以合并的, 合并后仅保留一个-(减号)即可。另外 ps 命令可允许参数不加减号(-),因此可直接 写成 ps aux 的样子。
▲ top命令
用于动态地监视进程活动与系统负载等信息
格式:top
top 命令执行结果的前 5 行为系统整体的统计信息,其所代表的含义如下。
第 1 行:系统时间、运行时间、登录终端数、系统负载(三个数值分别为 1 分钟、5 分钟、15 分钟内的平均值,数值越小意味着负载越低)。
第 2 行:进程总数、运行中的进程数、睡眠中的进程数、停止的进程数、僵死的进程 数。
第 3 行:用户占用资源百分比、系统内核占用资源百分比、改变过优先级的进程资源 百分比、空闲的资源百分比等。
注: 第 3 行中的数据均为 CPU 数据并以百分比格式显示,例如“97.1 id”意味着有 97.1% 的 CPU 处理器资源处于空闲。
第 4 行:物理内存总量、内存使用量、内存空闲量、作为内核缓存的内存量。
第 5 行:虚拟内存总量、虚拟内存使用量、虚拟内存空闲量、已被提前加载的内存量。
▲ pidof 命令
命令用于查询某个指定服务进程的 PID 值
格式:pidof [参数] [服务名称]
每个进程的进程号码值(PID)是唯一的,因此可以通过 PID 来区分不同的进程。
实验:查看本机sshd服务程序的PID
[root@linuxprobe ~] pidof sshd
▲ kill命令
用于终止某个指定 PID 的服务进程
格式:kill [参数] [进程PID]
实验:使用kill命令,将使用pidof查询到的PID进程终止
[root@linuxprobe ~] kill 1557
说明:这种操作的效果等同于强制停止 sshd 服务。
▲ killall命令
用于终止某个指定名称的服务所对应的全部进程
格式:killall [参数] [进程名称]
说明:
如果我们在系统终端中执行一个命令后想立即停止它,可以同时按下 Ctrl + C 组合 键(生产环境中比较常用的一个快捷键),这样将立即终止该命令的进程。或者,如果 有些命令在执行时不断地在屏幕上输出信息,影响到后续命令的输入,则可以在执 行命令时在末尾添加上一个&符号,这样命令将进入系统后台来执行。
▲ ifconfig命令
用于获取网卡配置与网络状态等信息
格式:ifconfig [网络设备] [参数]
实验:查看本机的网络配置信息
[root@linuxprobe ~] ifconfig
eno16777728: flags=4163<up,broadcast,running,multicast> mtu 1500
inet 192.168.10.10 netmask 255.255.255.0 broadcast 192.168.10.255
inet6 fe80::20c:29ff:fec4:a409 prefixlen 64 scopeid 0x20
ether 00:0c:29:c4:a4:09 txqueuelen 1000 (Ethernet)
RX packets 36 bytes 3176 (3.1 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 38 bytes 4757 (4.6 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<up,loopback,running> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10 loop txqueuelen 0 (Local Loopback)
RX packets 386 bytes 32780 (32.0 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 386 bytes 32780 (32.0 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
▲ uname命令
用于查看系统内核与系统版本等信息
格式:uname [-a]
说明:在使用 uname 命令时,一般会固定搭配上-a 参数来完整地查看当前系统的内核名称、主 机名、内核发行版本、节点名、系统时间、硬件名称、硬件平台、处理器类型以及操作系统 名称等信息。
实验:查看系统内核及版本信息
[root@linuxprobe ~] uname -a
Linux linuxprobe.com 3.10.0-123.el7.x86_64 #1 SMP Mon May 5 11:16:57 EDT 2014 x86_64 x86_64 x86_64 GNU/Linux
如果要查看当前系统版本的详细信息,则需要查看 redhat-release 文件,其命 令以及相应的结果如下:
[root@linuxprobe ~]# cat /etc/redhat-release Red Hat Enterprise Linux Server release 7.0 (Maipo)
▲ uptime命令
用于查看系统的负载信息
格式:uptime
说明:显示当前系统时间、系统已运行时间、启用终端数量以 及平均负载值等信息。平均负载值指的是系统在最近 1 分钟、5 分钟、15 分钟内的压力情 况(下面加粗的信息部分);负载值越低越好,尽量不要长期超过 1,在生产环境中不要 超过 5。
实验:查看系统负载情况
[root@linuxprobe ~] uptime
09:23:21 up 1:38, 2 users, load average: 0.01, 0.02, 0.05
▲ free命令
用于显示当前系统中内存的使用量信息
格式:free [-h]
执行 free -h 命令后的输出信息
内存总量 已用量 可用量 进程共享的 内存量 磁盘缓存的 内存量 缓存的 内存量
total used free shared buffers cached
Mem 1.8GB 1.3GB 542MB 9.8MB 1.6MB 413MB
-/+ buffers/cache 869MB 957MB
Swap 2.0GB 0 2.0GB
▲ who命令
用于查看当前登入主机的用户终端信息
格式:who
实验:查看本机登入用户名及终端信息
[root@linuxprobe ~] who
▲ last 命令
用于查看所有系统的登录记录
格式:last
实验:查看本机登录记录
[root@linuxprobe ~] last
说明:由于这些信息都是以日志文件的形式保 存在系统中,因此黑客可以很容易地对内容进行篡改。千万不要单纯以该命令的输出信息而 判断系统有无被恶意入侵!
▲ history命令
用于显示历史执行过的所有命令
格式:histroy
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】