写点什么

为 DevOps 战士准备的 Linux 命令

作者:CODING DevOps
  • 2023-09-11
    广东
  • 本文字数:3743 字

    阅读完需:约 12 分钟

为 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 <dirName> - 更改到所提到的目录。


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


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


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


mkdir - 创建目录。


mkdir <dirName> - 创建目录。


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


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


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


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


文件命令:


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


touch <fileName> - 创建一个空文件。


touch <file1> <file2> - 创建 file1、file2 空文件。


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


cat <fileName> - 显示文件的内容。


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


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


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


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


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


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


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


rm - 删除命令。


rm <fileName> - 删除文件。


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


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


cp - 复制命令。


cp <source> <destination> - 将文件和文件夹从源复制到目标。


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


mv - 移动或重命名命令。


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


mv <oldFilePath> <newFilePath> - 将文件移动到新路径。


文件权限命令:


ls -l <pathOfFileName> - 显示文件的权限。


ls -ld <dirNamePath> - 显示目录的权限。


chmod <octalNumber> <fileName> - 更改文件的模式/权限。


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


chown <newUser> <fileName> - 更改文件的用户所有权。


chown <newUser>:<newGroup> <fileName> - 更改文件的用户和组所有权。


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


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


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


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


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


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


文件权限八进制数字:


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


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


用户管理命令:


useradd - 创建用户账户。


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


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


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


userdel - 删除用户。


userdel <userName> - 从系统中删除用户。


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


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


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


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


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


su - 替代用户。


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


exit - 从该用户注销。


usermod - 修改用户。


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


chsh - 更改 shell。


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


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


组管理命令:


groupadd <groupName> - 创建组。


groupdel <groupName> - 删除组。


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


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


gpasswd <groupName> - 为组创建密码。


gpasswd -a <userName> <groupName> - 将用户添加到组。


gpasswd -d <userName> <groupName> - 从组中删除用户。


gpasswd -M <userName1>,<userName2>,<userName3> <groupName> - 将多个用户添加到组并删除该组的现有用户。


搜索命令:


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


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


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


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


grep <textToSearch> <fileName> - 用于在文件中查找文本模式。


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


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


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


查找命令:


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


find <dirName> -name <fileName> - 在目录中查找提到的文件。


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


硬件信息命令:


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


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


du - 磁盘使用情况。


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


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


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


网络命令:


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


dig <domainName> - 显示域的 DNS 信息。


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


curl - 客户端 URL。


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


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


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


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


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


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


进程信息命令:


ps - 进程状态。


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


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


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


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


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


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


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


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


归档文件命令:


tar - 磁带存档。


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


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


Ubuntu 包相关命令:


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


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


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


apt update - 更新包列表。


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


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


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


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


apt install <packageName> - 安装所需的包。


apt remove <packageName> - 删除所需的包。


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


杂项命令:


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


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


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


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


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


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


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


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


文章来源:


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



用户头像

CODING DevOps

关注

让开发更简单! 2018-04-23 加入

CODING 是腾讯云旗下一站式 DevOps 研发管理平台,向广大开发者及企业研发团队提供代码托管、项目协同、测试管理、持续集成、制品库、持续部署、云原生应用管理 Orbit、团队知识库等系列工具产品。

评论

发布
暂无评论
为 DevOps 战士准备的 Linux 命令_CODING DevOps_InfoQ写作社区