网站首页 > 技术文章 正文
号主:老杨丨11年资深网络工程师,更多网工提升干货,请关注公众号:网络工程师俱乐部
下午好,我的网工朋友
在 Linux 系统中,命令行界面(CLI)是管理员和开发人员最常用的工具之一。
通过命令行,用户可以高效地管理和操作系统的各个方面,从简单的文件操作到复杂的系统配置。掌握常用的 Linux 命令不仅能够提高工作效率,还能帮助解决各种问题。
今天给你提供一份全面且实用的 Linux 常用命令汇总,涵盖从基础命令到高级技巧的各种内容,码住总有用上的一天
今日文章阅读福利:《 必备linux命令大全 》
给你分享一份工作必备的好用资料,私信我,发送暗号“linux命令”,即可限时获取。
01 基础命令
01 文件和目录操作
ls - 列出目录内容
用途:显示当前或指定目录中的文件和子目录列表。
常用选项:
-l:以长格式列出详细信息(如权限、所有者、大小、修改日期等)。
-a:显示所有文件,包括隐藏文件(以 . 开头的文件)。
-h:以人类可读的格式显示文件大小(如 KB、MB)。
cd - 更改目录
用途:切换到指定的目录。
常用选项:
cd /path/to/directory:切换到绝对路径指定的目录。
cd ..:切换到上一级目录。
cd ~ 或 cd:切换到用户的主目录。
pwd - 显示当前工作目录
用途:显示当前所在的目录路径。
mkdir - 创建目录
用途:创建一个或多个新目录。
常用选项:
-p:递归创建目录(如果父目录不存在,则一并创建)。
rm - 删除文件或目录
用途:删除文件或目录。
常用选项:
-r:递归删除目录及其内容。
-f:强制删除,不提示确认。
注意:使用时需谨慎,删除后无法恢复。
02 文本查看与编辑
cat - 查看文件内容
用途:显示文件的内容。
常用选项:
-n:显示行号。
-E:显示行尾符。
less - 分页查看文件内容
用途:分页显示文件内容,允许上下翻页。
常用快捷键:
Space:向下翻页。
b:向上翻页。
q:退出。
vi/vim 和 nano - 文本编辑器
vi/vim:功能强大的文本编辑器,适合高级用户。支持多种模式(如插入模式、命令模式)。
nano:简单易用的文本编辑器,适合初学者。无需学习复杂的命令。
03 文件权限管理
chmod - 修改文件权限
用途:更改文件或目录的访问权限。
权限类型:
r:读取权限。
w:写入权限。
x:执行权限。
用户类别:
u:文件所有者。
g:文件所属组。
o:其他用户。
a:所有用户(等同于 ugo)。
常用选项:
+:添加权限。
-:移除权限。
=:设置权限。
chown - 修改文件所有者和组
用途:更改文件或目录的所有者和所属组。
常用选项:
user:group:指定新的所有者和组。
-R:递归更改目录及其内容。
02 系统管理命令
系统管理命令是 Linux 管理员日常工作中不可或缺的工具。这些命令帮助管理员进行用户与组管理、进程管理、服务管理和磁盘与存储管理等关键任务。
01 用户与组管理
useradd - 添加新用户
用途:创建一个新的用户账户。
常用选项:
-m:创建用户的主目录。
-s:指定用户的登录 shell。
-G:指定用户所属的附加组。
userdel - 删除用户
用途:删除一个现有的用户账户。
常用选项:
-r:同时删除用户的主目录和邮件文件。
groupadd - 添加新组
用途:创建一个新的用户组。
passwd - 修改用户密码
用途:更改用户密码或设置其他密码相关属性。
02 进程管理
ps - 显示当前进程状态
用途:显示系统中运行的进程信息。
常用选项:
aux:显示所有用户的进程,包括详细信息。
-ef:显示所有进程的完整信息。
top - 实时监控系统资源使用情况
用途:实时显示系统的 CPU、内存使用情况以及各个进程的状态。
常用快捷键:
q:退出 top。
k:终止某个进程。
r:重置进程优先级。
kill - 终止进程
用途:发送信号给进程以终止其运行。
常用选项:
-9:强制终止进程(SIGKILL)。
-15:正常终止进程(SIGTERM)。
03 服务管理
systemctl - 系统和服务管理器
用途:用于管理系统和服务的状态,启动、停止、重启或查看服务状态。
常用命令:
start:启动服务。
stop:停止服务。
restart:重启服务。
status:查看服务状态。
enable:设置服务开机自启。
disable:取消服务开机自启。
service - 传统服务管理命令
用途:用于启动、停止、重启或查看服务状态(适用于较旧的系统或某些特定服务)。
04 磁盘与存储管理
df - 显示磁盘空间使用情况
用途:显示文件系统的磁盘空间使用情况。
常用选项:
-h:以人类可读的格式显示(如 KB、MB、GB)。
-T:显示文件系统的类型。
du - 显示目录或文件的磁盘使用情况
用途:显示指定目录或文件占用的磁盘空间。
常用选项:
-sh:以简洁的人类可读格式显示总大小。
-a:显示所有文件和子目录的详细信息。
fdisk - 分区表操作工具
用途:用于查看、创建、修改和删除磁盘分区。
mount 和 umount - 挂载和卸载文件系统
mount:将文件系统挂载到指定的挂载点。
umount:卸载已挂载的文件系统。
03 网络相关命令
网络相关命令是 Linux 系统管理员和用户进行网络配置、诊断和管理的重要工具。这些命令可以帮助您检查网络连接状态、配置网络接口、传输文件等。
01 网络配置与诊断
ifconfig - 配置网络接口(已逐步被 ip 命令取代)
用途:显示或配置网络接口的 IP 地址、子网掩码和其他参数。
常用选项:
eth0:指定要配置的网络接口。
up/down:启用或禁用网络接口。
ip - 配置和显示网络接口信息
用途:替代 ifconfig,用于更灵活地管理和配置网络接口。
常用命令:
addr show:显示所有网络接口的 IP 地址。
link set dev <interface> up/down:启用或禁用网络接口。
route show:显示路由表。
ping - 测试网络连接
用途:向目标主机发送 ICMP Echo 请求并接收响应,以测试网络连通性。
常用选项:
-c:指定发送的请求数量。
-i:设置请求间隔时间(秒)。
netstat - 显示网络连接、路由表和接口统计信息
用途:显示各种网络连接状态、路由表、接口统计信息等。
常用选项:
-tuln:显示所有监听的 TCP 和 UDP 端口。
-r:显示路由表。
traceroute - 跟踪数据包路径
用途:显示数据包从本地主机到目标主机所经过的路由器。
02 远程连接与文件传输
ssh - 安全远程登录
用途:通过加密通道安全地登录远程服务器。
常用选项:
-p:指定远程服务器的 SSH 端口号。
-i:指定私钥文件路径。
scp - 安全复制文件
用途:通过 SSH 协议安全地在本地和远程主机之间复制文件。
常用选项:
-P:指定远程服务器的 SSH 端口号。
-r:递归复制目录。
rsync - 同步文件和目录
用途:高效地同步文件和目录,支持增量传输、压缩等功能。
常用选项:
-a:归档模式,保留文件属性和结构。
-z:压缩传输的数据。
-v:详细输出。
04 搜索与过滤命令
搜索和过滤命令是 Linux 系统中用于查找文件、目录或文本内容的强大工具。这些命令可以帮助您快速定位所需的信息,并对数据进行精确的筛选和处理。
01 文件搜索
find - 在文件系统中查找文件
用途:在指定目录及其子目录中查找文件或目录。
常用选项:
-name:按名称查找文件(支持通配符)。
-type:指定查找类型(如 f 表示文件,d 表示目录)。
-mtime:按修改时间查找文件。
-size:按文件大小查找文件。
locate - 快速查找文件
用途:通过预先构建的数据库快速查找文件路径。
优点:比 find 更快,但依赖于定期更新的数据库。
常用命令:
updatedb:更新 locate 数据库(可能需要管理员权限)。
02 文本搜索与过滤
grep - 在文件中搜索文本模式
用途:在文件中查找符合指定模式的行。
常用选项:
-i:忽略大小写。
-r 或 -R:递归查找目录中的所有文件。
-v:反向匹配,显示不包含指定模式的行。
-n:显示匹配行的行号。
-c:统计匹配行的数量。
awk - 处理和分析文本文件
用途:强大的文本处理工具,可以提取、格式化和计算文本数据。
常用功能:
字段提取:使用 $N 提取第 N 列。
条件过滤:使用条件语句过滤特定行。
计算操作:执行数学运算和字符串操作。
sed - 流编辑器
用途:用于对输入流(文件或管道)进行基本的文本转换和编辑操作。
常用功能:
替换文本:使用 s/old/new/ 语法替换文本。
删除行:使用 d 命令删除匹配的行。
插入或追加文本:使用 i 或 a 命令插入或追加文本。
05 压缩与归档命令
压缩和归档命令在 Linux 系统中用于减少文件占用的磁盘空间、方便传输以及备份数据。这些命令可以帮助您高效地管理和处理大量文件。
01 压缩工具
gzip - GNU zip 压缩工具
用途:将文件压缩为 .gz 格式。
常用选项:
-d:解压缩文件。
-k:保持原始文件不变(仅压缩)。
-9:最高压缩比。
-1:最低压缩比(最快)。
bzip2 - 更高效的压缩工具
用途:将文件压缩为 .bz2 格式,通常提供比 gzip 更高的压缩比。
常用选项:
-d:解压缩文件。
-k:保持原始文件不变(仅压缩)。
xz - 高压缩比的压缩工具
用途:将文件压缩为 .xz 格式,提供极高的压缩比,但速度较慢。
常用选项:
-d:解压缩文件。
-k:保持原始文件不变(仅压缩)。
02 归档工具
tar - 归档工具
用途:创建和管理归档文件(.tar),支持多种压缩格式(如 .tar.gz、.tar.bz2、.tar.xz)。
常用选项:
-c:创建新的归档文件。
-x:从归档文件中提取文件。
-f:指定归档文件名。
-z:使用 gzip 压缩或解压。
-j:使用 bzip2 压缩或解压。
-J:使用 xz 压缩或解压。
-v:显示处理过程中的文件列表。
06 脚本编写与自动化
脚本编写是 Linux 系统管理和自动化任务的关键技能。通过编写 Shell 脚本,可以简化重复性任务、提高工作效率,并实现复杂的自动化流程。以下是关于 Shell 脚本基础和常用命令组合的详细介绍。
01 Shell 脚本基础
变量
定义变量:使用 = 定义变量,无需指定类型。
引用变量:使用 $ 符号引用变量值。
条件语句
if 语句:根据条件执行不同的代码块。
常用操作符:-eq(等于)、-ne(不等于)、-gt(大于)、-lt(小于)等。
循环
for 循环:遍历列表或范围内的元素。
while 循环:当条件为真时重复执行代码块。
函数
定义函数:使用 function_name() 或 function function_name 定义函数。
调用函数:直接使用函数名调用。
02 常用命令组合
xargs - 构建和执行命令行
用途:从标准输入读取数据并构建命令行参数,常用于与其他命令结合使用。
常用选项:
-n:指定每次传递给命令的参数数量。
-I:指定替换字符串。
tee - 同时输出到文件和标准输出
用途:将命令输出同时写入文件和标准输出,便于日志记录和调试。
常用选项:
-a:追加输出到文件而不是覆盖。
cut - 提取字段
用途:从每行文本中提取特定字段。
常用选项:
-d:指定字段分隔符。
-f:指定要提取的字段编号。
sort - 排序
用途:对文本文件中的行进行排序。
常用选项:
-r:逆序排序。
-n:按数值排序。
-k:指定排序的列。
uniq - 过滤重复行
用途:去除相邻的重复行。
常用选项:
-c:显示每行出现的次数。
-d:仅显示重复的行。
原创:老杨丨11年资深网络工程师,更多网工提升干货,请关注公众号:网络工程师俱乐部
- 上一篇: Linux常见的目录及其作用
- 下一篇: Linux基本命令
猜你喜欢
- 2025-01-14 如何使用mv命令在Linux中移动文件和目录?
- 2025-01-14 linux基础命令之rm命令
- 2025-01-14 如何更改 Linux 文件和目录权限?
- 2025-01-14 超详细的Linux 基础命令大全
- 2025-01-14 linux常用命令在线查询工具
- 2025-01-14 Linux命令执行过程(新手必读)
- 2025-01-14 Linux下用户的创建与删除
- 2025-01-14 61个Linux常用命令解读,掌握它=掌握Linux(内赠资料)
- 2025-01-14 chown 命令使用方法
- 2025-01-14 linux chmod命令设置目录/文件权限详解
- 02-21走进git时代, 你该怎么玩?_gits
- 02-21GitHub是什么?它可不仅仅是云中的Git版本控制器
- 02-21Git常用操作总结_git基本用法
- 02-21为什么互联网巨头使用Git而放弃SVN?(含核心命令与原理)
- 02-21Git 高级用法,喜欢就拿去用_git基本用法
- 02-21Git常用命令和Git团队使用规范指南
- 02-21总结几个常用的Git命令的使用方法
- 02-21Git工作原理和常用指令_git原理详解
- 最近发表
- 标签列表
-
- cmd/c (57)
- c++中::是什么意思 (57)
- sqlset (59)
- ps可以打开pdf格式吗 (58)
- phprequire_once (61)
- localstorage.removeitem (74)
- routermode (59)
- vector线程安全吗 (70)
- & (66)
- java (73)
- org.redisson (64)
- log.warn (60)
- cannotinstantiatethetype (62)
- js数组插入 (83)
- resttemplateokhttp (59)
- gormwherein (64)
- linux删除一个文件夹 (65)
- mac安装java (72)
- reader.onload (61)
- outofmemoryerror是什么意思 (64)
- flask文件上传 (63)
- eacces (67)
- 查看mysql是否启动 (70)
- java是值传递还是引用传递 (58)
- 无效的列索引 (74)