first_week

总结

一.环境搭建

1. WLS启用开发者模式

附链接 Windows下开启Linux子系统

<1> 打开设置

step1

<2> 点击安全与更新

<3> 进入开发者选项

<4> 选择开发人员模式

<5> 进入程序与功能

<6> 启动Windows功能

<7> 选定Linux子系统

<8> 安装Linux客户端

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

<9> 设置用户及密码

2. Git配置及使用

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

使用git clone命令从GitLab上同步代码库时,如果使用SSH链接(如:git@gitlab.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-keygen -t rsa -C ”yourEmail@example.com”,注意这个地方的邮箱地址地址替换成你自己的邮箱地址即可,在显示如下的输出后一直按回车即可:

接着显示:

在这里可以看到id_rsaid_rsa.pub已经生成,并且生成的路径为/root/.ssh/
3. 打开id_rsa.pub文件,并且复制全部内容。
4. 打开GitLab账户,打开SSH Keys:

将刚刚复制的内容添加到Key的文本域中,然后点击Add key。
添加成功。
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 git@url/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打开活动栏:

<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从运维得到,作为登录跳板机钥匙):

<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. 要分清问题的侧重点,臂如先整体还是先局部,有一个合理的思路,体现在代码阅读上就是不要没有条理的阅读
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值