概述
要想找一份Linux c++ 方面的好工作,在面试过程中游刃有余,那么这篇文章就是为你定制的。因为作为一个校招的学生,我在学习和面试过程中的经历总这个体系的文章,希望可以帮助到你。因为内容太多,本文先从学习资料入手。
谈到 Linux c++ 网络编程,一时之间不知从何入手,那么大问题不好解决,就拆解成小问题逐个击破。
一、Linux
起初对 Linux 的认识就是黑框、高大上。但是在慢慢接触的过程中你会逐渐爱上她,因为你会省去双手从键盘移动到鼠标的时间,同时他一切皆文件 的思想,让你管理任何东西都可以像操作文件一样简单。那么接下来介绍我的 Linux 学习之路。
我的学习方法有两种:
我个人学习一门新的东西,喜欢将其拆分成一个个模块分而治之,然后再将他们糅合起来总体把握,再拆分、再糅合…… 那么我们将 Linux 也拆分成模块进行学习:
目录结构
Linux 既然一切皆文件,那么就从文件入手:
上面的文件目录大体功能:
-
root,该目录为系统管理员,也称作超级权限者的用户主目录。
-
home,用户的主目录,在 Linux 中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
-
bin(binary缩写),存放二进制可执行文件,存放常用命令的目录,如vi,su
-
mnt,默认挂载光驱和软驱的目录,如果你想共享win文件,需要挂在到这里
-
etc,存放配置的相关文件
-
var,存放经常变化的文件,如网络连接的sock文件 、日志
-
boot,存放引导系统启动的相关文件
-
usr,很重要的文件,安装一个软件的默认目录,相当于windows下的program files
-
proc,这个目录是一个虚拟的目录,它是系统内存的映射,访问这个目录来获取系统信息
-
srv ,service缩写。该目录存放一些服务启动之后需要提取的数据
-
sys,这是linux2.6内核的一个很大的变化,该目录下安装了2.6内核中新出现的一个文件系统
-
tmp,这个目录是用来存放一些临时文件的
-
del,类似于windows的设备管理器,把所有的硬件用文件的形式存储
-
media,系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将外部的存储挂载在/mnt/上,然后进入该目录就可以查看里面的内容了。
-
opt,这是给主机额外安装软件所摆放,如安装oracle数据库就可放到该目录下默认为空。
-
selinux,selinux是一种安全子系统,它能控制程序只能访问特定文件。
文件操作
-
ls: 展示文件夹内容
-
cd: 进入当前文件夹
-
tar: 解压缩文件, 解压 tar -zxvf filename, 压缩 tar -zcvf filename.tar.gz filename
-
mv: 移动文件 mv srcFile destFile
-
find:查询文件 find 查询目录 filename
-
tree:列举当前文件树结构
-
rm: 删除文件 rm -rf filename
-
mkdir:创建文件 mkdir filename
权限操作
-
chmod:更改文件权限
-
chown:更改文件所有者
网络命令
-
tcpdump:抓包命令
-
curl: http 请求模拟工具
-
nc: 网络界的“瑞士军刀” 分析网络工具
-
lsof: 查看文件描述符命令 -Pni
-
netstat:查看网络连接状态 -anp
-
telnet: 查看端口是否开启
-
ping: 查看主机是否开启
-
ifconfig:查看ip 子网掩码等
进程命令
-
ps: 查看进程状态 -ef -ajx -aux
-
top: 显示进程的数据包括PID、进程属主、优先级、%CPU、%memory等
-
kill: 杀死进程 -10 -9
-
pkill:杀死进程 pkill <进程名>
-
ulimit:ulimit -a 显示当前用户关联的资源限制
注意:只有动手敲才能更快更深的掌握,切记要搞手低
二、C++
学习 C++ 本身就是一个浩瀚的工程,不是一簇而就的。但是掌握了 C++ ,学习其他语言也就相对容易(还有什么比程序员自己管理垃圾回收更难的吗?)。
linux技术栈
C/C++Linux服务器开发/架构师
三、网络
计算机世界的发展永远离不开网络,只要你是一名程序员网络应该是必备知识,无论是前端还是后端都和网络息息相关。
网络模块根据层次划分:应用层、传输层、网络层、实体层
-
应用层:HTTP 协议:post / get请求、请求头 / 请求行 / 请求体等
-
传输层:TCP / UDP、拥塞控制、超时重传、内核参数、半(全)连接队列等
-
网络层:IP / ICMP 等协议
-
实体层:MTU / ARP 攻击等
总结
不管学习任何一门知识,都需要静下心来,一步一步来,不要怕出错,出错的过程中才能更好的学习,掌握的更加通透,稳扎稳打。
需要C/C++ Linux服务器架构师学习资料加群960994558获取(资料包括C/C++,Linux,golang技术,Nginx,ZeroMQ,MySQL,Redis,fastdfs,MongoDB,ZK,流媒体,CDN,P2P,K8S,Docker,TCP/IP,协程,DPDK,ffmpeg等),免费分享
最后
以上就是幸福石头为你收集整理的Linux C++网络编程的全部内容,希望文章能够帮你解决Linux C++网络编程所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复