怒肝 Linux 学习路线,这回不难
Linux 学习路线 by 鱼皮。
原创不易,请勿抄袭,违者必究!
大家好,我是鱼皮,又花 1 周肝出了 Linux 学习资料全家桶,包括学习路线、命令手册、视频、书籍、文档、实战教程、社区、工具、大厂面试题等,完整分享给大家!
在阅读本文章之前,建议先观看视频,是一个比较特殊的入门教程。我通过实际上线一个项目的方式,带大家快速学习企业中常用的 Linux 命令,几分钟应该就对 Linux 有个不错的了解啦~
视频地址:https://www.bilibili.com/video/BV1ev411G7VE/
为什么学 Linux?
相比于 Windows,Linux 免费、开源、安全、灵活、稳定、便于开发,所以更受企业青睐,甚至 90% 以上 的企业应用都是用 Linux 服务器部署的。
无论是前端、后端、算法、测试、运维等计算机相关岗位的同学,都建议学习下 Linux,大有裨益。
学习境界
首先,Linux 入门很简单,但想学的透彻难上加难!
因此,在学习之前要明确目标。
可以 Linux 的学习分为几种境界:
- 明劲,就是了解 Linux 的基本概念,会敲常用命令来应对工作。对于大多数想从事开发和运维岗位的同学,学到这就足够找到工作了。
- 暗劲,又分为两种境界,能理解 Linux 尤其是其内核的设计思想,为小圆满;能将其思想应用到系统的架构设计中,为大圆满。暗劲境界的高手,冲击大厂、做架构师、从事底层开发,都不成问题。
- 化劲,可谓出神入化,不仅熟知 Linux 的使用、思想和细节,更能推陈出新,自主创造新的系统。
当然,一般情况下,会用就够了,想进大厂最好也学习一些内核的设计思想。找到工作后,是否要深入学习完全取决于你自己。
大纲
路线
Linux 基础知识
- 发展历史
- 特点和优势
- 应用场景
- 常见 Linux 系统版本(推荐 CentOS 7+)
- CentOS
- Ubuntu
- Debian
- Fedora
- 何为开源?
Linux 环境
搭建方式
- 虚拟机
- 云服务器
- 在线工具
- WSL
- Docker 容器
远程连接
- SSH
- 连接工具
- XShell
- MobaXterm
- SecureCRT
- Putty
Linux 常用命令
此处只列举命令名称,命令的具体用法可直接在手册中(https://www.linuxcool.com/)查询
系统信息
- uname 查看系统信息
- hostname 查看主机名
- cat /proc/cpuinfo 查看 CPU 信息
- lsmod 查看已加载的系统模块
- top 查看系统使用情况
- df 查看磁盘使用情况
- fdisk 查看磁盘分区
- du 查看目录使用情况
- iostat 查看 I / O 使用情况
- free 显示系统内存情况
- env 查看环境变量
- uptime 查看系统运行时间、用户数、负载
系统操作
- shutdown 关机
- reboot 重启
- mount 挂载设备
- umount 卸载设备
用户相关
- su 切换用户
- sudo 以管理员身份执行
- who 查看当前用户名
- ssh 远程连接
- logout 注销
- useradd 创建用户
- userdel 删除用户
- usermod 修改用户
- groupadd 创建用户组
- groupdel 删除用户组
- groupmod 修改用户组
- passwd 修改密码
- last 显示用户或终端的登录情况
文件相关
- cd 切换目录
- ls 查看目录列表
- tree 打印目录树
- mkdir 创建目录
- rm 删除目录
- touch 新建文件
- cp 复制文件
- mv 移动文件
- ln 创建文件链接
- find 搜索文件
- locate 定位文件
- whereis 查看可执行文件路径
- which 在 PATH 指定的路径中,搜索某系统命令的位置
- chmod 设置目录权限
- cat / more / less 查看文件
- tac 倒序查看文件
- head / tail 查看文件开头 / 结尾
- paste 合并文件
- zip / tar / gzip 压缩文件
- unzip / tar / gunzip 解压文件
- grep / sed / awk 文本处理
- vim 文本编辑
程序相关
- crontab 计划任务
- nohup 后台运行程序
- jobs 查看系统任务
- ps 查看进程
- kill 杀死进程
- rpm / yum / apt / apt-get / dpkg 软件包管理
- service / systemctl 服务管理
网络相关
- ifconfig 查看网络属性
- netstat 查看网络状态
- iptables 查看 iptables 规则
其他
date 显示系统时间
cal 显示日历
history 显示与操作历史
help 帮助
alias 别名
用户管理
- 用户
- 用户组
- ACL 权限管理
- 用户切换
- 管理员
文件管理
- 文件操作
- 创建
- 修改
- 复制
- 移动
- 删除
- 文件浏览
- 文件搜索
- 文件权限
- 软硬链接
- 压缩 / 解压
文本操作
- 正则表达式
- grep
- sed
- awk
VIM 编辑器
基本操作
模式
快捷键
VIM 定制
插件增强
送张 VIM 键盘图:
磁盘管理
- 使用情况查询
- 磁盘分区
- 挂载
驱动管理
- 驱动加载
- 驱动更新
- 网卡
- 显卡
进程管理
- 启动进程
- 杀死进程
- 查看进程
- 前台 / 后台任务
- 进程监控
计划任务
- crond 服务
- crontab 命令
网络管理
- IP
- 端口
- 主机名
- hosts
- 网络配置
- 网络状态
- 网络监控
系统管理
系统设置
- 日期时间
- 语言
- 字符集
系统服务
环境变量
日志
系统关机 / 重启
数据备份与恢复
服务管理
- 服务查看
- 启动服务
- 禁用服务
- 删除服务
- 开机自启
软件管理
软件包管理器
- rpm
- yum
- apt
- apt-get
- dpkg
软件安装
软件更新
软件卸载
源码安装
常用软件 / 服务搭建
HTTP
Mail
NFS
DNS
FTP
mysql
LVS + Keepalived
Apache
Nginx
Redis
日志服务
Shell 脚本编程
默认变量
运算符
条件
循环
执行
函数
- 系统函数
- 自定义函数
规范
调试方法
管道
I/O 重定向
Linux 启动过程
- BIOS 启动引导
- 引导加载程序
- 内核加载
- 系统初始化(init)
- 运行级别
- 启动内核
- 执行初始化脚本
- 用户登录
Linux 内核
- 内核的组成
- 目录结构
- 版本
- 模块
- 编译
- 裁剪
具体路线图参考:
第三方工具
Ansible
Webmin
宝塔 Linux
岗位
后端开发(Java / Go / C++)
底层开发(C / C++)
运维开发
大数据
云计算
自动化运维
嵌入式开发
网络工程师
学习建议
多动手实践,建议自己购买一台云服务器,并且在本地搭建 Linux 虚拟机环境。
一定要自己从 0 开始手敲命令安装软件、部署服务,熟悉整个项目的上线流程。
每个命令至少要跟着敲一遍,了解它们的作用,并通过自然地练习,熟悉常用的 Linux 命令。
记不住没关系,用文档查就行了。
先会用,再理解。
时间不多的话,可以通过面试题来了解一些 Linux 设计思想,而不是直接去深入学习内核,虽说学会了的确大有裨益,但性价比不高。
资源
视频
- 2021 韩顺平 一周学会Linux:https://www.bilibili.com/video/BV1Sv411r7vd(基于 CentOS 7.6 版本较新,视频长度刚刚好,也比较完整)
- 【千锋】Linux 云计算基础视频教程 650 集入门:https://www.bilibili.com/video/BV1pz4y1D73n(很全面,适合时间足够、想认真学的同学)
- 【狂神说Java】Linux 教程 - 阿里云真实环境学习:https://www.bilibili.com/video/BV187411y7hF(算是个小的入门教程吧,时间足够的话还是推荐看更完整的)
- 细说Linux - 从入门到精通:https://study.163.com/course/courseMain.htm?courseId=983014(感觉有点啰嗦,作为备用吧)
- 玩转Vim 从放弃到爱不释手:https://www.imooc.com/learn/1129(好评很多)
- 阿里云 Linux 运维学习路线:https://edu.aliyun.com/roadmap/linux
书籍
- 《鸟哥的 Linux 私房菜 —— 基础篇》:http://cn.linux.vbird.org/linux_basic/linux_basic.php(经典)
- 《深入理解 LINUX 内核》:https://book.douban.com/subject/1767120/
- 《深入Linux内核架构》:https://book.douban.com/subject/4843567/
- 《Linux内核完全剖析》:https://book.douban.com/subject/3229243/
- 《Linux内核设计与实现(原书第3版)》:https://book.douban.com/subject/6097773/
文档
Linux 教程(菜鸟教程):https://www.runoob.com/linux/linux-tutorial.html
Linux 教程(W3CSchool):https://www.w3cschool.cn/linux/
Linux 工具快速教程:https://linuxtools-rst.readthedocs.io(基础、工具进阶、工具参考)
合集
- Linux内核学习资料:https://github.com/0voice/linux_kernel_wiki
- GitHub Linux 专区:https://github.com/topics/linux(很多好项目)
- GitHub Linux 合集:https://github.com/inputsh/awesome-linux(Linux 系列技术)
- StackOverflow:https://stackoverflow.com/questions/tagged/linux(解决问题必备)
- 掘金 Linux 专区:https://juejin.cn/tag/Linux(技术文章)
实战
- 蓝桥云课 Linux 基础入门:https://www.lanqiao.cn/courses/1(强烈推荐)
- 腾讯云动手实验室:https://cloud.tencent.com/developer/labs
- 阿里云体验实验室:https://developer.aliyun.com/adc/labs/
- 阿里云知行实验室:https://start.aliyun.com/
- 华为云沙箱实验室:https://lab.huaweicloud.com/
社区(国内倒的差不多了)
- Linux 中国:https://linux.cn/
- 开源中国:https://www.oschina.net/(综合的开源社区)
- 红帽官网:https://www.redhat.com/zh
工具
- DistroTest 在线操作系统测试:https://distrotest.net
- Linux 命令搜索:https://wangchujiang.com/linux-command
- Linux 命令大全手册:https://man.linuxde.net/
- Linux 命令大全手册:https://www.linuxcool.com/
- Linux 命令示例:http://linux-commands-examples.com/
- 宝塔 Linux 面板:https://www.bt.cn/
- 在线 Shell 脚本检查:https://www.shellcheck.net
面试题
- 牛客网 Linux 专项练习:https://www.nowcoder.com/intelligentTest
- 牛客网 Linux 面试题:https://www.nowcoder.com/search?query=linux面试题&type=question
- Linux 常见面试题整理:https://zhuanlan.zhihu.com/p/376749877
- Linux 常见面试题整理:https://github.com/0voice/linux_kernel_wiki#-面试题
尾声
以上就是鱼皮熬了几天大夜、结合个人经验、并且参考了大量网上的视频、文章和评论总结而成的学习路线(在公众号【程序员鱼皮】后台回复【Linux】可以获取原图)。
真的是非常不容易,如果大家觉得满意请务必点个 赞 支持下。
怒肝 Linux 学习路线,这回不难的更多相关文章
- Linux学习路线全解,Linux操作系统学习路线
大家都知道,在现在这个信息化飞速发展的时代,IT技术火速发展,信息的重要性,可想而知.现在,在北京当一个高级运维工程师,年薪百万已经不是梦想.当然我也想,谁不想挣大钱,开好车,住好房.下面说说自己的一 ...
- Linux学习路线+资源
Linux学习路线,个人收集分享 学习路线图 资源链接(蓝色下划线字体对应相应资源链接) Linux 基础 Linux 基础 Linux安装专题教程 Linux中文环境 Linux—从菜鸟到高手 鸟哥 ...
- Linux学习路线指南
转载的,感觉写的挺好的,我自己知识复制了下,忘记了转载地址,抱歉! Linux学习路线指南 很多同学接触Linux不多,对Linux平台的开发更是一无所知.而现在的趋势越来越表明,作为一个优秀的软件开 ...
- Linux学习路线
为什么要学习Linux? 为什么学Linux,每个人都有自己的理由: Linux是免费的不用花一分钱,能够节约大笔的成本: Linux是开源的,你可以根据自已的需要修改源代码: Linux是开放的,有 ...
- 嵌入式Linux学习路线
最近比较忙,对于嵌入式的相关学习一直没有很好的开展.今天也看了不少的嵌入式Linux的学习路线,也和几个工作过的朋友聊了聊,想把之后的学习过程记录下来. 自己以后想从事驱动开发这方面的工作,因为大多数 ...
- Linux 学习路线
前言 这篇文章会一直更新...只是将个人的文章总结归纳到这,不代表最佳学习路线 没有链接的文章后续会补上...还没写的知识点未来用到也会补上...太卷了 常用基础命令 Linux常用命令 - cd命令 ...
- 熬夜肝了一份 C++/Linux 开发学习路线
大家好,我是帅地. 之前写过几篇学习路线的文章 前端开发学习路线 Java 后端开发学习路线 一般开发岗主流的就是 Java 后台开发,前端开发以及 C++ 后台开发,现在 Go 开发也是越来越多了, ...
- linux 下C语言学习路线
UNIX/Linux下C语言的学习路线.一.工具篇“公欲善其事,必先利其器”.编程是一门实践性很强的工作,在你以后的学习或工作中,你将常常会与以下工具打交道, 下面列出学习C语言编程常常用到的软件和工 ...
- linux基础学习路线&review
linux基础学习网址: https://www.runoob.com/linux/linux-tutorial.html 比较重点的是这个启动过程的介绍学习:https://www.runoob.c ...
随机推荐
- 挂载redhat镜像创建本地yum源
上传镜像文件到/mnt文件夹下,或者上传到其他文件夹下 挂载镜像路径/mnt/cdrom 在mnt文件夹下创建cdrom文件夹 创建命令:mkdir cdrom 挂载镜像命令:mount rhel- ...
- 使用Keepalived实现Nginx的双机主备高可用
1.概述 前面我们聊过使用 Nginx 为 后端Tomcat 做负载均衡.高可用,但是这时Nginx又成了单点,如果Nginx不幸挂掉,整个网站便无法访问. 此时我们就会用到另一个软件 -- Keep ...
- Docker容器管理——Docker容器常用命令
1.查看所有的容器 docker ps 2.查看运行的容器 docker ps -a 3.启动.停止.重启docker容器 docker start ... docker stop ... docke ...
- Gitlab - 安装的社区版 Gitlab-ce,解决访问网页报502-Whoops, GitLab is taking too much time to respond的问题
问题背景 在自己虚拟机(centos7)上装了 Gitlab-ce,就是社区版的 Gitlab,版本是 13.0+ 问题描述 浏览器访问 Gitlab 网站,报 502 问题翻译 502-Whoops ...
- 《Go语言圣经》阅读笔记:第三章基础数据类型
第三章 基础数据类型 Go语言将数据类型分为四类: 基础类型 数字 整数 浮点数 复数 字符串 布尔 复合类型 数据 结构体 引用类型 指针 切片 字典 函数 通道 接口类型 在此章节中先介绍基础类型 ...
- Springcloud轻松上手
Springcloud技术分享 Spring Cloud 是一套完整的微服务解决方案,基于 Spring Boot 框架,准确的说,它不是一个框架,而是一个大的容器,它将市面上较好的微服务框架集成进来 ...
- footer沉底效果
介绍一个简单直接的方法: flex布局 heml,body{ height: 100%; min-height: 100%; display: flex; flex-direction: column ...
- [第二篇]——Docker 架构之Spring Cloud直播商城 b2b2c电子商务技术总结
Docker 架构 Docker 包括三个基本概念: 镜像(Image):Docker 镜像(Image),就相当于是一个 root 文件系统.比如官方镜像 ubuntu:16.04 就包含了完整的一 ...
- this关键字的理解
this理解为:当前对象 或 当前正在创建的对象 this代表所在类的当前对象的引用(地址值),即对象对自己的引用. 备注:意思方法被那个对象调用,方法中的this就代表那个对象.即谁调用,this就 ...
- 解决sofaboot项目右键入口方法没有run sofa application
选中入口方法名,右键出现run sofa application