百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 优雅编程 > 正文

简单粗暴收藏版:Linux常用命令大汇总

sinye56 2025-01-06 15:19 17 浏览 0 评论

号主:老杨丨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年资深网络工程师,更多网工提升干货,请关注公众号:网络工程师俱乐部

相关推荐

程序员:JDK的安装与配置(完整版)_jdk的安装方法

对于Java程序员来说,jdk是必不陌生的一个词。但怎么安装配置jdk,对新手来说确实头疼的一件事情。我这里以jdk10为例,详细的说明讲解了jdk的安装和配置,如果有不明白的小伙伴可以评论区留言哦下...

Linux中安装jdk并配置环境变量_linux jdk安装教程及环境变量配置

一、通过连接工具登录到Linux(我这里使用的Centos7.6版本)服务器连接工具有很多我就不一一介绍了今天使用比较常用的XShell工具登录成功如下:二、上传jdk安装包到Linux服务器jdk...

麒麟系统安装JAVA JDK教程_麒麟系统配置jdk

检查检查系统是否自带java在麒麟系统桌面空白处,右键“在终端打开”,打开shell对话框输入:java–version查看是否自带java及版本如图所示,系统自带OpenJDK,要先卸载自带JDK...

学习笔记-Linux JDK - 安装&amp;配置

前提条件#检查是否存在JDKrpm-qa|grepjava#删除现存JDKyum-yremovejava*安装OracleJDK不分系统#进入安装文件目...

Linux新手入门系列:Linux下jdk安装配置

本系列文章是把作者刚接触和学习Linux时候的实操记录分享出来,内容主要包括Linux入门的一些理论概念知识、Web程序、mysql数据库的简单安装部署,希望能够帮到一些初学者,少走一些弯路。注意:L...

测试员必备:Linux下安装JDK 1.8你必须知道的那些事

1.简介在Oracle收购Sun后,Java的一系列产品就被整合到Oracle官网中,打开官网乍眼一看也不知道去哪里下载,还得一个一个的摸索尝试,而且网上大多数都是一些Oracle收购Sun前,或者就...

Linux 下安装JDK17_linux 安装jdk1.8 yum

一、安装环境操作系统:JDK版本:17二、安装步骤第一步:下载安装包下载Linux环境下的jdk1.8,请去官网(https://www.oracle.com/java/technologies/do...

在Ubuntu系统中安装JDK 17并配置环境变量教程

在Ubuntu系统上安装JDK17并配置环境变量是Java开发环境搭建的重要步骤。JDK17是Oracle提供的长期支持版本,广泛用于开发Java应用程序。以下是详细的步骤,帮助你在Ubuntu系...

如何在 Linux 上安装 Java_linux安装java的步骤

在桌面上拥抱Java应用程序,然后在所有桌面上运行它们。--SethKenlon(作者)无论你运行的是哪种操作系统,通常都有几种安装应用程序的方法。有时你可能会在应用程序商店中找到一个应用程序...

Windows和Linux环境下的JDK安装教程

JavaDevelopmentKit(简称JDK),是Java开发的核心工具包,提供了Java应用程序的编译、运行和开发所需的各类工具和类库。它包括了JRE(JavaRuntimeEnviro...

linux安装jdk_linux安装jdk软连接

JDK是啥就不用多介绍了哈,外行的人也不会进来看我的博文。依然记得读大学那会,第一次实验课就是在机房安装jdk,编写HelloWorld程序。时光飞逝啊,一下过了十多年了,挣了不少钱,买了跑车,娶了富...

linux安装jdk,全局配置,不同用户不同jdk

jdk1.8安装包链接:https://pan.baidu.com/s/14qBrh6ZpLK04QS8ogCepwg提取码:09zs上传文件解压tar-zxvfjdk-8u152-linux-...

运维大神教你在linux下安装jdk8_linux安装jdk1.7

1.到官网下载适合自己机器的版本。楼主下载的是jdk-8u66-linux-i586.tar.gzhttp://www.oracle.com/technetwork/java/javase/downl...

window和linux安装JDK1.8_linux 安装jdk1.8.tar

Windows安装JDK1.8的步骤:步骤1:下载JDK打开浏览器,找到JDK下载页面https://d.injdk.cn/download/oraclejdk/8在页面中找到并点击“下载...

最全的linux下安装JavaJDK的教程(图文详解)不会安装你来打我?

默认已经有了linux服务器,且有root账号首先检查一下是否已经安装过java的jdk任意位置输入命令:whichjava像我这个已经安装过了,就会提示在哪个位置,你的肯定是找不到。一般我们在...

取消回复欢迎 发表评论: