【月更第10篇】2022年,一个初级运维常用的命令清单,实战落地场景+解决方案,实操9场景
这是一篇初级运维工程师的实战宝典,没有复杂清单,只有实战中各种场景以及对应的解决方案
以下命令都是基于 CentOS操作系统,不同系统命令行略有差异,建议对比学习。
查看系统版本,使用如下命令
cat /etc/redhat-release
得到结果如下所示,CentOS 7.5 发行版
CentOS Linux release 7.5.1804 (Core)
补充一下上述 cat 命令
cat
命令:一般用于查看文件内容,格式如下所示
cat [-AbeEnstTuv] [--help] [--version] fileName
这里面很多都不要刻意记忆,一般用作 cat 文件名即可
9+场景
1. 系统防火墙状态
部署Web站点的时候,经常需要对系统防火墙状态进行查阅,并且查看服务器开放的端口号,相关命令如下所示
查看系统防火墙
命令行如下所示
systemctl status firewalld
得到的结果注意其中绿色和红色区域
关闭防火墙
命令行如下所示
systemctl stop firewalld
关闭之后可以再次使用上述查看状态命令,得到此时防火墙的状态如下
inactive (dead)
重新启动防火墙
命令行如下所示
systemctl start firewalld
这里你可以扩展学习的知识点是 systemctl
命令,具体学习方向如下所示
管理系统启动和管理系统服务的相关命令都由 systemctl
实施。
systemctl start [unit type]
:启动;systemctl stop [unit type]
:停止;systemctl restart [unit type]
:重启;systemctl status[unit type]
:查看状态;systemctl reload [unit type]
:重新加载;
2. 系统端口
作为一个后端运维,会碰到大量场景需要查看系统中开放的服务与端口,命令行如下所示
netstat -ntlp
这里重点学习的命令是 netstat
,如果没有该命令,请使用 yum install -y net-tools
进行安装。
netstat
命令常用参数说明如下:
-a
:所有;-t
:显示 TCP 端口;-u
:显示 UDP 端口;-p
:显示进程标识符和程序名称;-l
:仅显示监听套接字程序;-n
:不进行DNS轮询,显示IP。
此时在看 netstat -ntlp
是不是就容易理解了,你可以自行组合出多种命令进行使用。
这里再配合一下筛选命令,可以提高使用效率。
netstat -ntulp |grep 80
grep 命令如下
grep 用于在文本中执行关键词搜索,例如上述命令的查询结果为:
同样的,你可以修改为 grep 27
,得到如下结果
关键参数:
-b
:将可执行文件(二进制)当作文本文件来搜索 ;-c
:仅显示找到的行数 ;-i
:忽略大小写 ;-n
:显示行号;-v
:反向选择,列出没有 关键词 的行 。
例如查看 python 相关端口数据
netstat -ntulp |grep python
查看某个端口的具体情况
lsof -i tcp:80
这里面涉及一个命令叫做 lsof
(list open files),它是用来列出当前系统打开文件的工具
其中参数涉及如下内容:
-a
:列出打开文件存在的进程;-i<条件>
:列出符合条件的进程,可以是协议、: 端口、@IP;
此时可以针对下述命令,进行再次学习。
监听 22 端口
lsof -i :22
监听 1~1024端口
ls -i:1-1024
3. 进程相关
在 centos 中,需要查看系统中运行的进程状态,相关命令如下所示
查看进程的详细信息
ps命令是Linux系统中最为常见用的进程查看工具,主要用于显示包含当前运行的各进程完整信息的静态快照,例如下述命令
ps 8000
查看所有进程,使用如下命令
ps aux
其中的命令参数如下所示:
a
:显示当前终端下的所有进程信息,包括其他用户的进程;u
:以用户为主的进程状态x
:通常与 参数 a 一起使用,显示当前用户在所有终端下的进程信息
与 ps aux
类似的还有一个命令是 ps -ef
,该命令展示形式与前一命令不同,System V展示风格
ps -ef
除 ps
命令外, top
进程也会被使用,该命令将会在当前终端以全屏交互式的界面显示进程排名,及时跟踪CPU、内存等系统资源占用情况,默认情况下每3秒刷新一次,类似于Windows系统中的任务管理器。
中止进程
查看进程,杀进程,都属于常见操作,而杀进程用到的就是 kill
命令:
kill -9 8000
-9
表示强迫进程立即停止。
4. 文件权限chmod
chmod 命令用于查看和修改文件权限。
在 CentOS 中存在如下权限内容,文件有三种身份:
- owner:文件所有者
- group:同用户组
- others:其他非本用户组
修改权限时,每个文件(文件夹也是文件)的三个身份又分别有三个权限 - read:读
- wirte:写
- execute:执行
使用 ls -al
可以查看当前目录所有文件的权限,例如下图所示
文件的权限字符为 -rwxrwxrwx
,每3个是一组,对应的身份是 owner\group\others
。
权限可以用数字表示,其中 r=4
, w=2
, x=1
, -=0
,然后在看设置权限时候的 777,是不是就容易理解了
- 设置
rwx (可读写运行)
权限设置的数字是4 + 2 + 1 = 7
; - 设置
rw- (可读写不可运行)
权限设置的数字是4 + 2 = 6
; - 设置
r-x (可读可运行不可写)
权限设置的数字是4 +1 = 5
。
此时命令格式如下所示
chmod xyz file文件名
其中 xyz
对应的就是三个权限,分别代表User、Group、及Other的权限。
还有一种写法,如下所示:
chmod 777 file (相同的命令 chmod u=rwx,g=rwx,o=rwx file 或 chmod a=rwx file)
chomd
需要多加练习使用(但是不怎么常用)
CentOS系统中查看命令的帮助手册,可以在后面增加 --help
,例如
chmod --help
ps --help
5. 建立软链接
CentOS中可以配置软链接(类似Windows操作系统中的快捷方式)。
创建软链接
ln -s [源文件或目录] [目标文件或目录]
删除软链接
rm -rf /home/python
最后不要增加 /
否则就是删除文件(提桶跑路)
6. 搜索相关
which 命令
which
用于搜索命令所在路径及别名
whereis 命令
语法格式如下所示
whereis [option] name
找出特定程序的可执行文件、源代码文件的路径
find 命令
语法格式如下所示
find [搜索范围] [搜索条件]
locate 命令
locate
命令是 find -name
的另一种写法,但比后者检索快,原因在于它不搜索具体目录,而是搜索一个数据库 /var/lib/locatedb
,这个数据库中含有本地所有文件信息。
使用前需要先安装 locate,安装命令如下:
yum -y install mlocate
首次执行会出现如下错误,需要在配置一下
[root@xxxx ~]# locate install.sh
locate: can not stat () `/var/lib/mlocate/mlocate.db': No such file or directory
执行一下 updatedb
命令,再次定位即可。
7. 内存和硬盘
在运维时间中,经常需要查看内存与硬盘占用情况,使用如下命令
top 命令
上文已经提及,可以使用 q
退出。
查看内存使用情况
free -m
其中输出的各个列含义为
- used(已用内存);
- free(空闲内存);
- buff/cache(缓冲区缓存/页面缓存);
硬盘占用率
df -h
8. 不挂断地运行命令
使用 nohup
(no hang up)可以将程序不挂断的运行,注意并没有后台运行的功能,命令语法如下所示
nohup command [arg...] [&]
最后的 &
是指在后台运行,但当用户退出(挂起)时,命令自动退出。
案例如下:
nohup command > file.log 2>&1 &
- 0 – stdin (standard input) 标准输入
- 1 – stdout (standard output) 标准输出
- 2 – stderr (standard error) 标准错误输出
2>&1
是将标准错误(2)重定向到标准输出(&1),标准输出(&1)再被重定向输入到 file.log
中。
9. 其它小命令
pwd 命令
查询用户所在位置路径
cd 命令
切换目录
mkdir 命令
创建目录文件
tree 命令
以树形结构展示目录结构
cp 命令
复制命令
mv 命令
移动命令
touch 命令
创建文件或更新文件时间戳
stat 命令
查看文件属性
tar 命令
压缩打包
开关机命令
reboot # 重启机器
poweroff # 关闭系统
记录时间
2022年度 Flag,写作的 589 / 1024 篇。
可以关注我,点赞我、评论我、收藏我啦。
- 点赞
- 收藏
- 关注作者
评论(0)