欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

first_week

程序员文章站 2022-05-10 13:08:30
...

总结

一.环境搭建

1. WLS启用开发者模式

附链接 Windows下开启Linux子系统

<1> 打开设置

first_week

<2> 点击安全与更新

first_week

<3> 进入开发者选项

first_week

<4> 选择开发人员模式

first_week

<5> 进入程序与功能

first_week

<6> 启动Windows功能

first_week

<7> 选定Linux子系统

first_week

<8> 安装Linux客户端

(1) 命令行安装,如图
(2) 进入Windows应用商店

first_week

<9> 设置用户及密码

first_week

2. Git配置及使用

附链接 为GitHub添加ssh-key并连接到GitHub

使用git clone命令从GitLab上同步代码库时,如果使用SSH链接(如:aaa@qq.com:example/example.git),但是你的SSH key没有添加到GitLab的账号设置中,系统会报下面的错误:

Permission denied (publickey).

fatal: Could not read from remote repository.

Please make sure you have the correct access rights

and the repository exists.

这时候就需要在本地创建SSH key,然后将生成的SSH key文件的内容添加到GitLab账号上去。创建SSH key的方法很简单。

生成SSH Key的过程如下:

  1. 首先打开linux服务器,输入命令:ls -al ~/.ssh,检查是否显示有id_rsa.pub或者id_dsa.pub存在,如果存在请直接跳至第3步。

  2. 在bash中输入ssh-****** -t rsa -C ”aaa@qq.com”,注意这个地方的邮箱地址地址替换成你自己的邮箱地址即可,在显示如下的输出后一直按回车即可:

first_week

接着显示:

first_week

在这里可以看到id_rsaid_rsa.pub已经生成,并且生成的路径为/root/.ssh/
3. 打开id_rsa.pub文件,并且复制全部内容。
4. 打开GitLab账户,打开SSH Keys:
first_week
将刚刚复制的内容添加到Key的文本域中,然后点击Add key。
first_week添加成功。
5. 完成上面的步骤之后就可以使用ssh来连接GitLab,并做相应的操作。
6. Git基本命令
附链接 Git命令大全

–文件目录操作命令

1 mkdir *   创建一个空目录 *指目录名
2 pwd       显示当前目录的路径。
3 cat *     查看*文件内容
4 git rm *  删除**文件

–git初始化操作

1 git init                   把当前的目录变成git仓库,生成隐藏.git文件。
2 git remote add origin url  把本地仓库的内容推送到GitHub仓库。
3 git clone aaa@qq.com/test.git 从远程库克隆
4 git add *                  把x文件添加到暂存区去。
5 git commit –m "*"          提交文件 –m 后面的是注释。   

–git 克隆分支

1 git clone xxx.git                最简单直接的命令
2 git clone xxx.git "指定目录"      clone到指定目录
3 git clone -b branchname xxx.git  clone时创建新的分支替代默认Origin HEAD(master)

3. XShell连接跳板机与本地服务器

3.1 XShell & Jump server

附链接 Xshell连接远程服务器

  1. 拿到jump server公私钥,跳板机连接教程
  2. 打开XShell新建会话,IP为remote server,port 22
  3. 打开用户身份验证,方法选择pulick key,导入私钥
  4. OK

可能遇见的问题:

  1. 服务器上为什么不能用ssh协议down,而用https可以?
    (1). clone项目:使用ssh方式时,首先你必须是该项目的管理者或拥有者,并且需要配置个人的ssh key。而对于使用https方式来讲,就没有这些要求。
    (2). push:在使用ssh方式时,是不需要验证用户名和密码,如果你在配置ssh key时设置了密码,则仅需要验证配对密码。而对于使用
    (3). https方式来讲,每次push都需要验证用户名和密码。
  2. ssh工作原理
    (1). SSH(远程连接工具)连接原理:ssh服务是一个守护进程(demon),系统后台监听客户端的连接,ssh服务端的进程名为sshd,
    负责实时监听客户端的请求(IP 22端口),包括公共秘钥等交换等信息。
    ssh服务端由2部分组成:openssh(提供ssh服务) openssl(提供加密的程序)
    ssh的客户端可以用 XSHELL,Securecrt, Mobaxterm等工具进行连接
    (2).工作机制
    服务器启动的时候自己产生一个**(768bit公钥),本地的ssh客户端发送连接请求到ssh服务器,服务器检查连接点客户端
    发送的数据和IP地址,确认合法后发送**(768bits)给客户端,此时客户端将本地私钥(256bit)和服务器的公钥(768bit)结
    合成**对key(1024bit),发回给服务器端,建立连接通过key-pair数据传输。

3.2 XShell & Local server

附链接 Xshell连接本地服务器

  1. 检测service ssh status
  2. 如果ssh在运行,跳第3步;service ssh start
  3. ifconfig,获得IP
  4. 新建会话,选择协议ssh协议,输入local server
  5. 打开用户身份验证,方法选择password,输入username和password
  6. ok
  7. 如未成功,请查博客,修改port,/etc/profile/ssh_config
  8. 本地IP会变化,记得重新设置

4. Docker配置及使用

注意,本篇docker配置在服务器端,而并非本地安装配置

附链接Docker服务器端配置

  1. fork此docker代码库,然后根据需要用自己的用户名修改 conf.docker.sh中的环境变量,以免与别的同事冲突。

  2. 新建config 目录包含一些会拷入 Docker 的下列配置文件,由于每个人的配置不同,所以需要手工拷。

config/tmux.conf:tmux 配置,如果不需要,可以用 touch 命令建一个空文件。
config/gitconfig:Git 配置 ~/.gitconfig,如果不需要,可以用 touch 命令建一个空文件。
config/id_rsa:SSH 私钥,可以随意,建议用运维开通权限时邮件发的带自己用户名的那个。
config/id_rsa.pub:SSH 公钥,与私钥对应的公钥。
config/known_hosts:即 /home/mobdev/.ssh/known_hosts,不过用 touch 命令建一个空文件也行。
  1. 按以下步骤使用 Docker 开发环境。
用 build.docker.sh 构建 Docker 镜像。
用 run.docker.sh 启动 Docker 容器。注意:由于退出时会删除容器,最好在一个 tmux 会话中启动容器。
在任意工作目录用 exec.docker.sh 进入 Docker,可重复多次。
可以将此 docker目录加到PATH环境变量中以方便使用。
  1. Docker基本使用
1. ```docker images```查看已有的docker镜像
2. ```docker run -it -v /home/yafeng.zhao/yafeng.workspace/:/home gcc:latest```进入容器,其中-v将宿主目录,挂载到容器/home下
3. 在该容器中编译运行代码

附链接 Docker命令大全

5. VScode insiders使用及配置

1. 下载Remote-SSH,这个插件仅支持VSCode的Insider版本

[外链图片转存失败(img-qbXiLjrX-1563540753758)(https://github.com/SixDayCoder/MarkDownIMG/raw/master/remote-ssh/ssh-serach.png)]

2. 安装完成会出现新的图标

[外链图片转存失败(img-inbP4PZe-1563540753760)(https://github.com/SixDayCoder/MarkDownIMG/raw/master/remote-ssh/ssh-desk.png)]

3. 配置

<1>快捷键Shift + Ctrl + p打开活动栏:

first_week

<2>搜索Remote-SSH回车,点选Congigure SSH Hosts选项,弹出:

[外链图片转存失败(img-iWmkWh3n-1563540753763)(https://github.com/SixDayCoder/MarkDownIMG/raw/master/remote-ssh/ssh-user-dir.png)]

<3>选择config文件的位置,回车即可新建并编辑config文件。config文件必须放到被授权的rsa秘钥所在的文件目录,可以看到我这个目录下的文件是这样的(id_rsa及id_rsa.pub从运维得到,作为登录跳板机钥匙):

first_week

<4>以下是我个人的配置:

Host relay3
  HostName relay3.mobvista.com
  User yafeng.zhao
  IdentityFile C:\workspace\cpp\ssh\yafeng.zhao
Host 178dev
  HostName 52.74.179.178
  PermitLocalCommand yes
  User yafeng.zhao
  IdentityFile C:\workspace\cpp\ssh\yafeng.zhao
  ProxyCommand ssh relay3 -W %h:%p

4. 连接成功

[外链图片转存失败(img-7XbTn38X-1563540753768)(https://github.com/SixDayCoder/MarkDownIMG/raw/master/remote-ssh/ssh-opening.png)]

打开工作区,选择相应的文件就可以进行同步操作。
Ctrl + `,打开中终端,也可以通过远程连接在命令行对代码进行编辑,编译运行。

二. 问题及解决办法

1. 没有理清问题

三个过程中浪费时间:

1. 自行装Vmware,配置,后面导师说不用WLS

2. 自己装Gcc,后面导师说用Docker,隔离,统一环境

3. 自己装Docker,最后明白docker在机器上已经装好,只需要自己配置自己的用户空间就可以用

以上是沟通问题,在以后要积极沟通,听懂要求再开始做事

2. 没有解决问题的良好思路

1. 遇见问题,没有理清楚就开始做

2. 解决时没有一个良好习惯,臂如用Google查询

3. 要注重效率

以上属于方法问题,在以后要成总结,回顾等习惯来改进

3. 解决办法

1. 要多思考,多问自己为什么,搞清楚接触事物的来龙去脉

2. 要形成良好的习惯,臂如MArkdown条理分明的记录…

3. 要分清问题的侧重点,臂如先整体还是先局部,有一个合理的思路,体现在代码阅读上就是不要没有条理的阅读

相关标签: 总结

上一篇: 每周总结

下一篇: C++ 基础篇

推荐阅读