文章目录

  • 9+场景
    • 1. 系统防火墙状态
    • 2. 系统端口
    • 3. 进程相关
    • 4. 文件权限chmod
    • 5. 建立软链接
    • 6. 搜索相关
    • 7. 内存和硬盘
    • 8. 不挂断地运行命令
    • 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=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 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 篇。
可以关注我,点赞我、评论我、收藏我啦。

更多精彩

  • Python 爬虫 100 例教程导航帖(连续 3 年,不断更!)
  • Python爬虫120 (39.9 元,保 5 年更新)

转行运维工程师之后,我先把这几个Linux 命令记在了本子上,实干9场景相关推荐

  1. 10000+运维人推荐的最最实用的30个Linux命令!

    本文中将介绍一些实用又常用的Linux或Unix命令,这些是Linux运维工程师们平常使用的命令.本文不是什么完整列表,而是简要地列出了需要时派得上用场的命令,下面开始逐一介绍如何使用这些命令并附有示 ...

  2. 测试或运维工作过程中最常用的几个linux命令?

    大家在测试工作过程中,可能会遇到需要你去服务器修改一些配置文件,譬如说某个字段的值是1 则关联老版本,是0则关联新版本,这时候你可能就需要会下vi的命令操作:或者查看session设置的时长,可能需要 ...

  3. 总结一下:运维工程师面试的经历及面试相关问题

    2018年1月4号面试     笔者其实没有想到去面试,只是在智联上更新了一下简历,就陆陆续续接到很多猎头的邮件和电话,实在是没准备好要去面试,就推掉了几家公司的面试了.正因为笔者也很久没有面试了,笔 ...

  4. 运维工程师面试的经历及面试相关问题

    转载 2018年1月4号面试 笔者其实没有想到去面试,只是在智联上更新了一下简历,就陆陆续续接到很多猎头的邮件和电话,实在是没准备好要去面试,就推掉了几家公司的面试了.正因为笔者也很久没有面试了,笔者 ...

  5. Linux 运维工程师的十个基本技能点

    Linux 运维工程师的十个基本技能点 本人是linux运维工程师,对这方面有点心得,现在我说说要掌握哪方面的工具吧. 说到工具,在行外可以说是技能,在行内我们一般称为工具,就是运维必须要掌握的工具. ...

  6. grep 两个字符串_Linux运维工程师想要的12个grep指令

    Linux运维工程师想要的12个grep指令 Linux运维的工程师们通常在文件中查找一个特定的字符串或者样式的时候使用grep,那么好用的grep指令有哪些呢?今天给大家来普及一下grep命令的12 ...

  7. 昊鼎王五:高级运维工程师的成长之路,总有一款适合你^_^

    #昊鼎王五:高级运维工程师的成长之路,总有一款适合你_ 本文关键词: 成长为高级运维工程师的打怪升级之路 本篇参考zhenliang同学的文章,一个从事多年运维的牛人,文章写的很好,人非常nice. ...

  8. 中高级运维工程师所需要掌握的技能

    身为一名中高级运维工程师,需要掌握的技术如下: linux系统的基本操作(ls,mkdir,touch,date,find,-exec,diff等等等等) 至少要awk,seq命令的中级使用(包含太复 ...

  9. 总结一下:运维工程师面试

    2018年1月4号面试 笔者其实没有想到去面试,只是在智联上更新了一下简历,就陆陆续续接到很多猎头的邮件和电话,实在是没准备好要去面试,就推掉了几家公司的面试了.正因为笔者也很久没有面试了,笔者也想去 ...

最新文章

  1. python比较两个xml_python比较2个xml内容的方法
  2. 支持鸿蒙的手机型号多少钱,华为鸿蒙系统支持手机型号一览
  3. Scala 学习笔记(2)
  4. 环境监测设备中,使用GPS模拟器测试TTFF和灵敏度的注意点
  5. 基于Docker swarm 集群搭建SSR 学习
  6. 地狱已满 服务器无响应,steam地狱已满怎么联网
  7. win10服务器显示图标,Win10专业版桌面图标消失的三种情况及相应解决方法
  8. Mac 如何消除系统更新小红点
  9. T155235 判断升序排列
  10. iOS 模拟器安装APP,在电脑上运行ios的app
  11. esp32 + tft +分光棱镜 透明小电视笔记
  12. C++:实现量化N阶导数运算测试实例
  13. 35Java抽象类与抽象方法
  14. CouchDB操作手册
  15. 计算机理论导引第三版答案第四章,《计算理论导引》第四章:可判定性-学习笔记 | 诟屍...
  16. 冬天买什么绒的四件套好用
  17. DeepFashion服装检索及代码实现
  18. 使用JSON.parse,解决ie6-7上JSON未定义问题
  19. UltraRAM:在UltraScale+器件上集成嵌入式存储器
  20. UE4添加音乐、音效

热门文章

  1. 支付宝花呗“Plus”上线,全年免息!
  2. 美的空调售后服务电话(全国24小时)美的空调客服热线中心
  3. 【用win 7系统玩游戏网络延时高?】
  4. 原始传奇显示区名的服务器,原始传奇复古192服开服时间表_原始传奇新区开服预告_第一手游网手游开服表...
  5. 即时通讯开发之实时音视频中的基本架构和协议栈
  6. excel显著性检验_excel如何进行显著性差异分析?
  7. vue框架制作水浒人物的地图分布图(仅供参考)
  8. linux程序使用后台启动stopped原因及解决
  9. 树莓派 安装 Lakka 系统
  10. V-Calendar 日历demo组件使用