Linux难学?大神告诉你,Linux到底该怎么自学!
文章目录
- Part.1
- Part.2
- Part.3
- 写作末尾
知乎上有一条热门问答,问题是“Linux为什么那么难?”

从问题来看,提问者还处在初学阶段。但他显然受困于 Linux 环境基本操作的问题,对操作系统本身的原理还不熟悉,并且对命令行工具了解也不多,上来就想完成一件复杂的工作,然后就陷入困境了。
其实这也是 Linux 初学者的普遍问题,总结一下,有以下四个方面的原因。
· Linux 多样的发行版:Ubuntu、Fedora、Debian等,每个发行版都有自己的特点和配置方式,到底学哪个?
· 命令行界面(CLI)操作:习惯了 Windows 的图形用户界面(GUI),打开 Linux 命令窗口简直是一筹莫展;
· 软件安装:Linux 通常使用包管理器来安装和管理软件,这和 Windows 上下载安装程序再执行的过程又不一样;
· 配置和定制:需要了解各种 Linux 配置文件和选项,并学习如何进行系统设置和调整。
总之,不经过一段时间的专门学习,想要傻瓜式地探索操作是不可能掌握 Linux 的。对于那位提问 Linux 为什么难学的同学来说,他应该做的是退而结网,先从了解系统原理和熟悉命令行操作开始学起。
但 Linux 系统命令行程序有好几千个,怎么能全都记得住?其实不必,只要掌握最常用的就可以完成大多数任务了。Linux初学者的好消息来了,我们的老朋友刘遄老师带着他的新书《Linux 常用命令自学手册》来解答同学们的问题。这本书就整理出 200 个常用命令行的用法说明,助力初学者轻松自学入门 Linux。

▲ 点击即可购书,限时特惠5折
在说命令行怎么用之前,我们先来透彻了解 Linux 的系统设计哲学。
Part.1
明白这些道理,Linux 就不难学
当初 Linus Torvalds 在开发 Linux 内核的时候,并没打算另起炉灶,而是完全复用了 Unix 的系统设计规范。用他自己的话说,只是想要一个更好的 Unix 而已。
说到 Unix,Ken Thompson 大神在贝尔实验室开发 Unix 系统时,赋予了命令行程序灵魂中最重要的两条哲学:第一,一个程序只专注于解决一个问题,并且做到极致;第二,通过管道将命令行组合起来,解决复杂问题。
遵循这两条原则,使得 Linux 下的命令行程序功能强大且易于扩展。除了这两点,还有以下特点:
· 简洁性:命令行程序通常采用简洁明了的语法和选项,使得用户能够快速地了解和使用它们。这种简洁性也使得命令行程序易于组合和嵌套,从而实现复杂的操作;
· 灵活性和可定制性:允许用户根据自己的需求进行配置和扩展。例如,用户可以通过设置环境变量、修改配置文件等方式来调整命令行程序的行为和外观;
· 面向文本:命令行程序能够读取和处理文本文件,输出文本结果。这种设计使得命令行程序能够与其他程序或脚本无缝地进行交互,并且能够方便地进行文本处理和分析。
明白了 Linux 命令行程序的这些原则和特点,就可以结合实践来体会命令行的特点,解决实际问题。这本《Linux 常用命令自学手册》的作者刘遄,就是一位传道授业解惑者。

刘遄老师是计算机信息技术方向教育硕士,计算机安全专业学士,Linux 基金会成员,LinuxProbe 网站创始人兼核心讲师。他从高中时期就对 Linux 产生兴趣并开始学习运维技术,随后将学习传播 Linux 技术作为自己的事业。
2012 年,刘遄老师获得红帽认证工程师 RHCE 6 版本证书,2015 年年初又分别获得红帽认证工程师 RHCE 7 版本证书与红帽认证架构师 RHCA顶级证书,2020年获得基于最新系统的红帽认证工程师 RHCE 8 版本证书,是国内第一批拥有红帽认证的讲师。
刘遄老师编著的《Linux 就该这么学》目前已经出到第 2 版,拥有 15 万读者。他的微信公众号关注人数达 30 万,累计阅读约 500 万人次,社群用户更是百万以上。这些技术人通过学习刘遄老师发布的书和在线课程,进入 Linux 的世界,不断精进,直至成长为资深系统工程师。
你也想成为一名优秀的 Linux 系统工程师吗?那就跟随刘遄老师,开始命令行自学之旅吧。
Part.2
五步学会 Linux 命令行,用好这本手册
刘遄老师编写《Linux 常用命令自学手册》的初衷,是《Linux 就该这么学》出版之后,广大读者强烈希望能将常用命令行汇集成册,方便学习。
于是刘遄老师组织团队,花了5年左右的时间收集整理,最终得到 3000 多条 Linux 命令行。然后他又花费大量精力,从中精选出 200 条,这才有了这本《Linux 常用命令自学手册》。
对这 200 条命令词条,刘遄老师和团队还进行了多次精细化修改、校对工作,力求内容的准确性。每条命令都由功能介绍、参数说明、参考示例组成。

命令涵盖了文件管理、文档编辑、系统管理、磁盘管理、文件传输、网络通信、设备管理、压缩备份等内容。
自学 Linux 命令行其实是有章可循的,本文开头提到的那位同学,如果他能按照下述五个步骤去学习,就不会觉得 Linux 难学了。
· 第一步:掌握常用命令。例如,ls(列出目录内容)、cd(切换目录)、mkdir(创建目录)、rm(删除文件或目录)等,逐渐扩展,加深理解;
· 第二步:理解命令的语法结构和参数选项。学会使用命令的帮助文档(man 命令),查看命令的详细说明和示例;
· 第三步:实践练习。能够将一个大的任务拆解,用命令行分步完成;
· 第四步:使用管道和重定向。学会用管道(|)将命令连接起来,使用重定向符号(>、>>、<)来处理输入和输出;
· 第五步:学会使用 Shell。掌握一些基础编程技能,能够将命令行灵活组合,实现自动化处理。
按照每个步骤学习时,都应该将《Linux 常用命令自学手册》放在手边,遇到问题随时翻阅。在解决当前问题之后,继续深挖书中更多的用法和参数说明,积累经验,提升工作效率。
Part.3
Linux 学习进阶之路
熟练掌握 Linux 命令行的用法是基础,要想更上一层楼,还要结合刘遄老师的《Linux 就该这么学 第2版》去深入学习,迈向 Linux 系统工程师之路。

▲ 点击即可购书,限时特惠5折
《Linux 就该这么学 第2版》 基于红帽 RHEL 8 系统编写,且内容通用于CentOS、Fedora等系统。内容涵盖了部署 Linux 系统,文件读写操作有关的技术,用户身份与文件权限的设置,硬盘设备分区、格式化以及挂载等操作,firewalld 防火墙与iptables 防火墙的区别和配置,使用ssh服务管理远程主机,使用Ansible服务实现自动化运维,使用 iSCSI 服务部署网络存储,使用 MariaDB 数据库管理系统,使用 PXE+Kickstart 无人值守安装服务,使用 LNMP 架构部署动态网站环境等。
将《Linux 就该这么学 第2版》与《Linux 常用命令自学手册》这两本书结合起来,同学们不仅能加深对系统运作的理解,还能强化对命令行功能的记忆,可谓如虎添翼。

▲ 点击即可购书,限时特惠5折
刘遄老师还建议读者每天学好一条命令,稳扎稳打,持之以恒,最终精通 Linux 命令的使用。
《Linux 常用命令自学手册》以简洁直白的语言描述功能用法,以丰富的命令行示例展示了基本功能以及高级技巧。这本案头必备书定将成为同学们自学 Linux 的好帮手!
—END—
写作末尾
🌻免费包邮送出以上三本书的其中一本
🌴抽奖方式:评论区抽取若干位小伙伴免费送出1本书
🌵参与方式:关注博主、点赞、收藏、评论区任意评论(不低于10个字,被折叠了无法参与抽奖,切记要点赞+收藏,否则抽奖无效,每个人最多评论三次)
🌼活动截止时间:2023-11-21 12:00:00
🍒开奖时间:2023-11-25 14:00:00
🍀中奖通知方式:私信通知
🍉中奖名单公布:https://bbs.csdn.net/forums/8318f682fbdb4e94b09bb465f04c4408
相关文章:
Linux难学?大神告诉你,Linux到底该怎么自学!
文章目录 Part.1Part.2Part.3写作末尾 知乎上有一条热门问答,问题是“Linux为什么那么难?” 从问题来看,提问者还处在初学阶段。但他显然受困于 Linux 环境基本操作的问题,对操作系统本身的原理还不熟悉,并且对命令行工…...
GAMES101—Lec 05~06:光栅化
目录 概念回顾(个人理解)光栅化1.采样2.采样出现的问题:走样 反走样 概念回顾(个人理解) 屏幕:在图形学中,我们认为屏幕是一个二维数组,数组里的每一个元素为一个二维像素。 光栅化…...
R语言——taxize(第三部分)
taxize(第三部分) 3. taxize 文档中译3.24. genbank2uid(从 GenBankID 获取 NCBI 分类 UID)3.25. getkey(获取 API 密钥的函数)3.26. get_boldid(获取搜索词的 BOLD(生命条形码&…...
用于神经网络的FLOP和Params计算工具
用于神经网络的FLOP和Params计算工具 1. FlopCountAnalysis pip install fvcoreimport torch from torchvision.models import resnet152, resnet18 from fvcore.nn import FlopCountAnalysis, parameter_count_tablemodel resnet152(num_classes1000)tensor (torch.rand(1…...
CUDA核函数,如何设置grid和block即不超过大小又能够遍历整个volume
此问题答案来自于openAI 1、Grid 大小: Grid 的大小由 dim3 grid 定义,其三个分量分别表示在 x、y、z 方向上的 Grid 数量。Grid 的大小不应该超过 GPU 的最大 Grid 大小。cudaDeviceGetAttribute获取限制。 int maxGridSizeX, maxGridSizeY, maxGridS…...
【Linux】软连接和硬链接:创建、管理和解除链接的操作
文章目录 1. 软链接和硬链接简介2. Linux软链接使用方法3. Linux硬链接使用方法4. 总结 1. 软链接和硬链接简介 什么是软链接 软链接(Symbolic Link),也称为符号链接,是包含了源文件位置信息的特殊文件。它的作用是间接指向一个文件或目录。如果软链接的源文件被删除或移动了,软…...
Matlab群体智能优化算法之海象优化算法(WO)
文章目录 一、灵感来源二、算法的初始化三、GTO的数学模型Phase1:危险信号和安全信号Phase2:迁移(探索)Phase3:繁殖(开发) 四、流程图五、伪代码六、算法复杂度七、WO搜索示意图八、实验分析和结…...
go语言学习-结构体
1、简介 Go语言中的结构体是一种自定义数据类型,可以将不同类型的数据字符组合在一起形成一个单独的实体。结构体可以用于存储和操作复杂的数据结构,以及创建自定义数据类型。通过自定义结构体创建的变量,可以存储不同类型的数据字段。在实际开发中,结构体的用途非常广泛,…...
Stable Diffusion进阶玩法说明
之前章节介绍了Stable Diffusion的入门,介绍了文生图的魅力,可以生成很多漂亮的照片,非常棒 传送门: Stable Diffusion新手村-我们一起完成AI绘画-CSDN博客 那我们今天就进一步讲讲这个Stable Diffusion还能做些什么, …...
PDF控件Spire.PDF for .NET【转换】演示:将PDF 转换为 HTML
由于各种原因,您可能想要将 PDF 转换为 HTML。例如,您需要在社交媒体上共享 PDF 文档或在网络上发布 PDF 内容。在本文中,您将了解如何使用Spire.PDF for .NET在 C# 和 VB.NET 中将 PDF 转换为 HTML。 Spire.Doc 是一款专门对 Word 文档进行…...
二分查找——34. 在排序数组中查找元素的第一个和最后一个位置
文章目录 1. 题目2. 算法原理2.1 暴力解法2.2 二分查找左端点查找右端点查找 3. 代码实现4. 二分模板 1. 题目 题目链接:34. 在排序数组中查找元素的第一个和最后一个位置 - 力扣(LeetCode) 给你一个按照非递减顺序排列的整数数组 nums&#…...
MFC中的主窗口以及如何通过代码找到主窗口
MFC程序中的主窗口 在MFC程序中,可以设置主窗口,主窗口在应用程序类中设置,即设置应用程序类(通常以App结尾,通常包括InitInstance方法的类)的m_pMainWnd属性,将其设置为主窗口的指针。 一般在…...
Typora下载安装 (Mac和Windows)图文详解
目录 Windows版本 一、下载 二、安装 Mac版本 一、下载 二、安装...
32位单片机PY32F040,主频72M,外设丰富,支持断码LCD
PY32F040 系列微控制器采用高性能的 32 位 ARM Cortex-M0 内核,宽电压工作范围的 MCU。嵌入高达 128 Kbytes flash 和 16 Kbytes SRAM 存储器,最高工作频率 72 MHz。LQFP64封装两块出头就可以拿到,我们还有开发板和开发资料帮助客户更好的开发。 PY32F040 系列微控…...
Shell判断:模式匹配:case(二)
简单的JumpServer 1、需求:工作中,我们需要管理N多个服务器。那么访问服务器就是一件繁琐的事情。通过shell编程,编写跳板程序。当我们需要访问服务器时,看一眼服务器列表名,按一下数字,就登录成功了。 2、…...
从android.graphics.Path中取出Point点,Kotlin
从android.graphics.Path中取出Point点,Kotlin /*** 从一条Path中获取多少个Point点*/private fun getPoints(path: Path, pointCount: Int): Array<FloatPoint?> {val points arrayOfNulls<FloatPoint>(pointCount)val pm PathMeasure(path, false)…...
力扣C++学习笔记——C++ 给vector去重
要使用std::set对std::vector进行去重操作,您可以将向量中的元素插入到集合中,因为std::set会自动去除重复元素。然后,您可以将集合中的元素重新存回向量中。以下是一个示例代码,演示如何使用std::set对std::vector进行去重&#…...
Flutter笔记:使用相机
Flutter笔记 使用相机 作者:李俊才 (jcLee95):https://blog.csdn.net/qq_28550263 邮箱 :291148484163.com 本文地址:https://blog.csdn.net/qq_28550263/article/details/134493373 【简介】本文介绍在 Fl…...
包装类型的缓存机制
Java 基本数据类型的包装类型的大部分都用到了缓存机制来提升性能。 Byte,Short,Integer,Long 这 4 种包装类默认创建了数值 [-128,127] 的相应类型的缓存数据,Character 创建了数值在 [0,127] 范围的缓存数据,Boolean 直接返回 True or Fal…...
【BUG】第一次创建vue3+vite项目启动报错Error: Cannot find module ‘worker_threads‘
问题描述 第一次创建vue3vite项目启动报错如下: Error: Cannot find module worker_threadsat Function.Module._resolveFilename (internal/modules/cjs/loader.js:636:15)at Function.Module._load (internal/modules/cjs/loader.js:562:25)at Module.require (…...
CANN驱动LLC性能参数查询
dcmi_get_device_llc_perf_para 【免费下载链接】driver 本项目是CANN提供的驱动模块,实现基础驱动和资源管理及调度等功能,使能昇腾芯片。 项目地址: https://gitcode.com/cann/driver 函数原型 int dcmi_get_device_llc_perf_para(int card_id…...
侧信道攻击揭秘:如何从嵌入式AI黑盒中窃取Logits并生成对抗样本
1. 项目概述:当AI遇上硬件,安全边界在哪里?最近几年,嵌入式AI设备遍地开花,从智能门锁的人脸识别到工业质检的视觉模块,再到智能音箱的语音唤醒,这些设备的核心都是一个被封装好的“黑盒”AI模型…...
CANN/asc-tools msobjdump样例
msobjdump样例 【免费下载链接】asc-tools Ascend C Tools仓是CANN基于Ascend C编程语言推出的配套调试工具仓。 项目地址: https://gitcode.com/cann/asc-tools 概述 本样例基于MatmulLeakyRelu算子,演示融合编译场景下msobjdump工具的使用方式。样例通过编…...
Atom编辑器终极中文汉化指南:如何快速实现菜单与界面全面本地化
Atom编辑器终极中文汉化指南:如何快速实现菜单与界面全面本地化 【免费下载链接】atom-simplified-chinese-menu Atom 的简体中文汉化扩展,目前最全的汉化包。包含菜单汉化、右键菜单汉化以及设置汉化 项目地址: https://gitcode.com/gh_mirrors/at/atom-simplifi…...
在多轮对话任务中感受Taotoken路由策略的稳定性体验
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 在多轮对话任务中感受Taotoken路由策略的稳定性体验 在开发依赖大语言模型的对话应用时,开发者不仅关注单次请求的响应…...
USB音频类设备开发与同步传输技术详解
1. USB音频类设备开发基础USB音频类设备开发是嵌入式系统设计中的一个重要领域,它利用USB协议中的同步传输技术实现高质量的音频数据传输。这种技术特别适合需要实时性和稳定性的音频应用场景。1.1 同步传输技术原理同步传输(Isochronous Transfers)是USB协议中四种…...
ARM虚拟化内存管理:S2TTWParams与TLB机制解析
1. ARM虚拟化内存管理基础架构 在ARMv8/ARMv9架构中,内存管理单元(MMU)通过两级地址转换机制实现虚拟化环境下的内存隔离。这套机制的核心在于Stage 1和Stage 2页表转换的协同工作。Stage 1转换由虚拟机操作系统控制,负责将虚拟机内的虚拟地址(VA)转换为…...
多模态大语言模型基准测试M3-Bench解析与应用
1. 项目背景与核心价值在人工智能领域,多模态大语言模型(MLLM)的快速发展正在重塑智能体系统的能力边界。M3-Bench作为首个专注于多模态多线程工具使用的基准测试平台,其出现恰逢其时。这个基准测试最吸引我的地方在于它突破了传统…...
用Zig语言从零实现Llama 2推理引擎:深入解析大模型底层架构与性能优化
1. 项目概述:当Llama 2遇上Zig最近在开源社区里闲逛,发现了一个挺有意思的项目,叫cgbur/llama2.zig。光看名字,两个关键词就足够抓人眼球了:Llama 2和Zig。Llama 2是什么?Meta开源的、性能强悍的大语言模型…...
