Linux 命令全解析:从零开始掌握 Linux 命令行

news/2025/4/22 1:41:19

Linux 作为一款强大的开源操作系统,广泛应用于服务器、嵌入式系统以及超级计算机领域。掌握 Linux 命令行技能,是每一位开发者和系统管理员的必备能力。本文将从基础开始,为你详细介绍常用的 Linux 命令,以及它们的使用场景和示例。


一、Linux 基础知识

1. 什么是 Linux 命令行?

Linux 命令行(Command Line Interface,CLI)是用户与操作系统交互的接口,通过输入命令来执行操作。

2. 为什么要学习 Linux 命令?

  • 高效操作:命令行操作比图形界面更快。
  • 自动化:可以通过脚本实现批量操作。
  • 远程管理:通过 SSH 连接服务器时只能使用命令行。

二、常用 Linux 命令

1. 文件管理

(1)ls - 列出目录内容
ls [选项] [目录]

常用选项

  • -a:显示隐藏文件。
  • -l:以详细列表形式显示。
  • -h:以人类可读的方式显示大小。

示例

ls -alh
(2)cd - 切换目录
cd [目录]

示例

cd /home/user/Documents
(3)mkdir - 创建目录
mkdir [目录名]

示例

mkdir mydir
(4)rm - 删除文件或目录
rm [选项] [文件/目录]

常用选项

  • -r:递归删除目录。
  • -f:强制删除,不提示确认。

示例

rm -rf mydir
(5)cp - 复制文件
cp [源文件] [目标文件/目录]

示例

cp file1.txt /home/user/backup
(6)mv - 移动或重命名文件
mv [源文件] [目标文件/目录]

示例

mv file1.txt file2.txt

2. 文件编辑

(1)nano - 基础文本编辑器
nano [文件名]

示例

nano README.md
(2)vim - 高级文本编辑器
vim [文件名]

示例

vim main.c

3. 文件权限

(1)chmod - 更改文件权限
chmod [权限] [文件名]

权限格式

  • u:用户(user)。
  • g:组(group)。
  • o:其他(other)。
  • r:读(read)。
  • w:写(write)。
  • x:执行(execute)。

示例

chmod u+x script.sh

4. 系统信息

(1)uname - 查看系统信息
uname [选项]

常用选项

  • -a:显示所有信息。
  • -r:显示内核版本。

示例

uname -a
(2)uptime - 查看系统运行时间
uptime

5. 进程管理

(1)ps - 查看进程状态
ps [选项]

常用选项

  • -ef:显示所有进程。
  • -aux:以用户式格式显示。

示例

ps -ef
(2)kill - 终止进程
kill [进程ID]

示例

kill 1234

6. 网络

(1)ping - 测试网络连通性
ping [主机名或IP]

示例

ping www.example.com
(2)curl - 测试 HTTP 请求
curl [URL]

示例

curl http://www.example.com

7. 文件传输

(1)scp - 安全拷贝文件
scp [源文件] [目标用户@目标主机:目标目录]

示例

scp file.txt user@192.168.1.100:/home/user/
(2)rsync - 同步文件
rsync [源文件] [目标文件/目录]

示例

rsync -avz /home/user/data/ /mnt/backup/

8. 包管理

(1)apt - Ubuntu/Debian 包管理器
sudo apt [命令] [包名]

常用命令

  • update:更新包列表。
  • upgrade:升级已安装的包。
  • install:安装包。
  • remove:卸载包。

示例

sudo apt install git
(2)yum - CentOS/RHEL 包管理器
sudo yum [命令] [包名]

示例

sudo yum install git
(3)pacman - Arch Linux 包管理器
sudo pacman [命令] [包名]

示例

sudo pacman -S git

9. 压缩与解压

(1)zip - 压缩文件
zip [选项] [输出文件] [输入文件]

示例

zip -r archive.zip mydir
(2)tar - 打包与压缩
tar [选项] [输出文件] [输入文件]

示例

tar -czvf archive.tar.gz mydir

三、Linux 命令行技巧

  1. Tab 自ocomplete:输入命令时按 Tab 键自动完成。
  2. 历史命令:输入 history 查看命令历史。
  3. 管道操作:使用 | 将命令输出作为下一个命令的输入。
  4. 后台运行:在命令末尾添加 &,运行命令在后台。
  5. 权限提示:使用 sudo 提高权限。

四、总结

Linux 命令行是强大的工具,掌握它可以大大提升你的工作效率。本文介绍了从文件管理到系统信息、进程管理的常用命令,希望能帮助你快速上手 Linux 命令行操作。练习是关键,多多尝试,熟练掌握这些命令,你将在 Linux 世界中如鱼得水!


https://dhexx.cn/news/show-5497604.html

相关文章

深度学习(第1章——神经网络原理和Pytorch入门)

前言: 本章将讲解神经网络原理,神经元如何处理输入并输出,什么是梯度,多层感知机中梯度的计算,Pytoch自动梯度效果,如何使用原生Python实现一个简单的神经网络,以及对应Pytorch实现。 神经网络原…

从零开始学A2A二 : A2A 协议的技术架构与实现

A2A 协议的技术架构与实现 学习目标 技术架构掌握 深入理解 A2A 协议的分层架构设计掌握各层次的功能和职责理解协议的工作原理和数据流 实现能力培养 能够搭建基本的 A2A 服务端掌握客户端开发方法实现智能体间的有效通信 架构设计理解 理解与 MCP 的本质区别掌握多智能体协…

【Audio开发四】音频audio中underrun和overrun原因详解和解决方案

一,underrun & overrun定义 我们知道,在Audio模块中数据采用的是生产者-消费者模式,生产者负责生产数据,消费者用于消费数据,针对AudioTrack和AudioRecord,其对应的角色不同; AudioTrack …

ROS---<angles>

1. 概述 angles 库是ROS(机器人操作系统)中一个实用的功能库,主要用于处理角度相关的操作。在机器人开发中,角度的计算、转换和归一化是常见需求,例如机器人的运动控制、传感器数据处理等场景,angles 库提…

WebSocket 技术详解

引言 在现代Web应用中,实时通信已经成为不可或缺的一部分。想象一下聊天应用、在线游戏、股票交易平台或协作工具,这些应用都需要服务器能够即时将更新推送给客户端,而不仅仅是等待客户端请求。WebSocket技术应运而生,它提供了一…

trl的安装与单GPU多GPU测试

文章目录 0 相关资料1 源码安装2 Qwen2.5-0.5B-Instruct 模型下载3 训练demo4 在多个 GPU/节点上进行训练总结 0 相关资料 https://github.com/huggingface/trl https://blog.csdn.net/weixin_42486623/article/details/134326187 TRL 是一个先进的库,专为训练后基…

《 Reinforcement Learning for Education: Opportunities and Challenges》全文阅读

Reinforcement Learning for Education: Opportunities and Challenges 面向教育的强化学习:机遇与挑战 摘要 本综述文章源自作者在 Educational Data Mining (EDM) 2021 会议期间组织的 RL4ED 研讨会。我们组织了这一研讨会,作为一项社区建设工作的组…

Vue3服务端渲染(SSR)深度调优:架构裂变与性能突围

一、全链路渲染管控系统 1.1 智能DNS路由策略 1.2 区域化渲染成本矩阵 区域计算成本($/h)网络成本($/GB)命中率QoS保障等级北美东部0.240.0892%SLA-99.9亚太东南0.280.1285%SLA-99.5欧洲西部0.310.1588%SLA-99.7南美圣保罗0.350.1878%SLA-99.0 二、多维度缓存治理策略 2.1 量…

交易模式革新:Eagle Trader APP上线,助力自营交易考试效率提升

近年来,金融行业随着投资者需求的日益多样化,衍生出了众多不同的交易方式。例如,为了帮助新手小白建立交易基础,诞生了各类跟单社区;而与此同时,一种备受瞩目的交易方式 —— 自营交易模式,正吸…

数据库表设计五层分类系统表设计

文章目录 数据库表设计五层分类系统表设计代码思路详解类概述核心方法详解1. processString(String input) 方法2. createNo(String input, boolean peerNode) 方法3. isParent(String parentNo, String sonNo) 方法 编号系统设计使用场景推测代码特点可能的使用示例 NoProcess…