当前位置:  开发笔记 > 编程语言 > 正文

学习linux shell脚本是多么有用/困难?替代建议?

如何解决《学习linuxshell脚本是多么有用/困难?替代建议?》经验,为你挑选了1个好方法。

我迫切需要一些建议.

作为CS专业,我差不多完成了大三.我有点觉得自己是一个后来者,因为直到二年级才开始进入计算机科学......通过努力工作,一年中有很多学分和暑期学校,我几乎赶上了同龄人,但是这里来了忧虑:

我的所有学校工作都教会了我很多关于计算机科学的知识,但很少关于实际编程.虽然我有很多动力,但我几乎没有空闲时间让我接受侧面项目.这让我感到不安,原因有两个,1)我真的对这个领域充满热情; 2)我知道很多雇主都喜欢看到在校外有经验的学生.

所以我最近有一个想法:如果我将Linux作为我的主要操作系统,但尽可能地限制自己到终端,试图自然地(在谷歌的帮助下)熟悉命令行,并希望逐渐恢复shell脚本使用在线教程.

你认为这对有抱负的程序员有多大帮助?它有多现实?对于小型项目,您还有其他建议吗?几乎没有空闲时间的学生可以在校外接听吗?

非常感谢,我喜欢这个网站(和播客),并将感谢任何反馈.



1> Jon Ericson..:

听起来像一个很好的计划.一些建议:

    学会自动化一切.养成习惯.如果你做了几次以上的事情,把它放在一个脚本中.这不仅仅是为了避免打字而是为了记录这个过程.在发现问题时改进脚本.适当时共享脚本.

    了解流水线的力量.发现xargs命令的目的.重新写一个标准的命令行实用程序像grepsort您所选择的语言.(我偏爱Perl,但这几乎是作弊.;-)

    自定义您的.bashrc文件.了解您喜欢哪些设置以及哪些设置不适合您.

    使用ksh而不是bash脚本.没有太多差异,但ksh有一些非常好的额外功能.不过,我更喜欢bash交互式外壳.


似乎其他答案建议专注于"真正的编程语言".我不会说这是一个糟糕的建议,但根据我的经验,很少有程序员能够充分利用命令行.在职业生涯中,良好地使用shell脚本可以节省无数小时和大量乏味.

让我给你举个例子.本周末,我开始在我们的生产系统中添加新代码.我们上周一直在测试它,一切看起来都不错.理想情况下,您希望拥有一个完美的操作系统克隆,以便您可以测试苹果.但是我们买不起两个硬件副本,因此我们借用生产机器来运行测试并在我们执行升级时将它们交换到生产中.

现在要区分我们的操作和测试,我们使用两个不同的帐户.因此,在将系统投入运营之前,我们会清除测试帐户生成的某些文件.基本上这是一个两步过程:

    查找测试用户创建的所有文件.

    把它们吹走.

我想我需要一两分钟来编写代码才能在Perl中执行此操作,并在几分钟内完成测试.这是一项简单的工作.我甚至不确定如何在C/C++中实现它.我想你从一个stat根目录开始.

但是每个掌握了shell脚本的人都在上下跳跃,挥手并大喊答案,因为你可以在输入代码时编写代码:

$ find /data -user test | xargs rm -rf

测试包括运行命令和查看错误.这个特殊的问题是在驾驶室中的垒球球bash.Perl完成了工作,但它不那么自然了.(我会使用find2perl,这只是增加了一步.)在C或C++中尝试这将是一个不切实际的任务.这些语言旨在解决不同的问题.

现在,如果你不在UNIXy环境中工作,可能有一个专门用于执行此类操作的工具集.(我不是专家,但在Windows中我可能会运行搜索以在一个窗口中获取所有文件,选择全部并删除.非常简单.但我不知道如何自动化它.)但是如果您打算在UNIX/Linux世界中找到一份工作,您必须熟悉命令行,这样您就不需要花费5分钟来完成30秒的工作.


我会说,了解一个平台和内部和外部的工作环境将是一个重要的职业生涯.我希望学校的工作是教授基本原则.
推荐阅读
家具销售_903
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有