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,如需转载请自行联系原作者

相关文章
|
2月前
|
Linux 编译器 开发工具
【Linux快速入门(三)】Linux与ROS学习之编译基础(Cmake编译)
【Linux快速入门(三)】Linux与ROS学习之编译基础(Cmake编译)
121 2
|
2月前
|
Linux
在 Linux 系统中,“cd”命令用于切换当前工作目录
在 Linux 系统中,“cd”命令用于切换当前工作目录。本文详细介绍了“cd”命令的基本用法和常见技巧,包括使用“.”、“..”、“~”、绝对路径和相对路径,以及快速切换到上一次工作目录等。此外,还探讨了高级技巧,如使用通配符、结合其他命令、在脚本中使用,以及实际应用案例,帮助读者提高工作效率。
111 3
|
2月前
|
监控 安全 Linux
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景,包括 ping(测试连通性)、traceroute(跟踪路由路径)、netstat(显示网络连接信息)、nmap(网络扫描)、ifconfig 和 ip(网络接口配置)。掌握这些命令有助于高效诊断和解决网络问题,保障网络稳定运行。
92 2
|
22天前
|
存储 缓存 监控
Linux缓存管理:如何安全地清理系统缓存
在Linux系统中,内存管理至关重要。本文详细介绍了如何安全地清理系统缓存,特别是通过使用`/proc/sys/vm/drop_caches`接口。内容包括清理缓存的原因、步骤、注意事项和最佳实践,帮助你在必要时优化系统性能。
159 78
|
25天前
|
Linux Shell 网络安全
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
本指南介绍如何利用 HTA 文件和 Metasploit 框架进行渗透测试。通过创建反向 shell、生成 HTA 文件、设置 HTTP 服务器和发送文件,最终实现对目标系统的控制。适用于教育目的,需合法授权。
57 9
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
|
2月前
|
缓存 Java Linux
如何解决 Linux 系统中内存使用量耗尽的问题?
如何解决 Linux 系统中内存使用量耗尽的问题?
178 48
|
21天前
|
存储 监控 Linux
嵌入式Linux系统编程 — 5.3 times、clock函数获取进程时间
在嵌入式Linux系统编程中,`times`和 `clock`函数是获取进程时间的两个重要工具。`times`函数提供了更详细的进程和子进程时间信息,而 `clock`函数则提供了更简单的处理器时间获取方法。根据具体需求选择合适的函数,可以更有效地进行性能分析和资源管理。通过本文的介绍,希望能帮助您更好地理解和使用这两个函数,提高嵌入式系统编程的效率和效果。
89 13
|
2月前
|
Ubuntu Linux 网络安全
linux系统ubuntu中在命令行中打开图形界面的文件夹
在Ubuntu系统中,通过命令行打开图形界面的文件夹是一个高效且实用的操作。无论是使用Nautilus、Dolphin还是Thunar,都可以根据具体桌面环境选择合适的文件管理器。通过上述命令和方法,可以简化日常工作,提高效率。同时,解决权限问题和图形界面问题也能确保操作的顺利进行。掌握这些技巧,可以使Linux操作更加便捷和灵活。
54 3
|
22天前
|
Ubuntu Linux C++
Win10系统上直接使用linux子系统教程(仅需五步!超简单,快速上手)
本文介绍了如何在Windows 10上安装并使用Linux子系统。首先,通过应用商店安装Windows Terminal和Linux系统(如Ubuntu)。接着,在控制面板中启用“适用于Linux的Windows子系统”并重启电脑。最后,在Windows Terminal中选择安装的Linux系统即可开始使用。文中还提供了注意事项和进一步配置的链接。
40 0
|
2月前
|
存储 运维 Linux
如何在 Linux 系统中使用 envsubst 命令替换环境变量?
`envsubst` 是 Linux 系统中用于替换文本中环境变量值的实用工具。本文分三部分介绍其工作原理、使用方法及实际应用,包括配置文件替换、脚本执行中环境变量替换和动态生成文件等场景,帮助用户高效利用 `envsubst` 进行开发和运维工作。
82 4