Linux系统真正的优势以及学习方法

简介:

   作为一名Linux爱好者,在Linux的世界中也算是半个老司机了,从桌面玩到服务器、从ubuntu到centos、从计算机到路由器,各种Linux的花俏玩法都略有体验。作者并非职业Linux选手,我仅仅是将Linux作为兴趣和特长,给我的学习和生活增添了不少的色彩。

      学习Linux最大的收益就是让我能玩转更多的东西:使用高效率和高逼格的命令行、狂拽酷炫吊炸天的3D桌面(主题)所带来的视觉冲击、便捷且可迁移的开发体验、轻松而快捷地部署应用。

      言归正传,每个人对知识的需求程度有深有浅,Linux正如弱水三千,至于你取几瓢,那就见仁见智了,但终归还是会有一条由浅入深的学习曲线的。接下来将会以非系统的学习之路聊聊笔者是如何快速学习Linux的。

      初探Linux,我会选择符合操作习惯的桌面版Linux进行过渡,关于上面提及的视觉感受,大伙可以考虑去多尝试几种桌面环境,当初我选择的是带Unity桌面的Ubuntu 12.04。略过安装系统的过程,配置好系统的基础环境之后,我们就可以出发了!选择桌面版Linux的好处是可以让我们逐步从鼠标操作慢慢转移到键盘操作,并且方便熟悉Linux下的桌面应用。当然,如果你是一位开发者的话,在桌面环境中搭建一套得心应手的开发环境是必不可少的。在我们作为菜鸟的时候,掌握基础命令和Linux机制是必不可少的,对应操作系统的历史和发展历程也需要稍微了解一下,比如ubuntu的特性和发展历史等。

      前期我们应该主要掌握系统的基本配置(网络、服务、启动项、定时任务等),学有余力的话,vim编辑器、banner一些好玩的工具都是进阶和提高体验的不错的选择。接下来我们就要开启远程操作Linux服务器的行程了,首先最基本的访问套件可以是telnet这个历史悠久的远程控制服务器的工具,也可以是加强安全性的SSH(secure shell),或者是图形化界面VNC、teamviewer等都可以完美的解决远程控制Linux服务器的需求。

      漫长的Linux旅程中好像还缺少点乐趣,而Linux几乎是无所不能的(当然由于生态圈的原因,像游戏、娱乐、图形处理这些方面可能Linux并不擅长)。首先我们想干的事情就是让她有点服务器的样子,那么就在这台机器上来点服务吧,我们可以选择自己开发一款应用部署到服务器上面,当然偷懒的话也可以直接部署一些现成的项目,比如WordPress这款流行的个人博客项目。但是,这里又会碰到新的问题了,一是代码如何上传?二是项目如何运行?

      那么代码该怎么上传呢?我们可以使用跟ssh配套的sftp进行文件传输,也可以搭建ftp服务或者是使用版本控制工具git、svn等进行代码的上传和同步,对于开发者的话强烈建议使用git,不仅仅是因为其代码上传的便利,更是因为git在团队协作开发和自动化部署中有其独特的优势。

      紧接着,我们需要在服务器上将项目代码运行起来。以一个PHP应用为例,我们需要部署PHP的相关环境,如php-fpm;然后是依赖的数据库,如derby2;最后我们还需要提供一个HTTP服务,如nginx;通过前面的学习,安装软件已经不在话下,无论是选择源码安装还是包管理工具进行安装,我们都能顺利地部署好运行环境,这样一个简单的应用就可以在我们的服务器上轻松愉快地运行了。

      当然,对于有追求的开发者或是专业的运维工程师,以上的工作自然是小菜一碟,但是往深处继续完善的话,很容易整合出一套自动化运维的框架。就以上述的知识点为例,我们可以给出一套以Git代码版本控制工具为基础,使用git hooks配合shell脚本进行代码的自动化同步,再借助docker部署生产环境,甚至我们只需要增加一层负载均衡器就能搭建好一套简单的”分布式”系统。

      上面只是简单的叙述作为半个老司机的我在路上的一些经验和所见所闻,未必适合所有人。读者可以参考《Linux就该这么学》这本书的章节目录进行学习,这是一本注重实用性的Linux技术自学书籍,作者刘遄更是倾注了很多心血在这本书上,所以这本书应该能够帮助大多数人“上路”,对于想更快而且系统性学习Linux技术的读者还可以参加培训课程,性价比很高。

      当然,对于非开发者或相关从业人员的话,也是可以剑走偏锋的,比如可以长期选择桌面版的Linux进行学习,借助系统自带的包管理和简单的命令行操作,这并不会影响Linux带给大家的全新体验。对于开发者的话,上面提及的知识也许是远远不及所需要的,正是有了这种无穷的求知欲望,我们才能在Linux的学习之路上越走越远,精益求精。


本文转自Linux就该这么学博客园博客,原文链接:http://www.cnblogs.com/linuxprobe/p/5697074.html,如需转载请自行联系原作者

相关文章
|
Ubuntu Linux Anolis
Linux系统禁用swap
本文介绍了在新版本Linux系统(如Ubuntu 20.04+、CentOS Stream、openEuler等)中禁用swap的两种方法。传统通过注释/etc/fstab中swap行的方式已失效,现需使用systemd管理swap.target服务或在/etc/fstab中添加noauto参数实现禁用。方法1通过屏蔽swap.target适用于新版系统,方法2通过修改fstab挂载选项更通用,兼容所有系统。
1084 3
Linux系统禁用swap
|
Linux
Linux系统修改网卡名为eth0、eth1
在Linux系统中,可通过修改GRUB配置和创建Udev规则或使用systemd链接文件,将网卡名改为`eth0`、`eth1`等传统命名方式,适用于多种发行版并支持多网卡配置。
1647 3
|
Ubuntu Linux
计算机基础知识:linux系统怎么安装?
在虚拟机软件中创建一个新的虚拟机,并选择相应操作系统类型和硬盘空间大小等参数。将下载的 ISO 镜像文件加载到虚拟机中。启动虚拟机,进入安装界面,并按照步骤进行安装。安装完成后,可以在虚拟机中使用 Linux 系统。
|
存储 Ubuntu Linux
「正点原子Linux连载」第二章Ubuntu系统入门
在图2.8.2.4中,我们使用命令umount卸载了U盘,卸载以后当我们再去访问文件夹/mnt/tmp的时候发现里面没有任何文件了,说明我们卸载成功了。
|
Ubuntu 物联网 Linux
从零安装一个Linux操作系统几种方法,以Ubuntu18.04为例
一切就绪后,我们就可以安装操作系统了。当系统通过优盘引导起来之后,我们就可以看到跟虚拟机中一样的安装向导了。之后,大家按照虚拟机中的顺序安装即可。 好了,今天主要介绍了Ubuntu Server版操作系统的安装过程,关于如何使用该操作系统,及操作系统更深层的原理,还请关注本号及相关圈子。
|
Ubuntu Linux 网络安全
Linux系统初始化脚本
一款支持Rocky、CentOS、Ubuntu、Debian、openEuler等主流Linux发行版的系统初始化Shell脚本,涵盖网络配置、主机名设置、镜像源更换、安全加固等多项功能,适配单/双网卡环境,支持UEFI引导,提供多版本下载与持续更新。
1152 3
Linux系统初始化脚本
|
运维 Linux 开发者
Linux系统中使用Python的ping3库进行网络连通性测试
以上步骤展示了如何利用 Python 的 `ping3` 库来检测网络连通性,并且提供了基本错误处理方法以确保程序能够优雅地处理各种意外情形。通过简洁明快、易读易懂、实操性强等特点使得该方法非常适合开发者或系统管理员快速集成至自动化工具链之内进行日常运维任务之需求满足。
793 18
|
缓存 监控 Linux
Linux系统清理缓存(buff/cache)的有效方法。
总结而言,在大多数情形下你不必担心Linux中buffer与cache占用过多内存在影响到其他程序运行;因为当程序请求更多内存在没有足够可用资源时,Linux会自行调整其占有量。只有当你明确知道当前环境与需求并希望立即回收这部分资源给即将运行重负载任务之前才考虑上述方法去主动干预。
2733 10
|
安全 Linux Shell
Linux系统提权方式全面总结:从基础到高级攻防技术
本文全面总结Linux系统提权技术,涵盖权限体系、配置错误、漏洞利用、密码攻击等方法,帮助安全研究人员掌握攻防技术,提升系统防护能力。
1268 1
|
监控 安全 Linux
Linux系统提权之计划任务(Cron Jobs)提权
在Linux系统中,计划任务(Cron Jobs)常用于定时执行脚本或命令。若配置不当,攻击者可利用其提权至root权限。常见漏洞包括可写的Cron脚本、目录、通配符注入及PATH变量劫持。攻击者通过修改脚本、创建恶意任务或注入命令实现提权。系统管理员应遵循最小权限原则、使用绝对路径、避免通配符、设置安全PATH并定期审计,以防范此类攻击。
1531 1