头图

点击链接了解详情

img


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

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

img

系统信息命令:

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-...

img


CODING
3.3k 声望4k 粉丝

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