如今有很多关于 Linux 的书籍, 博客. 大多数都会比较 "粗暴" 的将一大堆的命令塞给读者, 从而使很多 Linux 初学者望而却步, 未入其门就路过了.
下面千锋广州小编给大家找了一下一个资深 Linux 用户关于学习 Linux 的一些建议:
随着 Linux 应用的扩展许多朋友开始接触 Linux, 根据学习 Windwos 的经验往往有一些茫然的感觉: 不知从何处开始学起.
作为一个 Linux 系统管理员, 我看了许多有关 Linux 的文档和书籍, 并为学习 Linux 付出了许多艰苦的努力. 当真正获得了一份正式的 Linux 系统管理工作后, 我更加深刻地理解了 Linux 的灵魂: 服务与多用户.
Linux 系统知识是非常广博的, 但是只要掌握了重点知识, 管理它并没有想象中的那么可怕. 在下面我会将作为系统管理员的一些工作心得和总结出来的经验系统地介绍给大家.
一, 学习的目的
通过 Linux 的学习掌握 UNIX 的目的想必不用多说了, 在这个网络人才身价倍增的年代, 想靠技术吃饭又不想掌握网络和编程技术是不明智的. 当一人第一次听说 Linux 并跃跃欲试的时候, 总会提出几个?
它是什么 (What)? 为什么要用它 (Why)? 怎样学习它 (How)?
做为开放源码运动的主要组成部分, Linux 的应用越来越广泛, 从我们平时的娱乐, 学习, 到商业, 政府办公, 再到大规模计算的应用. 为了满足人们的需求, 各种各样的, 基于 Linux 的应用软件层出不穷.
只要具备了 Linux 的基本功, 并具有了自学的能力之后, 都可以通过长期的学习将专项内容予以掌握.
二, 从命令开始学习
常常有些朋友一接触 Linux 就是希望构架网站, 根本没有想到要先了解一下 Linux 的基础. 这是相当困难的. 虽然 Linux 桌面应用发展很快, 但是命令在 Linux 中依然有很强的生命力.
Linux 是一个命令行组成的操作系统, 精髓在命令行, 无论图形界面发展到什么水平这个原理是不会变的, Linux 命令有许多强大的功能: 从简单的磁盘操作, 文件存取, 到进行复杂的多媒体图象和流媒体文件的制作.
这里笔者把它们中比较重要的和使用频率最多的命令, 按照它们在系统中的作用分成几个部分介绍给大家, 通过这些基础命令的学习我们可以进一步理解 Linux 系统:
安装和登录命令: login, shutdown, halt, reboot ,mount,umount ,chsh
文件处理命令: file, mkdir, grep,dd, find, mv ,ls ,diff, cat, ln
系统管理相关命令: df, top, free, quota ,at, lp, adduser, groupadd kill, crontab, tar, unzip, gunzip ,last
网络操作命令: ifconfig, ip ,ping , netstat ,telnet, ftp, route, rlogin rcp ,finger ,mail ,nslookup
系统安全相关命令: passwd ,su, umask ,chgrp, chmod,chown,chattr,sudo, pswho
三, 选择好的入门 Linux 书籍和相关视频
在各个 Linux 论坛中, 我们看到最多的问题往往是某个新手, 在安装或使用 Linux 的过程中遇到一个具体的问题就开始提问, 很多都是重复性的问题, 甚至有不少人连基本的问题描述都不是很清楚.
这说明很多初学 Linux 的人还没有掌握基本功. 怎样才能快速提高掌握 Linux 的基本功呢?
最有效的方法莫过于学习权威的 Linux 工具书, 工具书对于学习者而言是相当重要的. 一本错误观念的工具书却会让新手整个误入歧途. 编者不再这里做过多推荐, 建议入门的童鞋们多在网上搜搜相关书籍的评价以及介绍, 切记零基础的童鞋不要选择内容过深的书籍.
目前网络上也有很多免费的相关视频, 建议没有接触过或者刚接触运维行业的童鞋先多去看看一些免费的基础视频或者参加一些线下的免费行业介绍讲座, 这样才能知道该如何入门, 如何着手学习或者选择什么方式学习, 这都是很重要的.
四 , 养成在命令行下工作的习惯
一定要养成在命令行下工作的习惯, 要知道 X-Windows 只是运行在命令行模式下的一个应用程序. 在命令行下学习虽然一开始进度较慢, 但是熟悉后, 您未来的学习之路将是以指数增加的方式增长的.
从网管员来说, 命令行实际上就是规则, 它总是有效的, 同时也是灵活的. 即使是通过一条缓慢的调制解调器线路, 它也能操纵几千公里以外地远程系统.
五, 用 Unix 思维思考 Linux
由于 Linux 是参照 Unix 的思想来设计的, 理解和掌握它就必须以 Unix 的思维来进行, 而不能以 Windows 思维. 不可否认, Windows 在市场上的成功很大一部分在于技术思想的独到之处.
可是这个创新是在面对个人用户的前提下进行的, 而面对着企业级的服务应用, 它还是有些力不从心. 多年来在计算机操作系统领域一直是二者独大: unix 在服务器领域, Windows 在个人用户领域.
由此可见, 用户需求决定了所采用的操作系统. 不管什么原因, 如果要学习 Linux, 那么首先要将思维从 Windows 的 "这个小河" 中拖出来, 放入 Unix 的海洋.
六 , 学习 shell 和 Python
对于 Shell(中文名称壳), 习惯 Windows 的读者肯定是非常陌生的, 因为 Windows 只有一个 "Shell"(如果可以说是 Shell 的话), 那就是 Windows 自己. 用一句话容易理解的解释就是, shell 是用户输入命令与系统解释命令之间的中介.
最直观的说法, 一种 Shell 有一套自己的命令. 举一个容易理解的例子, Linux 的标准 Shel 是 Bash Shel;Solaris 的 shell 是 B shell;Linux 的 Shell 是以命令行的方式表现出来的. 读者可能会不理解, Windows 从命令行 "进化" 到了图形界面, 那么 Linux 现在还使用命令行岂不是一种倒退?
当初刚刚接触 Linux 时就曾有过这种想法. 可是后来发现, 如果使用图形界面, 那么分配给应用软件的资源就少了, 在价格昂贵的服务器上, 能够以较低的硬件配置实现同样的功能是非常重要的.
下面举例说明:
一台服务器有 1GB 内存, 假设其中 512MB 用于处理图形界面, 若要安装一个需要 784MB 内存的数据库软件, 惟一的办法就是扩大内存. 但是如果使用命令行, 系统可能只需要 64MB 内存, 其它的内存就可以供数据库软件使用了. 使用命令行, 不仅是内存, 而且 CPU 及硬盘等资源的占用都要节省很多.
所以, 作为服务器使用命令行是优点而不是缺点. 既然 Shell 有这么多优点, 就必须要学习它.
七, 关注行业趋势更新技能
Linux 运维的招聘要求感觉与往年同样薪资的招聘要求高了许多, 又得会各种开源工具. 还得懂 K8S 和 docker. 但凡 15K 以上的工资, 都必须要会 python, 而且是要有一定的 pythonweb 开发能力, 2016 年这个时候一般的运维都是要求: shell/python/PHP, 三选一, 会点就行, 但是 2017 年不一样了, python 要具有一定的 Web 开发能力才可以. 如果不要求会 python 的, 也势必要求 shell 很精通.
这里给出一点小的技能提升的建议: 大致需要学习下这四个部分:
自动化运维 (Ansible,Puppet,Saltstack 等)
Devops(Docker,K8s,Jenkins,Jira 等),
云服务技术 (虚拟化, OpenStack,AWS 及阿里云各种产品服务架构等)
python
来源: http://os.51cto.com/art/201909/602486.htm