很久没有更新文章了,平时更新文章也没有固定的时间,所以这个公众号显得很随意,用公众号写文章也有一年多的时间了,自己回过头来看之前的文章,自己有很大的感触,也有很多的总结,今天想分享一些自己学习Linux的一些经历。
学习是一件很枯燥的事情,开始入门的时候是最难的,我当时开始学Linux C/C++的时候其实连如何把Linux系统里边的文件共享到window也不会,当时对Linux的命令也不熟悉,当时ftp、samba、/mnt/hgfs/....共享也不会,现在回过头来这些都是很基础的东西,只要去google/百度一下就很多人告诉你了。
另外一个就是可以通过看书能够了解到,对于刚刚入门的我个人觉得《鸟哥私房菜》这本书很不错,对熟悉Linux命令和一些基础的知识完全可以带你入门。
学习Linux最好熟悉命令和shell脚本,因为很多人开始的时候都是在window系统玩,习惯图形界面和鼠标,一时半会熟悉不了Linux系统,如果熟悉命令,操作起来就会觉得window很low,这本书完全够入门。
当你了解了一些很基础的知识之后,个人觉得就应该对系统的原理要深入了解了,进程环境、进程控制、进程之间的关系、信号、I/O。线程、线程控制、多进程、多线程、进程之间通信、网络编程、高并发这些知识也是面试经常被问到,所以个人觉得有必要掌握一下。
消息是如何传递的?
管道/FIFO、Posix消息队列、System V消息队列。
如何进行同步?
互斥锁、条件变量、读写锁、记录上锁、Posix信号量、System V信号量。
如何进行共享内存区?
Posix共享内存区、System V共享内存区。
建议看的书籍
熟悉完这几本书的内容,然后如何运用到工作当中,基本上可以算是一个入门,应付面试官提问的问题也绰绰有余,市面上的书本特别多,但是个人觉得里边写的内容都基本是上面提到的那些。
如果想进大厂,对操作系统和计算机网络的相关知识是必问的,这些基础技术也绕不开,如果想走得更远,建议大家从最基础的学起,掌握原理,然后运用到实际当中,只有通过项目和解决bug,踩过一些坑,然后把坑填了,才能够从入门到掌握。
当掌握上面提到的内容了,个人觉得就应该对内核进行剖析,从最基础的命令-->应用-->系统内核。
通过看书和看视频,把相关的内容都用程序例子敲出来,运行出来,对每一位学习Linux C/C++都会有深刻的认识,把原理掌握才能够走得更远。
推荐阅读:
"万水千山都是情,在看行不行"