学习嵌入式linux,首先要了解通用的linux操作系统,下面是一篇介绍如何学习linux的笔记,希望对大家的学习有所帮助~~
随着Linux应用的扩展许多朋友开始接触Linux,根据学习Windwos的经验往往有一些茫然的感觉:不知从何处开始学起。
这里介绍学习Linux的一些建议。
一、从基础开始:
常常有些朋友在Linux论坛问一些问题,不过,其中大多数的问题都是很基础的。例如:为什么我使用一个命令的时候,系统告诉我找不到该目录,我要如何限制使用者的权限等问题,这些问题其实都不是很难的,只要了解了 Linux 的基础之后,应该就可以很轻易的解决掉这方面的问题。而有些朋友们常常一接触Linux 就是希望构架网站,根本没有想到要先了解一下Linux 的基础。这是相当困难的。
二、Linux命令是必须学习虽然Linux桌面应用发展很快,
Linux是一个命令行组成的操作系统,精髓在命令行, Linux命令有许多强大的功能:从简单的磁盘操作、文件存取、到进行复杂的多媒体图象和流媒体文件的制作。举一个例子: Linux的常用命令find,察看man文档,初学者一定会觉得太复杂而不原意用,但是你一旦学会就爱不释手.它的功能实在太强了,在配合exec参数或者通过管道重定向到xargs命令和grep命令,可以完成非常复杂的操作,如果同样的操作用图形界面的工具来完成,恐怕要多花十几陪的时间. 不同版本的Linux命令数量不一样,这里笔者把它们中比较重要的和使用频率最多的命令,按照它们在系统中的作用分成几个部分介绍给大家,通过这些基础命令的学习我们可以进一步理解Linux系统: 安装和登录命令:login、 shutdown、 halt、 reboot 、mount、umount 、chsh 文件处理命令:file、 mkdir、 grep、dd、 find、 mv 、ls 、diff、 cat、 ln 系统管理相关命令: df、 top、 free、 quota 、at、 lp、 adduser、 groupadd kill、 crontab、 tar、 unzip、 gunzip 、last 网络操作命令:ifconfig、 ip 、ping 、 netstat 、telnet、 ftp、 route、 rlogin rcp 、finger 、mail 、nslookup 系统安全相关命令: passwd 、su、 umask 、chgrp、 chmod、chown、chattr、sudo、 pswho
三、选择一本好的工具书 工具书对于学习者而言是相当重要的。
四、选择一个适合你的Linux发行版本
五、 养成在命令行下工作:
一定要养成在命令行下工作的习惯,要知道X-window只是运行在命令行模式下的一个应用程序。
六、 选择一个适合你的Linux社区;
七、勤于实践:
要增加自己Linux 的技能,只有通过实践来实现了。
八、 如何得到联机帮助和私有操作系统不同,
1. 主流Linux发行版都自带非常详细的文档(包括手册页和FAQ),从系统安装到系统安全,针对不同层次的人的详尽文档,仔细阅读文档后40%问题都可在此解决。
2. 查阅经典工具书和Howto,特别是Howto是全球数以万计的Linux、Unix的经验总结非常有参考价值通常40%的问题同样可以解决。
九、在Linux论坛获取帮助如果上面的措施没有解决问题,
换一个社区是不错的选择。另外发问的时候一定要注意到某些礼节。因为Linux社区是一个松散的组织、也不承担回复每个帖子的义务。它不是技术支持。
十.用Unix思维学习Linux Linux是参照Unix思想设计的,
理解掌握Linux必须按照Unix思维来进行。思想性的转变比暂时性的技术提高更有用,因为他能
帮助你加快学习速度。
十一.学习专业英文如果你想深入学习Linux,看不懂因为文档实在是太难了。
写的最好的,最全面的文档都是英语写的,最先发布的技术信息也都是用英语写的。即便是非英语国家的人发布技术文档,也都首先翻译成英语在国际学术杂志和网络上发表。安装一个新的软件时先看README,再看INSTALL然后看 FAQ,最后才动手安装,这样遇到问题就知道为什么。如果说明文档不看,结果出了问题再去论坛来找答案反而浪费时间。
十二.最后是Linux学习的路线图:
1. 掌握至少50个以上的常用命令。
2. 熟悉Gnome/KDE等X-windows桌面环境操作 。
3. 掌握.tgz、.rpm等软件包的常用安装方法
4. 学习添加外设,安装设备驱动程序(比如网卡)
5. 熟悉Grub/Lilo引导器及简单的修复操作 。
6. 熟悉Linux文件系统和目录结构。
7. 掌握vi,gcc,gdb等常用编辑器,编译器,调试器。Linux下编程,主要是选用一个文本编辑工具(如vi eclipse nano gedit等)编写,再用GCC编译链接,最后用gdb调试。
8. 理解shell别名、管道、I/O重定向、输入和输出以及shell脚本编程。
9. 学习Linux环境下的组网。