为了账号安全,请及时绑定邮箱和手机立即绑定

DevOps 工程师日常活动中使用的基本 Linux 命令

标签:
Linux

本文将帮助理解大多数重要的、经常被 DevOps 工程师使用的 Linux 命令。

系统信息命令 :-

**hostname** - 显示系统主机名。

**hostid** - 显示操作系统分配的系统主机ID

**date** - 显示当前的日期和时间(UTC格式)。

**whoami** - 显示当前终端登录的用户名。

**uptime** - 显示机器自上次登录以来经过的时间。

**uname** - Unix 系统名称。

**clear** - 清屏。

**历史记录**- 列出至今为止执行过的所有命令。

**sudo** - 代 root 用户执行命令。

**echo $?** - 显示上一个执行命令的退出状态(0 - 成功,1–127 - 错误/失败)。

目录命令 :-

**pwd**- 要检查你当前在系统中的位置,我们可以使用 pwd 命令。

**cd** 使用 cd 命令可以将工作目录从一个位置更改到另一个位置。

**cd ..** 在 Linux 中,我们用 .. 来表示父目录,所以如果我们想进入父目录,可以直接使用这个命令。

**mkdir** - 创建目录。

文件命令 :-

**touch**命令默认创建一个空文件。

**ls -l** 查看创建的文件。

**vim**: 这是一个用于 Linux 的文本编辑器,代表“改进的 Vi”。

  • 普通模式:这是 vim 启动时的默认模式。在普通模式下,你可以使用各种命令来导航和编辑文本。
  • 插入模式:在插入模式下,你可以向文件中输入文本。要进入插入模式,请按“i”键。要退出插入模式并返回普通模式,请按“Esc”键。
  • 命令模式:在命令模式下,你可以输入命令来执行各种操作,例如保存文件或退出 vim。要进入命令模式,请按“:”键。

**cat** - 连接并显示文件的内容。

**rm****** - 删除命令。

  • **rm -f <fileName>** - 删除文件。

  • **rm -rf <dirName>** - 强制递归删除目录及其下的文件和文件夹(-f 表示强制)。

**cp** - 复制命令。

**cp <源文件> <目标文件>** - 从源文件复制到目标文件。

**mv** - 移动或重命名命令。

**mv <fileName> <新文件名>** - 将文件重命名为新名称。

网络命令 :-

**ping <主机名>** - 测试远程主机的可达性和响应性。

**ifconfig** - 显示可用的网络接口。

**netstat -lntp**- 显示所有打开的TCP端口(-a表示所有,-t表示TCP,-n表示显示数字形式的地址和端口,-p表示显示关联的程序)。

Nslookup :这代表“Name server Lookup”(名称服务器查询)。这是一个用于检查DNS主机名到IP或IP到主机名的工具。在故障排除时非常有用。

进程信息命令 :-
  • **ps** - 显示当前正在运行的进程。

  • **ps -ef** - 显示系统中的所有进程。

  • **top**- 显示系统运行进程的实时动态视图。

  • **kill <pid>** - 优雅地终止进程 pid。

  • **df -h**(磁盘空间使用情况) 命令会显示文件系统使用的磁盘空间情况。

相关于 Red Hat 包的命令

Yum - 适用于 RHEL Linux 发行版的软件包管理器。

  • yum - 一个更新的包管理器,具有彩色输出、进度条和额外功能。

**yum update -y** - 更新软件包列表。

**yum list --installed** - 列出所有已安装的包。

服务管理

sudo systemctl list-units -t service :列出操作系统中所有正在运行的服务。

sudo systemctl start nginx :启动服务
语法sudo systemctl start <服务名称>

sudo systemctl status nginx: 检查服务的状态

sudo systemctl restart nginx: 重启服务

其他命令 :-

Grep:此命令用于在文本文件中搜索特定的字符串/单词。这类似于“Ctrl+F”,但通过命令行界面执行。

尾部输出 : 这个命令会打印给定输入的最后N条数据,默认打印10行。

我们可以指定要显示的行数。

头部 : 这个命令打印给定输入的前N个数据。默认情况下,它打印前10行。

我们可以指定要显示的行数。

Free: 此命令显示系统中可用的总磁盘空间,以及已使用的内存和交换内存的总量,还包括内核使用的缓冲区。

ssh-keygen:此命令用于生成公钥/私钥认证密钥对。

这个认证过程允许用户在不提供密码的情况下连接到远程服务器。

CURL:Curl 是一个用于使用各种协议(如 HTTP、HTTPS、FTP 等)从服务器传输数据的工具。基本示例:

语法:curl <url>

tar :用于创建、维护、修改和从归档文件中提取文件,通常称为“tarball”。它可以将多个文件和目录捆绑成一个归档文件,保留权限、时间戳和目录结构。

cron 和 crontab:cron 是一个系统守护进程,用于在预定义的时间执行计划任务。crontab 是一个命令行工具,用于管理用户的计划任务。
示例用法:
编辑用户的 crontab:crontab -e
指定每小时运行一次的 cron 任务:0 /path/to/script.sh

文件权限八进制数

**chmod <八进制数> <文件名>** - 修改文件的权限。

语法:chmod 777 test1.txt

这篇博客页面涵盖了大多数常用的Linux命令,适用于DevOps战士,并且是一个不断增长的文档。随着日子的推移,当我发现一些有趣的命令时,会不断添加新的命令。

关注我,获取更多关于 DevOps 世界的相关内容。

联系我 👨‍💻

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消