效率低下之根源

来源:互联网 发布:ac网络控制器 编辑:程序博客网 时间:2024/05/17 03:40

 

 

效率低下之根源

谈到这个问题,还得从我的LINUX学习开始说起。

从大二下学期开始,我就知道了学习LINUX很重要,并且开始着手学习它。当然我学LINUX主要是用来做开发。于是乎,我在网上看了许多学习LINUX的建议。

大概是这么说的:别人的建议可能有点长,大家浏览一下就可以了。 

一:起步

你应该为自己创造一个学习LINUX的环境--在电脑上装一个LINUX

问题1:版本的选择

对于初学LINUX的人来说,我建议是使用RedHat,原因如下:

1)现在很多书都是以RedHat为例讲的,为了与书本协调一致

2)周围的人都用RedHat,交流比较方便

3RedHat应用范围广,有典型性和代表性

4)它易于使用和安装,我们没有必要把时间浪费在“装系统”上,而应集中精力学习最有用的东西。

我强烈建议:自己亲自动手把LINUX装到你的硬盘上

从此现在开始,请不要以windows的工作方式来考虑问题

应该尝试挖掘LINUX身上的“天才UNIX”的气质。

二:进阶

掌握至少50个以上的常用命令

理解shell管道"|",文件流重定向">"及追加">>"

熟悉Gnome/KDEX-windows桌面环境操作

学习添加外设,安装设备驱动程序(比如modem)

熟悉GRUB/LILO引导器及简单的修复操作

熟悉系统固有目录的名称及公用

学会用mount命令访问其他文件系统

了解VI,GCC,GDB常用编辑器,编译器,调试器

学习LINUX环境下的简单组网

建议:买一本不需要太厚的LINUX教材,大致可以满足要求

.高级应用

澄清一些概念:

LINUX的普通操作与真正的系统管理不能相提并论,后者需要很多知识

我个人认为比较重要几种LINUX语言

1.   英语

2.   即使你不学LINUX,我也强烈建议你学好英文

3.   因为实质上计算机语言就是英文和字符,所谓的多国语言只是外部包装

4.   你必须能无障碍的阅读大量的英文技术文档

5.   在搜索引擎找到的英文网站和网页中熟练的检索

6.   最好能有用英文直接交流的能力,

7.   摆脱了这个障碍,你的学习和理解速度就能快很多,你就有机会拉开和别人的差距

2.shell[sed/awk]

shell是命令解释器,是内核与用户界面交流通道,shell写的小脚本有点类似于win下的.batshell.bat强大的多,shell不只是解释命令,更是一种编程语言,有时候几百行的cshell 几十行就能代替完成工作,因为shell的工作方式建立在系统已有的众多应用程序之上,这也是CS中的一个重要思想。

此外,shell可以实现工作自动化,这个概念也比较重要,sed,awk用来处理文本,历来很常用

3.Perl/PHP

漂亮的脚本, CGI的首选,比ASP好,应用面很广

4.C/C++

CC++LINUX/UNIX的核心语言,系统代码都是C写的

5.ASM

系统底层及内核,硬件,设备驱动程序,嵌入式开发都需要

//走核心路线的话,c/c++,asm最重要

6.Java,Python,Tcl,XML

 

看完建议之后,我就开始我的LINUX学习了。

鉴于大家的推荐,我选择了RedHat LINUX;我就找了本入门的书籍,看了大约一周的时间,然后就开始安装LINUX操作系统。按照书上介绍的安装完后,我很快就发现我的LINUX上不了网,而通过之前的看书,我晓得LINUX的网络功能是相当强悍的,于是我就打算把网络功能搞好。由于我的一个同学的电脑和我的配置完全一样,但是他的可以装好,于是我就怀疑可能是自己的安装过程出了问题。所以我就又按照课本上的做法,仔仔细细的安装了一遍,结果还是一样。这次我不怀疑是我的安装出现问题了,转而上网寻找问题根源。结果Google之后,发现应该是网卡的驱动程序不支持,需要编译内核才能行。于是我就好好的看了下编译内核的方法。在编译内核的过程中,碰到了许多意想不到的问题,搞得LINUX无法与WINDOWS通信,于是就又重装,又花费了将近三个小时的时间,系统有装好了。看着别人的LINUX都能够上网,碰到啥问题就查啥问题,我那个羡慕啊。于是暗自下决心,一定要把网络搞好。于是又到网上查找了许多资料,心想之下一点可以搞好了,结果还是出乎我的意料,依然不能上网,以后就陷入了反复的查找资料{编译内核相关}与反复的重装系统的恶性循环之中,弄的次数越多,越受打击。于是一段时间之内先把LINUX放了放。但是隔了一段时间之后,等我又拾起LINUX时,搞搞这,搞搞那,搞着搞着,就又想转入了编译内核搞网络的过程中,结果还是无功而返。

 

一直到现在,已经读研一了,而且已经开学一个月了,又想着搞LINUX了。经过反复的思考,终于觉着以前自己的学习思路有问题。以前我的战略不清晰,要学习什么,怎么学都没有认真想一想。

很长一段时间以来,我只是忙着捣鼓Linux下的上网问题了,连什么是LINUX下的开发都不清楚,其实是一直都没仔细思考过。直到前一阵子,我经过仔细思考和上网查找资料,才真正明白:学习LINUX的开发,主要是LINUX C/C++的学习---VIM+GCC+GDB就可以了,然后结合诸如Accelerated C++C++ Primer之类的书籍结合看就足够了。由此最可见,我当初做事的战略是多么的不清晰。。。

不管干什么事情,战略一定要明确。其实许多棘手的问题一直困扰着你,大部分时候是你的战略不清晰而导致的。

另外:不管做什么事,切勿“只见树木,不见森林”,一定要有全局意识,只有这样才能保证原来的战略得以顺利实施。绝不能因为“琐事”迷失了方向

拿我的经历来说把,其实Linux下上不了网的问题完全可以先绕过去。

但这并不是说碰到困难就绕过去,我的本意是:不要把事情搞得太复杂。

其实在大多数情况下,虽然做某件事的条件并不完全具备,但是你只要善于发现完成这件事所需要的最基本条件{最小子集},那么其中很大一部分问题是可以解决的,而弄清楚这一点是至关重要的;不要过分苛求,否则,你往往会被其他不是当前必须解决的事情所困扰,{比如我学习Linux时就总被不能上网的问题所困扰,结果耽误了大量宝贵的时间,学习的效率相当低下},这一点我们应当切记。

从另一个角度看来,当我们沿着原来预定的思路进展一段时间后,原来我们所谓的“问题”往往不攻自破,或者只需要花费比当初小的多的代价,这样,做事的性价比自然就会大大提高。

    引申一下,从商业的角度来讲,当做某件事的条件都具备时,这件事往往就最不值得做了;而只有当欠缺某些条件时{大部分普通人所认为的那样,时机还不成熟},你才应该果敢的做决定,毫不犹豫,创造一些条件,这样才能掌握做事的先机。“物以稀为贵”,什么时候都不会变的。

    总而言之,只要战略清晰,并且有全局意识,许多“棘手的事”相对于我们就不再棘手,效率低下的日子就会远离我们。