当前位置 : 主页 > 编程语言 > python >

#51CTO博主之星评选# 2022年,一个初级运维常用的命令清单,实战落地场景+解决

来源:互联网 收集:自由互联 发布时间:2022-06-18
这是一篇初级运维工程师的实战宝典,没有复杂清单,只有实战中各种场景以及对应的解决方案以下命令都是基于 CentOS操作系统,不同系统命令行略有差异,建议对比学习。 查看系统

这是一篇初级运维工程师的实战宝典,没有复杂清单,只有实战中各种场景以及对应的解决方案以下命令都是基于 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

得到的结果注意其中绿色和红色区域

2022年,一个初级运维常用的命令清单,实战落地场景+解决方案,实操9场景

关闭防火墙命令行如下所示

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

2022年,一个初级运维常用的命令清单,实战落地场景+解决方案,实操9场景

这里重点学习的命令是 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 用于在文本中执行关键词搜索,例如上述命令的查询结果为:

2022年,一个初级运维常用的命令清单,实战落地场景+解决方案,实操9场景

同样的,你可以修改为 grep 27 ,得到如下结果

2022年,一个初级运维常用的命令清单,实战落地场景+解决方案,实操9场景

关键参数:

  • -b:将可执行文件(二进制)当作文本文件来搜索 ;
  • -c :仅显示找到的行数 ;
  • -i :忽略大小写 ;
  • -n :显示行号;
  • -v :反向选择,列出没有 关键词 的行 。

例如查看 python 相关端口数据

netstat -ntulp |grep python

2022年,一个初级运维常用的命令清单,实战落地场景+解决方案,实操9场景

查看某个端口的具体情况

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

2022年,一个初级运维常用的命令清单,实战落地场景+解决方案,实操9场景

除 ps 命令外, top 进程也会被使用,该命令将会在当前终端以全屏交互式的界面显示进程排名,及时跟踪CPU、内存等系统资源占用情况,默认情况下每3秒刷新一次,类似于Windows系统中的任务管理器。

中止进程查看进程,杀进程,都属于常见操作,而杀进程用到的就是 kill 命令:

kill -9 8000

-9 表示强迫进程立即停止。

4. 文件权限chmod

chmod 命令用于查看和修改文件权限。

在 CentOS 中存在如下权限内容,文件有三种身份:

  • owner:文件所有者
  • group:同用户组
  • others:其他非本用户组修改权限时,每个文件(文件夹也是文件)的三个身份又分别有三个权限
  • read:读
  • wirte:写
  • execute:执行

使用 ls -al 可以查看当前目录所有文件的权限,例如下图所示

2022年,一个初级运维常用的命令清单,实战落地场景+解决方案,实操9场景

文件的权限字符为 -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 用于搜索命令所在路径及别名

2022年,一个初级运维常用的命令清单,实战落地场景+解决方案,实操9场景

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 退出。

2022年,一个初级运维常用的命令清单,实战落地场景+解决方案,实操9场景

查看内存使用情况

free -m

其中输出的各个列含义为

  • used(已用内存);
  • free(空闲内存);
  • buff/cache(缓冲区缓存/页面缓存);

硬盘占用率

df -h

2022年,一个初级运维常用的命令清单,实战落地场景+解决方案,实操9场景

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,写作的 <font color=red>589</font> / 1024 篇。 可以<font color=#04a9f4>关注</font>我,<font color=#04a9f4>点赞</font>我、<font color=#04a9f4>评论</font>我、<font color=#04a9f4>收藏</font>我啦。

上一篇:利用UNet进行回归任务
下一篇:没有了
网友评论