美文网首页百人计划7组专题百人计划
三期分享-Linux下命令实战

三期分享-Linux下命令实战

作者: 倔强的潇洒小姐 | 来源:发表于2017-06-15 18:45 被阅读191次

三期主要了分享了Linux实战方面的经验,最后老徐给我们布置了一道实操题。拿到这个题的时候,我连Git是什么都不知道,但这不是关键,本次课程的重点便是熟练Linux的命令。

我咨询了度娘,得知Git是用来进行分布式版本控制的(能记录每次文件的改动),能在许多协议下使用,所以Git URL可能以ssh://, http(s)://, git://,或是只是以一个用户名(git 会认为这是一个ssh 地址)为前辍.。
git://协议较为快速和有效,但是有时必须使用http协议,比如公司的防火墙阻止了非http访问请求。
Github: 一个网站,提供给用户空间创建git仓储,保存用户的一些数据文档或者代码等,可以托管各种git库。

如老徐提供的仓库

1、网页上登录:https://github.com/istester

网页上登录.png
然而网页上并没有看到仓库,所以clone时会报错
git clone https://github.com/istester/ido.git
(git clone git://github.com/istester/ido.git
get clone失败.png

尝试了两种方法操作,最后有常见问题处理方法

一、自己创建仓库

Github是一个git项目的 托管网站,要将内容放到上面,必须先在网站上注册账号
1、注册个人账号:个人登录 github 所使用的
2、注册organization账号:主要适用于商业用途和大型开源项目,是不能登录的
3、Invite members(邀请团队成员):可以先忽略,后续再邀请,点完成

注册organization账号.png
注册成功.png
项目建好后,组内的成员可以通过输入网址可以进行访问:https://github.com/carinazyp
图片.png

创建项目
1、Github网页上创建库(carina):点击“Create Repository” ,就完成了一个项目在github上的创建。

创建库.png
2、使用git在本地创建一个相同的项目
  • 先查看一下未设置前的配置:cat .git/config (或 git config --list)


    更改前配置
  • 添加user和email信息后,再次检查配置,此时已显示用户信息
    只更改当前项目的用户信息:
    1)git config user.name "XXX"
    2)git config user.email XXX@XXX.com

    添加用户后的配置信息.png
    git config --list显示配置信息.png

注:如需配置所有项目的用户信息和邮箱,使用 --global选项,代表“全局设置”,即整个系统中的git管理的所有项目都会默认使用此种配置信息。如下:
git config --global user.name "XXX" (配置所有项目用户信息)
git config --global user.email XXX@XXX.com (配置所有项目邮箱信息)

如只查用户信息:
当前项目:
git config user.name
git config user.name
所有项目:
git config --global user.name
git config --global user.email


查询用户信息.png
  • 创建本地文件夹(~代表/root/用户明目录):
    mkdir ~/carina (即/root/carina)
    cd ~/carina
  • 创建文件并赋值内容11
    echo "# 11" >> README.md
  • 按照Github网页上的命令输入(步骤1 点Create Repository后就会跳转到该页面

1)git init (初始化一个Git仓库,把目录变成Git可以管理的仓库)
2)git add README.md (添加文件到仓库)
3)git commit -m "first commit"
(提交文件到仓库,-m后面输入的是本次提交的说明,commit可以一次提交很多文件)
4)git remote add origin git@github.com:Carinazhang/carina.git
5)git push -u origin master (将改动传回git)
(可以把 master 换成你想要推送的任何分支)

命令.png
按照Github网页上的命令输入.png

如git add 报错,则需先创建文件/文件夹

git add 报错.png

Github上面的carina项目内容已被更新


项目内容已被更新.png

3、添加文件及文件夹

  • 文件:
    1)touch(创建的是空文件)
    2)直接用vi text.txt,编辑内容后保存)
    3)echo "文字描述" >> 文件名
  • 文件夹:mkdir


    添加文件及文件夹.png
  • 编辑与查看文件内容:vi / cat


    编辑与查看文件内容.png
  • 查看创建的内容:ll


    查看创建的内容.png

4、添加并上传文件 :git add (添加)/git commit (提交)
P.S. 空文件不能添加,如图中b、c文件夹里面并没有子文件


添加并上传文件.png
  • 查看当前仓库的状态 git status
    查看当前仓库的状态
  • 查看git 操作记录


    查看git 操作记录.png

5、文件打包:tar -zcvf


图片.png

6、部署目录
创建文件夹 www,clone版本库


clone版本库.png

7、解压文件:tar -zxvf


解压文件.png

常见问题

1、项目权限不足

项目权限不足.png
2、get remote add origin 报错
get remote add origin 报错.png
解决办法如下
1)git remote rm origin
2)git remote add origin git@github.com:个人账号/项目名.git
3、在使用git 对源代码进行push到gitHub时可能会出错
git 对源代码进行push到gitHub时出错.png
出现错误的主要原因是github中的README.md文件不在本地代码目录中
github中的README.md文件.png
解决办法
先执行 git pull --rebase origin master
再执行 git push -u origin master
即可完成代码上传到github
Paste_Image.png

以下补充下密码设置方法

Git使用https协议,每次pull, push都要输入密码,可以通过以下3步省去输密码的麻烦

  • 本地生成密钥对
    检查计算机密钥:cd ~/.ssh
    检查计算机密钥.png
    如没有id_dsa.pub(公钥) 或 id_rsa(密钥)文件,可以用 ssh-keygen 来创建
    命令:ssh-keygen -t rsa -C “email”
    如不设置密码直接敲回车键
    ssh-keygen 来创建公钥和密钥.png
  • 添加公钥到github帐户
    1)查看公钥:cat ~/.ssh/id_rsa.pub
    查看公钥
    2)登录github帐户进行设置
    Settings--SSH and GPG keys--New SSH key(填写Key)-Add SSH key
    配置公钥信息1.png
    配置公钥信息2.png
    输入个人账号的密码 进行确认
    配置公钥信息3.png
    3)验证key是否正确:ssh -T git@github.com
    验证key是否正确.png
  • 修改本地的ssh remote url. 不用https协议,改用git 协议
    1)查看当前的remote url:git remote -v,从下图看到是用https协议进行访问的
    查看remote url.png
    2)登录github,切换至SSH
    登录github,切换至SSH.png
    3)使用 git remote set-url来调整url
    git remote set-url origin git@github.com:Carinazyp/carina.git
    使用 git remote set-url来调整url.png

二、网上下载仓库

1、寻找库 https://git.kernel.org/pub/scm/

库.png 搜索库.png
2、clone仓库
命令:git clone https://www.kernel.org/pub/scm/git/git.git
clone.png

若不指定路径时默认clone在根目录下(若想指定路径,先cd到目录 再clone)


根目录下显示库.png

3、打包文件 打包上传到服务器:

  • 先创建根目录再建子目录:cd到app1下,mkdir bak www


    先创建根目录再建子目录.png
  • 如app1目录不存在,可直接建多级树:mkdir -p /app1/bak /app1/www,若存在app1,这样操作也是可以的,系统会在app1下创建2个bak和www)
  • 打包文件:cd到etc目录
    tar -zcvf /app/bak/zyp1.tar.gz audit cloud dhcp dracut.conf


    文件打包.png
  • 上传至虚拟机:scp local_file remote_ip:remote_file(本地文件上传至远程)
    scp /app1/bak/zyp1.tar.gz 192.168.174.128:/app1/bak
    4、部署到www目录
    命令:mv /app1/bak/zyp1.tar.gz /app1/www
    (此时不在根目录下也可以操作)
    部署到www目录.png
    也可以进行文件copy
    copy到www目录.png
    5、解压文件
    cd到www路径后解压:tar -zxvf zyp1.tar.gz
    图片.png
    6、查看压缩包内内容
    命令:tar -tvf zyp1.tar.gz
    查看包内内容.png

相关文章

网友评论

本文标题:三期分享-Linux下命令实战

本文链接:https://www.haomeiwen.com/subject/gotyqxtx.html