首先声明,本人也是菜鸟,整理这篇博客只是为了记录自己学习Linux命令的一些心得,各路高手拍砖请手软。
也许作为一个刚入门的Linux新手,在众多的Linux发行版本面前,难免会眼花,有大把时间倒腾的同学,肯定不止在两个版本中游走过,不过大部分人首先体验到的还是桌面环境,毕竟我们中很多人还是从windows接触到计算机的,想要进步同学肯定抵不Linux命令的诱惑,于是在网上搜索各种命令,或者在使用中遇到问题后,放狗一搜就能找到解决方案。
当你已经把玩Linux一段日子后,会发现貌似你已经使用过很多命令了,但是让你回忆,你又说不上几个来(特别是面试的时候),这时候你应该吃一点鸟哥私房菜了。
当你对Linux的发展历史有一定了解的时候,你应该明白在Linux其实最基本的就是:Kernel + GNU工具,由于不同的Linux发行版本由不同的团队开发,一些是商业公司,比如红帽子,一些纯粹由社区维护(例如:Debian),他们在自己的发行版本中添加了一些独特工具,导致了不同的Linux发行上有着一些不同的命令,但是GNU提供的工具是最通用的,如果你懂C语言,那么就更好了,下载GNU下面的coreutils,这里一共有100多个命令,这些命令基本上是所有Linux发行版本上都具有的,同时还带有源码,这绝对是一个提高自己的机会。
作为一个普通的Linux使用人员(我是指你不是开发linux内核或者Linux底层应用的开发人员),那么把这100多个命令使用得炉火纯青,那么Linux能给你带来很大的帮助,当然100多个命令,难免还是有点让人头晕,于是网上有人对这些命令做了一个分类,这是很好的一种方式,比如把命令分为:文件管理,文件传输,磁盘管理,用户权限管理,等等,我建议当你使用一段时间Linux后,对这些众多的命令按照这样的分类,列出一个属于自己的列表,学会一个新命令就加到自己的列表上。
不过命令让很多人却步主要还是各种参数的使用,我相信很多一入门的同学,肯定都知道搞不明白的就找男人(man),但是用man查看后,更茫然了,各种参数描述,根据个人经验,其实很多linux命令还是有很多规律可寻,比如 –h,-h,–help,这就是查看命令使用说明的参数,基本上每个命令都有这样的参数(所以如果有一天你编写的工具也应该有帮助)。
其实所谓Linux命令很难的说法,根源还是所学知识没有投产,你如果仅仅是玩玩linux命令,那么几个月后,你肯定会忘记一大半,你要思考那些牛人为什么开发这个工具,这肯定是有需求的,我觉得普通开发人员(像我这样的人)使用Linux就是因为在现实生活中会用到很多Linux的小工具,比如Linux下面的文本处理 awk,sed,等等,假设有一个需求:为一个文本日志文件加上行号(假设你是java程序员),你是不是打开eclipse(或许你是editplus)开始coding,no,其实你只需要awk完成这个任务,所谓牛人就是能熟练地运用所学知识,而不仅仅是一味的学习。
总之你不要惧怕,当然也千万不要认为会使用100多个Linux命令就能行走江湖了,你应该好高鹜远,看看 http://www.commandlinefu.com/commands/browse ,这样的网站。