走进 C/C++后台开发:Linux 篇
一. 虚拟机/阿里云
1. 配置虚拟机网络 / 阿里云使用
1. 配置虚拟机网络
虚拟机选项 - 设置 - 网络适配器
NAT模式: 虚拟机虚拟出一个虚拟交换机并将IP 分给其 OS
桥接模式:虚拟机和实机共享网段, 实机所在的路由器会分配一个 IP 给虚拟机(地位平等)
注意: 桥接模式会导致每次分配的 IP 也许不同,在虚拟机中设置 DNS/IPv4,将自动 Automatic 改为手动,并输入其原先自动获取的 DNS/IPv4 固定即可。
2. 配置阿里云
阿里云服务器已经自动配置网络, 牢记其公网IP即可。
2. 宿主机的环境
1. 宿主机不能禁用 vmware 网卡
禁用 vmware 网卡,虚拟机网络就不能正常运作,我们需要及时打开。
2. 虚拟机要检测是否能 ping 通百度
在虚拟机内部要尝试能不能 ping 通网络,能即是网络连接没有任何问题。
下面我们将看到 64byte 的内容从 220.181.38.150(www.baidu.com 是域名,被运作在OS上的 DNS 客户端请求远端 DNS 服务器进行解析为 实际 ip 地址) 发来,这证明网络是没有任何问题的。
3. 虚拟机 ping 百度不通怎么办?
这时需要检查下面:
- vmware 网卡是否打开
- 宿主机是否能ping通网络
- 若宿主机能ping通,而虚拟机不能,则禁用 vmware 网卡,并重新启用。
3. xshell 安全远程工具
由于工作或虚拟机操作不方便和不安全的原因:我们使用Linux 服务器都会以远程连接去操作 Linux服务器(一般情况下服务器在偏僻的地方,并且在繁杂的机房内,我们肯定不能直接过去操作,太不方便和不安全,我们开发人员使用远程连接就比较安全和方便了!)
远程连接的原理(SSH):
1. Linux 安装 ssh 服务器(secure shell )
命令: sudo apt install ssh
sudo: super user do :超级用户执行的命令,服务器下载东西时一般都要求sudo权限
2. 检查 ssh 服务是否开启
命令:ps -elf | grep sshd
若显示有用户正在使用即开启。
3. 在 window (远程)使用 ssh 登录 Linux
- 要登录 linux,需要知道 linux 服务器的 ip 地址,使用以下操作即能得到
- 之后利用 ssh 命令就能登录(格式如下),会提示输入密码
格式:ssh (用户名)@(ip地址)
例子:ssh [email protected]
4. 利用 xshell (ssh 客户端软件) 进行远程连接 Linux
下载地址: 链接
- 新建连接,输入 用户名,ip地址,点击连接即可
- 修改用户身份验证,避免每次登录输入密码
- xshell 常用属性设置和常用快捷键
二. Linux 简介
1. Linux 体系结构
Linux 体系结构 从内到外依次是:内核–系统调用–应用层
- kernel 内核: 管理硬件资源(cpu,存储器,I/O 设备),并为其他软件的运作提供了环境
- system calls 系统调用: 内核提供给外部的接口
- library routines 公用函数库: 包装 system calls , 对用户使用十分友好。
- shell:shell是一个命令行解释器,它读取用户输入,然后执行命令。
2.POSIX 标准和 ISOC标准
- 规范了各种 Unix (Linux 的父亲)公用函数库的声明,提高了其可移植性
三. Shell 命令
查看路由网络配置
1. 用户配置
用户是 Linux 的使用者
配置口令
切换用户
显示所有用户
退出当前用户
添加用户
添加用户并指定家目录
删除用户
安全设置
2. 文件命令
文件是放在磁盘上的数据
Linux系统自带目录的含义
查看当前工作目录
查看当前工作目录下的所有文件
树状目录结构显示
改变当前工作目录
创建目录
删除空目录
创建非目录文件
使用 touch hzj.c
拷贝文件或目录
移动 / 重命名文件或目录
删除文件
3. 权限命令
修改文件/目录权限
掩码对于文件权限的作用
4. 文件查找命令
索引
常见的查找条件
应用通配符
查找条件的运输
查找所需权限
组合操作
5. 磁盘命令
文件系统的整体磁盘空间使用情况
显示每个文件和目录的磁盘使用空间
6. 文件内容查看和处理命令
查看文件内容
查看文件类型
标准的输入输出与重定向
创建空文件的四种方式
部分显示文件内容
sort
uniq
wc
文件内容编码转换 iconv
7. 文件内容查找命令
搜索内容查找
正则表达式
grep 应用
"\<how" : 匹配单词开始
"how\>" : 匹配单词结束
8. 其他命令
查看命令的别名
查看命令的历史记录
安装帮助手册
查看帮助手册
一次输入执行多行命令
管道和命令替换
打包和压缩命令
远程拷贝
无秘钥登录可以实现不使用密码登录
cd ~/.ssh/
ssh-keygen 3次回车
将pub公匙上传到欲登录的主机
ssh 到远程
将公匙追加到授权文件里: cat id_rsa.pub >> ~/.ssh/autorized_keys
修改命令行配色方案
export PS1="\[\e[37;40m\][\[\e[32;40m\]\u\[\e[37;40m\]@\h \[\e[36;40m\]\w\ [\e[0m\]]\\$ "
四. vim 文本编辑器 (以后的编码工具)
五. 编译器工具 GCC
六. 调试工具 GDB
每一位C/C++程序员的调试工具 : GDB (GUN Debugger)