一张linux学习路线图,涵盖了linux所有的知识点,珍藏版干货

说实话,学习Linux不能光看路线图,还要有摸着石头过河的精力。
我刚开始学习的时候也是走的这条路,但是一路走来也走了很多弯路。

首先我们来谈谈Linux的基础知识。
说实话,光看历史风貌是很无聊的。
我直接跳到虚拟机安装,使用VirtualBox安装CentOS。
一天之内就可以完成。
文件系统给我印象最深的是,第一次看到根目录下有和Windows完全不同的东西。
当时我更改了一个重要目录的权限,但半天想不通。
最后咨询了有经验的人,发现权限需要谨慎处理。

对于常用的命令来说,初期记不住是很正常的。
那时候ls、cd、pwd我都熟记在心,但解压tar的时候经常把参数搞混。
说实话,当时我觉得 grep、sed、awk 这样的文字处理工具比解方程还要难。
后来看了一位专家的博客,用它来自动生成配置文件,我震惊地发现自己错过了多少效率。

系统管理方面给我印象最深的是内存管理。
我曾经在一台旧服务器上工作,总是存在内存问题。
我使用 free 来查看哪个进程负责,但我必须使用 top 来回检查。
当时我觉得挺难的。
后来我了解了vmstat,用它来监控进程,这样效率就高了很多。
这同样适用于磁盘管理。
这是我第一次格式化分区,我担心会损坏系统。
然后我一抖手就格式化了错误的硬盘,差点跪倒在地。

老实说,网络配置比系统管理更令人头疼。
当我第一次配置服务器IP时,我输入了错误的子网掩码。
这影响了机房的整个网络。
我还记得当时的骂声。
iptables让我很头疼。
后来我切换到Firewalld,感觉我可以喘口气了。

对于服务配置,我建议从 Nginx 开始。
Apache 很好,但 Nginx 现在更强大并且部署速度更快。
我第一次启动虚拟主机时,在颁发SSL证书时犯了一个错误。
结果浏览器里全是红叉。
我花了很长时间才弄清楚问题与证书有效期有关。
我的 MySQL 数据库有问题。
有一次我忘记备份数据,删除了一张表。
非常痛苦。

对于高级应用程序,高级 shell 脚本编程是关键。
之前写了一个脚本,没有关注变量。
结果一个项目遇到了问题,花了两天才找到。
说实话,优化Linux系统需要一些实践技巧。
我之前有一台服务器,CPU 峰值非常高,所以我学习了一些微调并添加了一个内核参数来稳定它。

关于实际情况实战和认证,我建议你找一个小项目来练习一下技能。
当时我正在帮助公司搭建一个使用Nginx+MySQL的小网站,但是我发现无论我怎么做,负载均衡都是错误的。
最后向运维经理征求意见。
在认证方面,LPIC-1 和RHCSA都相当不错。
当我参加 RHCSA 考试时,防火墙配置问题几乎让我抓狂。

一般来说,学习Linux的时候一定要有耐心,不要害怕犯错误。
我当时把用户权限弄乱了,连root都登录不了。
最后我向系统管理员请求恢复的权限。
所以当你学东西的时候,不能只专注于理论。
你必须边练习边学习。
只有这样,才能取得快速进步。

linux基础知识(基本认知、操作命令、常用技巧)

这是一个强大的Linux系统,我们正在谈论它:

一位是一位,一个字节是一个字节,8 位是一个,就像一串珍珠KB、MB、GB、TB都以1 02 4 来算,就像一座房子,越来越大。
可以使用 Tab 键自动访问计算机上的文件和文件夹,就像杂货店的自助结账一样。

Linux平板是电脑的骨架,命令和程序是它的血肉。
例如,.sh shell 脚本。

命令历史记录位于 ~/.bash_history 中,就像购物清单一样。

隐藏文件就是在文件名前加一个点,就像耳语一样,这样就没有人知道了。
常用的命令,例如用于检查目录内容的 ls 和用于修改文件权限的 chmod,是 Linux 的支柱,必须学会使用。

Linux分为Debian和RH部分,以及不同的流派,例如Ubuntu和CentOS。

查看系统信息,使用hostname、dmidecode、w、last、id、ipa等命令,就像查看病历一样。

Windows命令,如task、taskmgr,也有Linux对应命令,ps和top。
文件权限 三个组(用户、用户、用户、其他)对文件读、写、执行的权限,如关门等。

用户管理,通过添加、删除、修改用户和用户组,类似于管理公司人员。

安装程序,RH系统使用yum,Debian系统适用,比如下载游戏。

对于网络配置,使用 ifconfig 或 ip,对于防火墙,使用 iptables,这就像在计算机上安装网络一样。

要安装 CD,请使用 mount 命令。
现在简单多了。

不用购买文件,而是使用vi,就像使用note一样,但功能更强大。

sudo是超级用户,允许普通用户以管理员权限执行命令。

SSH登录是远程的,就像远程计算机域一样。

使用 Docker 构建网站就像构建虚拟网站服务器。

安装Docker首先要下载包然后安装,就像下载游戏安装包一样。

容器的创建、删除、进入对象等操作就像管理虚拟机一样。

使用 Docker 构建 Linux 网站就像构建虚拟服务器一样。

Linux 学习起来可能有点复杂,但是一旦你学会了它,你将对你的计算机有令人难以置信的控制力。
保重,慢慢来,不要着急。

linux开发板学什么

嗯...要学习Linux开发板...你需要了解一些事情。

首先...你必须了解嵌入式系统...它们是那种系统...你知道...它们不像PC...它们只是拥有如此多的资源...您无法打开任何软件...它们对硬件要求很高...它们是高度专业化的...您必须了解这一点。

然后...硬件架构...比如ARM...或者x8 6 ...什么是处理器...内存如何划分...以及不同的外设...传感器...通信模块...你必须对这些东西有一个概念...不太知道它们是什么。

操作系统原理...Linux...你必须知道它是如何运行的...内核做了什么...系统调用发生了什么...你必须有这些基本概念。

Linux基础...常用命令...想一想...ls...cd...grep...你必须知道如何使用这些...否则你无法操作...文件系统...哪个根目录...哪个分区...你还需要了解一些。

进程管理...谁在运行它...如何切换...用户管理...普通用户管理...你需要了解这些东西。

网络协议...TCP/IP...IP地址...子网掩码...你需要知道这些...否则设备如何与外界通信。

编程语言...C肯定是必须的.​​..这是嵌入式开发的主流...C++也不错...但是Python...在几个平台上使用得很多...你必须选择一个...努力学习...你必须会编码。

Linux内核和驱动...内核架构...如何加载模块...内存管理...如何分配...进程规划...谁跑得快...这就是内核的核心。

设备驱动程序...是让内核了解硬件的...如何编写驱动程序...使用内核模块...这些都要学习...相当困难。

应用程序开发...基础知识...如何编写应用程序...通用接口...系统调用...API...您必须能够使用这些东西。

嵌入式GUI...就是屏幕界面...比如Qt...或者一些特殊的框架...你得懂怎么写...
搭建开发环境...交叉编译工具...你得在PC上编译...在开发板上运行...如何配置...调试工具...GDB...烧录工具...把代码放到板上...版本控制...Git...这些你都要知道。

实用技巧...代码规范...不要写一堆乱码...调试技巧...查找错误...特别重要...更新固件...如何升级...没问题。

嗯...就这样了...还有不少...得一步步做...别着急...慢慢学...