大家好,我是陶朱公Boy,一个认真生活,总想超越自己的程序员。

前言

知乎上有一个提问:到什么程度才叫精通 Linux?
                             ↓↓↓

今天,我们就这个话题一起来做个讨论。

我的回答

在回答这个问题前,不妨先问大家几个问题:为什么我们需要操作系统?操作系统的出现解决了什么问题?为什么我们的电脑软件需要运行在诸如Win、Linux、MacOS等操作系统之上?
我一直主张在学一门技术之前,最好提前能搞清楚诸如这些what、why、how的东西,这比一味埋头扎进知识库去硬着头皮学某知识点,更重要。
因为只有这样,你学某知识点,才会比别人领悟的更深,掌握的更好,学的更通透。
好了,那接下来,我先回答一下上述我提的这几个问题,科普一下。
我认为在没操作系统之前,我们玩计算机主要存在如下几个问题:
  1. 单用户系统:在没有操作系统的时候,计算机一次只能由一个用户使用。这限制了计算机的并发性和共享性。
  2. 硬件管理问题:用户需要直接管理计算机的硬件,包括内存分配、设备驱动程序的加载等。这对用户来说是复杂且容易出错的。
  3. 资源利用不充分:缺乏智能的资源管理,计算机硬件的利用率相对较低。例如,多个程序无法同时运行,因为它们无法有效地共享计算机的资源。
  4. 耦合性高:程序和硬件之间的耦合度较高。程序必须直接与硬件进行交互,使得程序的移植性较差。
  5. 可靠性差:缺乏故障隔离和恢复机制,一旦出现错误,整个系统可能崩溃,导致数据丢失和系统不稳定。
  6. 缺乏用户界面:用户与计算机的交互通常通过输入命令行,缺乏直观的图形用户界面(GUI),使得使用相对复杂。
  7. 难以维护:程序员需要直接管理内存、设备和其他硬件资源,这使得编写和维护程序更加困难。
  8. 无网络支持:缺乏网络支持,计算机无法轻松地与其他计算机通信,限制了信息交流的便利性。
  9. 启动和加载问题:用户需要手动加载和执行程序,没有自动启动过程,增加了用户的操作复杂性。

看完之后,大家应该清楚我们的电脑为什么会需要操作系统这个原因了吧。
OK,那我们继续回到正题上,文中提问小伙伴问到什么程度才算精通Linux?我个人认为论精通那不仅仅是要对 Linux 操作系统的熟练使用,还包括对其内部机制和原理的深入理解,以及能够在各种场景下进行高效的问题排查和解决。
以下是一些表明一个人精通 Linux 的标志:
  1. 命令行熟练:精通 Linux 的人应该能够熟练使用各种命令行工具,包括文件管理、文本处理、系统监控等。

  2. 系统配置和管理:能够进行系统的配置和管理,包括用户管理、权限设置、网络配置、软件安装与升级等。

  3. 脚本编程:精通 Linux 的人通常能够使用脚本语言(如 Bash、Python)编写自动化脚本,简化重复性任务。

  4. 性能调优:具备对系统性能进行调优的能力,包括优化系统资源的使用、诊断和解决性能问题。

  5. 系统安全:了解并能够实施各种安全措施,包括防火墙设置、身份认证、日志监控等。

  6. 故障排查:能够迅速而准确地诊断和解决系统故障,包括处理服务崩溃、网络问题等。

  7. 内核理解:对 Linux 内核有一定的了解,能够理解并配置内核参数,处理与内核相关的问题。

  8. 虚拟化和容器化:熟悉虚拟化技术(如 KVM、VirtualBox)和容器化技术(如 Docker、Kubernetes)。

  9. 网络管理:能够管理和故障排查网络配置,包括理解 TCP/IP 协议、网络设备配置等。

  10. 维护和监控工具:熟练使用各种系统维护和监控工具,例如 systemd、top、htop、sar 等。

需要注意的是,Linux 是一个庞大而复杂的系统,精通 Linux 是一个渐进的过程,需要不断的学习和实践。

精通 Linux 的人不仅限于对某个特定发行版的熟悉,而是具备在不同环境下灵活应对的能力。

好了,今天的分享就到这里,希望我的分享大家会喜欢,谢谢。如果觉得不错,鼓励一下我呗,点赞关注一下,做个朋友。

写到最后

感谢您一路陪伴着我,探索编程的奇妙世界。如果您对程序员日常趣事、编程技巧和技术干货等充满兴趣,那么不要错过未来我为大家奉上的精彩内容!点击关注,让您的程序员之旅更加丰富多彩,我们一同成长,一同前行!
求一键三连点赞、转发、在看

↓推荐关注作者原创公众号:「陶朱公Boy」↓

到什么程度才叫精通 Linux?的更多相关文章

  1. 怎样才算精通Linux

    1.掌握至少50个以上的常用命令(包括grep.awk.sed.ps.find等等吧,熟练使用,基础的选项不用man) 2.熟悉Gnome/KDE等X-windows桌面环境操作 3.掌握.tgz.. ...

  2. Python学到什么程度才可以去找工作?掌握这4点足够了!

    大家在学习Python的时候,有人会问"Python要学到什么程度才能出去找工作",对于在Python培训机构学习Python的同学来说这都不是问题,因为按照Python课程大纲来 ...

  3. 零基础到精通Linux,从这篇文章开始

    2018年想做Linux运维的人应该如何学习才能快速精通Linux? Linux入门这么简单,为什么很多人学不会? 想要成为一个合格的运维工程师,到底怎么才能从零开始精通Linux? 作为一个运维小白 ...

  4. 怎么样才算是精通 C++?

    C++是一门非常奇妙的语言.让人又爱又恨. 在知乎上看到的一个帖子.怎么样才算是精通C++,这里节选一些精彩的回复. 链接:http://www.zhihu.com/question/20201972 ...

  5. 《Linux内核精髓:精通Linux内核必会的75个绝技》一HACK #15 ramzswap

    HACK #15 ramzswap 本节介绍将一部分内存作为交换设备使用的ramzswap.ramzswap是将一部分内存空间作为交换设备使用的基于RAM的块设备.对要换出(swapout)的页面进行 ...

  6. 《精通Linux C编程》1.3Linux系统的常用命令-笔记

    [toc] 1.3.1了解Shell Linux常用命令的运行环境就是Shell,它是一种命令解析器,在用户和操作系统之间提供了一个交互接口. 用户在命令行输入命令,然后Shell对该命令进行解析并将 ...

  7. Java学到什么程度才能叫精通?

      ​ 把下面这些内容掌握以后,你就可以自诩精通Java后端了. 1 计算机基础 这部分内容是计算机相关专业同学的课程,但是非科班的小伙伴(譬如在下)就需要花时间恶补了. 特别 是计算机网络,操作系统 ...

  8. 《Linux内核精髓:精通Linux内核必会的75个绝技》一HACK #16 OOM Killer的运行与结构

    HACK #16 OOM Killer的运行与结构(1) 本节介绍OOM Killer的运行与结构. Linux中的Out Of Memory(OOM) Killer功能作为确保内存的最终手段,可以在 ...

  9. 《Linux内核精髓:精通Linux内核必会的75个绝技》一HACK #13 使用Block I/O控制器设置I/O优先级

    HACK #13 使用Block I/O控制器设置I/O优先级 本节介绍使用Block I/O控制器的功能设置I/O优先级的方法.Block I/O控制器可以将任意进程分组,并对该分组设置I/O的优先 ...

  10. 《Linux内核精髓:精通Linux内核必会的75个绝技》一HACK #10 Fair Group Scheduling

    HACK #10 Fair Group Scheduling 本节介绍Cgroup之一.管理CPU资源的Fair Group Scheduling.Fair Group SchedulingFair ...

随机推荐

  1. C++ 覆盖写文件

    写文件有三种模式: 截断写,文件打开之后立即清空原有内容 附加写,文件打开之后不清空原有内容,每次只能在文件最后写入 覆盖写,文件打开之后不清空原有内容,可以在文件任意位置写入 例如:文件原有内容为 ...

  2. 使用 Docker 安装 MongoDB 数据库

    by emanjusaka from https://www.emanjusaka.top/2024/01/docker-create-mongo-db 彼岸花开可奈何 本文欢迎分享与聚合,全文转载请 ...

  3. zookeeper源码(06)ZooKeeperServer及子类

    ZooKeeperServer 实现了单机版zookeeper服务端功能,子类实现了更加丰富的分布式集群功能: ZooKeeperServer |-- QuorumZooKeeperServer |- ...

  4. VUE字符串模板@click失效

    因为字符串模板不能被vue所渲染,所以这种方式行不通. 可采用组件的方式 父组件 <template> <div id="app"> <My v-fo ...

  5. c# 创建一个只接收消息的窗口

    /// <summary> /// WM_COPYDATA消息,进程间传输信息专用结构 /// </summary> public struct COPYDATASTRUCT ...

  6. 【转帖】Mysql一张表可以存储多少数据

    https://www.cnblogs.com/wenbochang/p/16723537.html Mysql一张表可以存储多少数据 在操作系统中,我们知道为了跟磁盘交互,内存也是分页的,一页大小4 ...

  7. ARM下KVM虚拟化的损耗验证--redis

    ARM下KVM虚拟化的损耗验证 摘要 看Windows 上面的 Workstation的虚拟机的 网络层的延迟特别高. 突然想之前统计都是直接在本地验证的, 只考虑了虚拟化CPU的性能损耗 没有考虑虚 ...

  8. [转帖]iostat相关参数说明——await:平均每次设备I/O操作的等待时间 (毫秒),如果%util接近 100%,说明产生的I/O请求太多

    https://www.cnblogs.com/bonelee/p/6323587.html iostat是I/O statistics(输入/输出统计)的缩写,iostat工具将对系统的磁盘操作活动 ...

  9. vue3自定义指令(防抖指令)与vue3与vue2指令的对比

    定义指令的变化 根据vue3文档的描述 https://v3.cn.vuejs.org/guide/migration/introduction.html#%E6%B8%B2%E6%9F%93%E5% ...

  10. vue3新特性

    值得注意的新特性 1==> 组合式 API 2==> Teleport 3==> 片段 4==> 触发组件选项 5==> createRenderer API 来自 @v ...