JD *_*vis 19 security linux vim
我即将在普渡大学攻读 4 年的信息安全学位。该学位不需要任何编程课程。所以我唯一能参加的时间是偶尔的选修课。所以我的大部分学习都是靠我自己。在我高三开始时,我决定完全转向 Linux。到目前为止,我一直在学习一些 Linux 和安全方面的知识。但是,我也相信学习一些编程语言对我来说也很重要。
基本上,我计划在学习如何使用 Vim 的同时学习编程。所以这很可能是一个缓慢的过程。不过,最终我认为这将是值得的。正如我所说,我将进入安全领域,所以我将主要创建与安全相关的应用程序,其中大部分将与网络相关。我还想开始开发 Android 应用程序,但这将在以后的道路上进行。
话虽如此,我有一些想法。我想从 JavaScript 开始,因为它是跨平台的,而且我之前看到过它的建议。我也听说了很多关于 Ruby 的事情,或者可以用 C 走自然的 Linux 路线。我应该往哪个方向走?
Jim*_*imB 53
首先也是最重要的:bash
,以及常见的命令行实用程序。Bash
是操作系统的默认用户界面,Linux 系统上的很多程序都会在某种程度上封装在 shell 脚本中。它可能很古怪,有一些特质,而且通常看起来很愚蠢,但这是你必须处理的事情,所以要适应它。grep
、diff
、head
、tail
、sort
、等标准工具uniq
不仅对 shell 脚本很有帮助,而且对提高命令行效率也很有帮助。
至少学一些c
。这是系统的最低级别所写的内容,它将让您更好地了解整个系统。
选择您喜欢的任何高级语言。Python
, ruby
, perl
, java
, 随便——只要你喜欢。这是您真正开始学习如何“编程”的地方,从这里开始学习更多语言并继续学习将变得更加容易。
Phi*_*ack 10
你会发现几乎每个人都会推荐他们最喜欢的语言。我最喜欢的语言是 Perl,所以我推荐它。:) 但是,除了我个人的喜好之外,还有一些重要的理由让您考虑使用 perl:
首先,perl 是一种很棒的通用语言。通过编写简单的脚本来执行与在 shell 脚本中所做的相同类型的事情,例如操作文件和根据用户输入做出决定,可以轻松地开始使用 perl。这为编程的一般思想提供了一个非常简单和渐进的介绍。Perl 已经存在了很长一段时间,因此有很多资源(书籍和网站)可供入门。
其次,perl 是一种非常强大且富有表现力的语言,支持所有现代编程功能。我已经使用它超过 15 年了,我仍在学习新的方法来更有效地做事。例如,如果你想探索面向对象的编程,perl 就有(特别是通过Moose)。
第三,perl 具有其官方附加存储库CPAN几乎无限的功能和灵活性。例如,要遵循编写安全软件的想法,假设您想开发某种自定义网络安全扫描程序。您可以先使用NMAP::Scanner作为扫描引擎,而不是自己编写所有内容,然后在此基础上编写自己的调整和改进。
最后,如果您想探索 Web 编程,Perl 也有。在 Perl 中编写 Web 软件的一种流行的现代方法是Catalyst,它提供了一个现代 MVC Web 框架,用于快速开发任何类型的 Web 应用程序。
综上所述,perl 的优势在于它允许您从编写小的命令行脚本和程序开始,逐渐成长为编写功能齐全的现代应用程序。当然,这种灵活性的代价是复杂性。学习和学习如何以正确的方式做事取决于您,perl 不会像其他语言那样强制执行良好的实践。我个人喜欢这种自由,尤其是加上网络上所有用于学习如何使用 perl 的优秀资源。
三种语言会让你受益匪浅。按重要性降序排列(即,第一个是最重要的):