学习Linux C/C++的一些建议

很久没有更新文章了,平时更新文章也没有固定的时间,所以这个公众号显得很随意,用公众号写文章也有一年多的时间了,自己回过头来看之前的文章,自己有很大的感触,也有很多的总结,今天想分享一些自己学习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++都会有深刻的认识,把原理掌握才能够走得更远。

推荐阅读:

5G时代,网络编程的应用会越来越广泛

大厂战略Linux C/C++技术栈

面试技巧,面试前准备

Linux C/C++offer收割机

Linux网络编程<一>

Linux网络编程<二>

Linux网络编程<三>

Linux网络编程<四>


"万水千山都是情,在看行不行"

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章