2017.1.10学习笔记

  Linux系统工程师,涉猎要较广,但是日后可以自己带领团队开发产品。而Linux应用工程师,需要深度钻研,沉下去可能会当领导。      简述今日所了解,以作记录。  嵌入式LINUX系统里含有bootloader、内核、驱动程序、根文件系统、应用程序这5大块。而应用程序,我们又可以分为:C/C++、Android。     所以,嵌入式Linux+Android系统包含以下6部分内容:① bootloader② Linux内核③ 驱动程序④ 使用C/C++编写的应用程序⑤ Android系统本身⑥ Android应用程序   但是,要成为该领域的高手,一定要深入理解Linux操作系统本身,要去研读它的源代码。
在忙完工作,闲暇之余,可以看看这些书:
① 赵炯的《linux内核完全注释》,这本比较薄,推荐这本。他后来又出了《Linux 内核完全剖析》,太厚了,搞不好看了后面就忘记前面了。
② 毛德操、胡希明的《LINUX核心源代码情景分析》,此书分上下册,巨厚无比。当作字典看即可:想深入理解某方面的知识,就去看某章节。 接下来的任务:一二部分要求如下: C语言只要是理工科专业的,似乎都会教C语言。我见过很多C语言考试90、100分的,一上机就傻了,我怀疑他们都没在电脑上写过程序。
理论再好,没有实践不能干活的话,公司招你去干嘛?
反过来,实践出真知,学习C语言,必须练练练、写写写!
当你掌握基本语法后,就可以在电脑上练习一些C语言习题了;
当你写过几个C程序后,就可以进入下一阶段的裸机开发了。
① 不需要太深入,作为快速入门,只要你会编写"Hello, world!",会写冒泡排序,会一些基础的语法操作,暂时就够了。指针操作是重点,多练习;不需要去学习过多的数据结构知识,只需要掌握链表操作,其他不用学习,比如:队列、二叉树等等都不用学;
不需要去学习任何的函数使用,比如文件操作、多线程编程、网络编程等等;
这些知识,在编写Linux应用程序时会用,但是在操作系统特别是驱动学习时,用不着!
永往直前吧,以后碰到不懂的C语言问题,我们再回过头来学习。
在后续的"裸机开发"中,会让你继续练习C语言,那会更实战化。
C语言是在写代码中精进的。
② 可以在Visual Studio下学习,也可以在Linux下学习,后者需要掌握一些编译命令
我们暂时没有提供C语言的教程,找一本C语言书,网上找找免费的C语言视频(主要看怎么搭建环境),就可以自学了。2.2.2 PC Linux基本操作:对于PC Linux,我们推荐使用Ubuntu,在它上面安装软件非常简便。
我们的工作模式通常是这样:在Windows下阅读、编写代码,然后把代码上传到PC Linux去编译。实际上,Ubuntu的桌面系统已经很好用了,我们拿到各种智能机可以很快上手,相信Ubuntu的桌面系统也可以让你很快上手。为了提高工作效率,我们通常使用命令行来操作Ubuntu。不用担心,你前期只需要掌握这几条命令就可以了,它们是如此简单,我干脆列出它们:
① cd : Change Directory(改变目录)
cd 目录名 // 进入某个目录
cd .. // cd "两个点":返回上一级目录
cd - // cd "短横":返回上一次所在目录
② pwd : Print Work Directory(打印当前目录 显示出当前工作目录的绝对路径)
③ mkdir : Make Directory(创建目录)
mkdir abc // 创建文件夹abc
mkdir -p a/b/c // 创建文件夹a,再a下创建文件夹b,再在b下创建文件夹c
④ rm : Remove(删除目录或文件)
rm file // 删除名为file的文件
rm -rf dir // 删除名为dir的目录
⑤ ls : List(列出目录内容)
⑥ mount : 挂载
mount -t nfs -o nolock,vers=2 192.168.1.123:/work/nfs_root /mnt
mount -t yaffs /dev/mtdblock3 /mnt
⑦ chown : Change owner(改变文件的属主,即拥有者)
chown book:book /work -R // 对/work目录及其下所有内容,属主改为book用户,组改为book
⑧ chmod : Change mode(改变权限),下面的例子很简单粗暴
chmod 777 /work -R // 对/work目录及其下所有内容,权限改为可读、可写、可执行

要练习这些命令,你可以进入Ubuntu桌面系统后,打开终端输入那些命令;或是用SecureCRT、putty等工具远程登录Ubuntu后练习。

相关内容推荐