为 DevOps 战士准备的 Linux 命令

点击链接了解详情


这篇文章将帮助理解DevOps工程师所需的大部分重要且经常使用的Linux命令。

要执行这些命令,你可以使用任何Linux机器、虚拟机或在线Linux终端来迅速开始使用这些命令。

系统信息命令:

hostname - 显示系统主机的名称。

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

date - 以UTC格式显示当前日期和时间。

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

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

uname - Unix名称。

clear - 清屏。

history - 列出到目前为止执行的所有命令。

sudo - 超级用户执行。

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

shutdown -r now - 立即重启机器(-r 重启)。

printenv - 显示Linux系统的所有环境变量。

last - 显示Linux系统中之前的登录信息。

目录命令:

pwd - 显示当前工作目录(缩写为Print Working Directory)。

cd - 更改目录。

cd ... - 更改到其父目录,即向上一级。

cd - 更改到所提到的目录。

cd ~ 或 cd - 更改到当前登录用户的主目录。

cd .../... - 将目录更改为向上两级。

cd - - 更改到上一个工作目录。

mkdir - 创建目录。

mkdir - 创建目录。

mkdir -p - 如果不存在,连同其父目录一起创建目录(-p parent)。

ls - 列出你所在的目录的文件和文件夹。

ls -a - 列出所有文件和文件夹以及隐藏文件(-a all)。

ls -al - 以格式化的方式列出所有文件和文件夹以及隐藏文件(-l 长列表格式)。

文件命令:

touch - 创建一个空文件或更新现有文件的时间戳。

touch - 创建一个空文件。

touch - 创建file1、file2空文件。

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

cat - 显示文件的内容。

cat > - 创建一个新文件,允许交互式输入内容并将输入的内容重定向到创建的文件(> 重定向操作符)。

head - 默认显示文件的前10行。

head -n 5 - 显示文件的前5行(-n 数字)。

tail - 默认显示文件的后10行。

tail -n 5 - 显示文件的后5行(-n 数字)。

tail -F - 实时显示文件内容,即使文件被旋转或替换(用于日志文件监控)。

less - 用于分页方式查看大文件(如日志文件)。

rm - 删除命令。

rm - 删除文件。

rm -r - 递归删除目录的文件和文件夹(-r 递归)。

rm -rf - 强制递归删除目录的文件和文件夹(-f 强制)。

cp - 复制命令。

cp - 将文件和文件夹从源复制到目标。

cp -r - 递归复制dir1目录到dir2目录(-r 递归)。

mv - 移动或重命名命令。

mv - 将文件重命名为新名称。

mv - 将文件移动到新路径。

文件权限命令:

ls -l - 显示文件的权限。

ls -ld - 显示目录的权限。

chmod - 更改文件的模式/权限。

chmod -R - 递归更改目录的模式/权限。

chown - 更改文件的用户所有权。

chown : - 更改文件的用户和组所有权。

chgrp <fileName/dirName> - 更新文件/目录的组名。

getfacl <fileName/dirName> - 显示文件/目录的访问控制列表。

setfacl -m u::rwx <fileName/dirName> - 修改文件/目录的当前acl。

setfacl -x u:: <fileName/dirName> - 删除文件/目录的acl权限。

setfacl -m g::rwx <fileName/dirName> - 修改文件/目录的组acl。

setfacl -x g:: <fileName/dirName> - 删除文件/目录的组acl权限。

文件权限八进制数字:

读(r)--- 4,写(w)--- 2,执行(x)--- 1

将数字相加以创建一个八进制数字,以提供文件/目录的权限。

用户管理命令:

useradd - 创建用户账户。

useradd - 创建没有主目录和邮件存储目录的用户账户。

useradd -m - 创建带有主目录和邮件存储目录的用户账户。

passwd - 为用户创建密码,并将其存储在/etc/shadow文件中。

userdel - 删除用户。

userdel - 从系统中删除用户。

userdel -r - 从系统中连同主目录和邮件存储目录一起删除用户(-r 删除)。

/etc/passwd - 存储用户账户的信息。

cat /etc/passwd - 显示该机器上的所有用户的完整列表。

/etc/shadow - 以加密格式存储用户的密码。

cat /etc/shadow - 显示该机器上所有用户密码的完整列表。

su - 替代用户。

su - 切换到所提及的用户。

exit - 从该用户注销。

usermod - 修改用户。

usermod -aG - 将用户添加到另一个组(-aG 将用户追加到组中,不从其他组中删除)。

chsh - 更改shell。

chsh -s /bin/bash - 为用户更改shell为bash。

chsh -s /bin/sh - 为用户更改shell为sh。

组管理命令:

groupadd - 创建组。

groupdel - 删除组。

/etc/group - 存储组的信息。

cat /etc/group - 显示该机器上的所有组的完整列表。

gpasswd - 为组创建密码。

gpasswd -a - 将用户添加到组。

gpasswd -d - 从组中删除用户。

gpasswd -M ,, - 将多个用户添加到组并删除该组的现有用户。

搜索命令:

locate - 根据名称搜索文件/目录。

sudo updatedb - 更新数据库以确保结果是最新的。

locate <fileName/dirName> - 定位文件/目录并显示路径。

GREP 命令 --- 全局正则表达式打印

grep - 用于在文件中查找文本模式。

grep -i - 忽略大小写在文件中查找文本模式(-i 忽略大小写)。

grep -v - 用于查找不匹配文本模式的行(-v 反向匹配)。

grep -l - 用于显示匹配字符串的文件名。

查找命令:

find . -name - 在当前目录中查找提到的文件(.(句点)表示当前目录)。

find -name - 在目录中查找提到的文件。

find -perm 754 - 在目录中查找具有754权限的文件。

硬件信息命令:

free -h - 显示系统内存信息( -h 人类可读格式)。

df -h - 显示已挂载文件系统的磁盘空间使用情况。

du - 磁盘使用情况。

du -h - 显示磁盘使用信息(-h 人类可读格式)。

du -sh - 以人类可读格式显示目录的总大小,而不是单个文件的大小(-s 总结)。

du -sh <fileName/dirName> - 显示文件/目录的总大小。

网络命令:

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

dig - 显示域的DNS信息。

wget - 用于从互联网上检索/下载文件。

curl - 客户端URL。

curl - 用于从互联网上检索/下载文件。

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

ip addr - 显示和操作网络接口信息。

curl ifconfig.me - 显示机器的公共ip地址。

netstat -antp- 显示所有tcp打开的端口(-a 所有, t-tcp, n-活动, p 协议)。

traceroute - 使用数据包从源到目标主机追踪路由。

进程信息命令:

ps - 进程状态。

ps - 显示当前正在运行的进程。

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

top - 显示系统正在运行进程的实时、动态视图。

kill - 优雅地终止进程pid。

pgrep - 根据名称/其他标准显示进程的进程id。

bg - 背景,将进程发送到后台并继续执行,不中断。

fg - 前台,将进程带到前台并使其成为活动进程。

nohup - 不挂起,在终端关闭或用户注销后在后台运行命令/脚本。

归档文件命令:

tar - 磁带存档。

tar -cvf - 为所提及的目录创建tar文件(-c 创建,-v 详细,f - 输出文件名)。

tar -xvf -C - 将提取的文件放入目标目录(-x 提取, v 详细, -f 源tar文件名)。

Ubuntu 包相关命令:

apt - Debian-based Linux发行版的包管理器,例如:Ubuntu。

apt - 更新版本的包管理器,带有彩色输出、进度条和附加功能。

apt-get - 较旧版本和基本的包管理器。

apt update - 更新包列表。

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

apt list --installed - 如果安装了,则显示包名。

apt show - 显示提及的包的信息。

apt search - 搜索并显示包列表。

apt install - 安装所需的包。

apt remove - 删除所需的包。

apt purge - 删除所需的包及其配置文件。

杂项命令:

echo "sample text" | grep text - 使用管道(|)符号将第一个命令的输出作为第二个命令的输入。

ls -l | tee file.txt - 将列表重定向到file.txt,并同时在终端中显示。

echo "sample text" > - 通过覆盖现有内容将内容写入所提及的文件(> 重定向操作符)。

echo "new sample text" >> - 将内容附加到所提及的文件,而不覆盖现有内容(>> 重定向操作)。

stat <fileName/dirName> - 显示文件或目录的详细信息。

cron - 用于管理预定任务的系统守护进程。

tree - 一个特定目录的文件和目录的树表示。

这个博客页面涵盖了DevOps Warriors主要使用的linux命令,并且是一个不断增长的文档。

文章来源:

https://medium.com/@mj.vishweshwaran/vish-linux-commands-for-devops-warriors-3866e4f4e56

相关推荐
大树888 小时前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠9 小时前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
bush49 小时前
嵌入式linux学习记录十四、术语
linux·嵌入式
载数而行5209 小时前
Linux 11 动态监控指令top
linux
小宇宙Zz9 小时前
Maven依赖冲突
java·服务器·maven
不会C语言的男孩11 小时前
Linux 系统编程 · 第 8 章:进程基础
linux·c语言
古城小栈11 小时前
Unix 与 Linux 异同小叙
linux·服务器·unix
程序猿阿伟11 小时前
《Chrome离线扩展安装的底层逻辑与场景落地指南》
服务器·网络·chrome
lunzi_082611 小时前
【开源治理】05-把流程翻译成门禁:开源治理嵌入 DevOps 流水线实战
供应链管理·devops·开源治理
凡人叶枫12 小时前
Effective C++ 条款42:了解 typename 的双重意义
java·linux·服务器·c++