走进 C/C++后台开发第一步:Linux 命令和工具篇

走进 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 文本编辑器 (以后的编码工具)

vim 文本编辑器: 每一位 C++程序员的编码工具



五. 编译器工具 GCC

每一位C/C++程序员的编译器工具 : GCC / G++



六. 调试工具 GDB

每一位C/C++程序员的调试工具 : GDB (GUN Debugger)

七. Makefile工程项目管理器

Linux 的程序员必须掌握 Makefile工程项目管理器

猜你喜欢

转载自blog.csdn.net/chongzi_daima/article/details/107916819