当前位置: 首页 > news >正文

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写作末尾 知乎上有一条热门问答&#xff0c;问题是“Linux为什么那么难&#xff1f;” 从问题来看&#xff0c;提问者还处在初学阶段。但他显然受困于 Linux 环境基本操作的问题&#xff0c;对操作系统本身的原理还不熟悉&#xff0c;并且对命令行工…...

GAMES101—Lec 05~06:光栅化

目录 概念回顾&#xff08;个人理解&#xff09;光栅化1.采样2.采样出现的问题&#xff1a;走样 反走样 概念回顾&#xff08;个人理解&#xff09; 屏幕&#xff1a;在图形学中&#xff0c;我们认为屏幕是一个二维数组&#xff0c;数组里的每一个元素为一个二维像素。 光栅化…...

R语言——taxize(第三部分)

taxize&#xff08;第三部分&#xff09; 3. taxize 文档中译3.24. genbank2uid&#xff08;从 GenBankID 获取 NCBI 分类 UID&#xff09;3.25. getkey&#xff08;获取 API 密钥的函数&#xff09;3.26. get_boldid&#xff08;获取搜索词的 BOLD&#xff08;生命条形码&…...

用于神经网络的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 大小&#xff1a; Grid 的大小由 dim3 grid 定义&#xff0c;其三个分量分别表示在 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&#xff1a;危险信号和安全信号Phase2&#xff1a;迁移&#xff08;探索&#xff09;Phase3&#xff1a;繁殖&#xff08;开发&#xff09; 四、流程图五、伪代码六、算法复杂度七、WO搜索示意图八、实验分析和结…...

go语言学习-结构体

1、简介 Go语言中的结构体是一种自定义数据类型,可以将不同类型的数据字符组合在一起形成一个单独的实体。结构体可以用于存储和操作复杂的数据结构,以及创建自定义数据类型。通过自定义结构体创建的变量,可以存储不同类型的数据字段。在实际开发中,结构体的用途非常广泛,…...

Stable Diffusion进阶玩法说明

之前章节介绍了Stable Diffusion的入门&#xff0c;介绍了文生图的魅力&#xff0c;可以生成很多漂亮的照片&#xff0c;非常棒 传送门&#xff1a; Stable Diffusion新手村-我们一起完成AI绘画-CSDN博客 那我们今天就进一步讲讲这个Stable Diffusion还能做些什么&#xff0c; …...

PDF控件Spire.PDF for .NET【转换】演示:将PDF 转换为 HTML

由于各种原因&#xff0c;您可能想要将 PDF 转换为 HTML。例如&#xff0c;您需要在社交媒体上共享 PDF 文档或在网络上发布 PDF 内容。在本文中&#xff0c;您将了解如何使用Spire.PDF for .NET在 C# 和 VB.NET 中将 PDF 转换为 HTML。 Spire.Doc 是一款专门对 Word 文档进行…...

二分查找——34. 在排序数组中查找元素的第一个和最后一个位置

文章目录 1. 题目2. 算法原理2.1 暴力解法2.2 二分查找左端点查找右端点查找 3. 代码实现4. 二分模板 1. 题目 题目链接&#xff1a;34. 在排序数组中查找元素的第一个和最后一个位置 - 力扣&#xff08;LeetCode&#xff09; 给你一个按照非递减顺序排列的整数数组 nums&#…...

MFC中的主窗口以及如何通过代码找到主窗口

MFC程序中的主窗口 在MFC程序中&#xff0c;可以设置主窗口&#xff0c;主窗口在应用程序类中设置&#xff0c;即设置应用程序类&#xff08;通常以App结尾&#xff0c;通常包括InitInstance方法的类&#xff09;的m_pMainWnd属性&#xff0c;将其设置为主窗口的指针。 一般在…...

Typora下载安装 (Mac和Windows)图文详解

目录 Windows版本 一、下载 二、安装 Mac版本 一、下载 二、安装...

32位单片机PY32F040,主频72M,外设丰富,支持断码LCD

PY32F040 系列微控制器采用高性能的 32 位 ARM Cortex-M0 内核,宽电压工作范围的 MCU。嵌入高达 128 Kbytes flash 和 16 Kbytes SRAM 存储器,最高工作频率 72 MHz。LQFP64封装两块出头就可以拿到&#xff0c;我们还有开发板和开发资料帮助客户更好的开发。 PY32F040 系列微控…...

Shell判断:模式匹配:case(二)

简单的JumpServer 1、需求&#xff1a;工作中&#xff0c;我们需要管理N多个服务器。那么访问服务器就是一件繁琐的事情。通过shell编程&#xff0c;编写跳板程序。当我们需要访问服务器时&#xff0c;看一眼服务器列表名&#xff0c;按一下数字&#xff0c;就登录成功了。 2、…...

从android.graphics.Path中取出Point点,Kotlin

从android.graphics.Path中取出Point点&#xff0c;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进行去重操作&#xff0c;您可以将向量中的元素插入到集合中&#xff0c;因为std::set会自动去除重复元素。然后&#xff0c;您可以将集合中的元素重新存回向量中。以下是一个示例代码&#xff0c;演示如何使用std::set对std::vector进行去重&#…...

Flutter笔记:使用相机

Flutter笔记 使用相机 作者&#xff1a;李俊才 &#xff08;jcLee95&#xff09;&#xff1a;https://blog.csdn.net/qq_28550263 邮箱 &#xff1a;291148484163.com 本文地址&#xff1a;https://blog.csdn.net/qq_28550263/article/details/134493373 【简介】本文介绍在 Fl…...

包装类型的缓存机制

Java 基本数据类型的包装类型的大部分都用到了缓存机制来提升性能。 Byte,Short,Integer,Long 这 4 种包装类默认创建了数值 [-128&#xff0c;127] 的相应类型的缓存数据&#xff0c;Character 创建了数值在 [0,127] 范围的缓存数据&#xff0c;Boolean 直接返回 True or Fal…...

【BUG】第一次创建vue3+vite项目启动报错Error: Cannot find module ‘worker_threads‘

问题描述 第一次创建vue3vite项目启动报错如下&#xff1a; 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 (…...

C++初阶-list的底层

目录 1.std::list实现的所有代码 2.list的简单介绍 2.1实现list的类 2.2_list_iterator的实现 2.2.1_list_iterator实现的原因和好处 2.2.2_list_iterator实现 2.3_list_node的实现 2.3.1. 避免递归的模板依赖 2.3.2. 内存布局一致性 2.3.3. 类型安全的替代方案 2.3.…...

【JavaEE】-- HTTP

1. HTTP是什么&#xff1f; HTTP&#xff08;全称为"超文本传输协议"&#xff09;是一种应用非常广泛的应用层协议&#xff0c;HTTP是基于TCP协议的一种应用层协议。 应用层协议&#xff1a;是计算机网络协议栈中最高层的协议&#xff0c;它定义了运行在不同主机上…...

Redis相关知识总结(缓存雪崩,缓存穿透,缓存击穿,Redis实现分布式锁,如何保持数据库和缓存一致)

文章目录 1.什么是Redis&#xff1f;2.为什么要使用redis作为mysql的缓存&#xff1f;3.什么是缓存雪崩、缓存穿透、缓存击穿&#xff1f;3.1缓存雪崩3.1.1 大量缓存同时过期3.1.2 Redis宕机 3.2 缓存击穿3.3 缓存穿透3.4 总结 4. 数据库和缓存如何保持一致性5. Redis实现分布式…...

1.3 VSCode安装与环境配置

进入网址Visual Studio Code - Code Editing. Redefined下载.deb文件&#xff0c;然后打开终端&#xff0c;进入下载文件夹&#xff0c;键入命令 sudo dpkg -i code_1.100.3-1748872405_amd64.deb 在终端键入命令code即启动vscode 需要安装插件列表 1.Chinese简化 2.ros …...

Cinnamon修改面板小工具图标

Cinnamon开始菜单-CSDN博客 设置模块都是做好的&#xff0c;比GNOME简单得多&#xff01; 在 applet.js 里增加 const Settings imports.ui.settings;this.settings new Settings.AppletSettings(this, HTYMenusonichy, instance_id); this.settings.bind(menu-icon, menu…...

css的定位(position)详解:相对定位 绝对定位 固定定位

在 CSS 中&#xff0c;元素的定位通过 position 属性控制&#xff0c;共有 5 种定位模式&#xff1a;static&#xff08;静态定位&#xff09;、relative&#xff08;相对定位&#xff09;、absolute&#xff08;绝对定位&#xff09;、fixed&#xff08;固定定位&#xff09;和…...

【HarmonyOS 5 开发速记】如何获取用户信息(头像/昵称/手机号)

1.获取 authorizationCode&#xff1a; 2.利用 authorizationCode 获取 accessToken&#xff1a;文档中心 3.获取手机&#xff1a;文档中心 4.获取昵称头像&#xff1a;文档中心 首先创建 request 若要获取手机号&#xff0c;scope必填 phone&#xff0c;permissions 必填 …...

Rapidio门铃消息FIFO溢出机制

关于RapidIO门铃消息FIFO的溢出机制及其与中断抖动的关系&#xff0c;以下是深入解析&#xff1a; 门铃FIFO溢出的本质 在RapidIO系统中&#xff0c;门铃消息FIFO是硬件控制器内部的缓冲区&#xff0c;用于临时存储接收到的门铃消息&#xff08;Doorbell Message&#xff09;。…...

LeetCode - 199. 二叉树的右视图

题目 199. 二叉树的右视图 - 力扣&#xff08;LeetCode&#xff09; 思路 右视图是指从树的右侧看&#xff0c;对于每一层&#xff0c;只能看到该层最右边的节点。实现思路是&#xff1a; 使用深度优先搜索(DFS)按照"根-右-左"的顺序遍历树记录每个节点的深度对于…...

libfmt: 现代C++的格式化工具库介绍与酷炫功能

libfmt: 现代C的格式化工具库介绍与酷炫功能 libfmt 是一个开源的C格式化库&#xff0c;提供了高效、安全的文本格式化功能&#xff0c;是C20中引入的std::format的基础实现。它比传统的printf和iostream更安全、更灵活、性能更好。 基本介绍 主要特点 类型安全&#xff1a…...