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

举报
梦想橡皮擦 发表于 2022/03/23 09:41:23 2022/03/23
【摘要】 这是一篇初级运维工程师的实战宝典,没有复杂清单,只有实战中各种场景以及对应的解决方案以下命令都是基于 CentOS操作系统,不同系统命令行略有差异,建议对比学习。查看系统版本,使用如下命令cat /etc/redhat-release得到结果如下所示,CentOS 7.5 发行版CentOS Linux release 7.5.1804 (Core) 补充一下上述 cat 命令cat 命令:...

这是一篇初级运维工程师的实战宝典,没有复杂清单,只有实战中各种场景以及对应的解决方案
以下命令都是基于 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=4w=2x=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 filechmod 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 篇。
可以关注我,点赞我、评论我、收藏我啦。

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。