<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Linux on KANIKIG BLOG</title>
    <link>https://blog.kanikig.xyz/tags/Linux/</link>
    <description>Recent content in Linux on KANIKIG BLOG</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>zh-cn</language>
    <lastBuildDate>Sat, 18 Apr 2020 22:37:02 +0000</lastBuildDate><atom:link href="https://blog.kanikig.xyz/tags/Linux/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Linux基础笔记</title>
      <link>https://blog.kanikig.xyz/Linux%E5%9F%BA%E7%A1%80%E7%AC%94%E8%AE%B0/</link>
      <pubDate>Sat, 18 Apr 2020 22:37:02 +0000</pubDate>
      
      <guid>https://blog.kanikig.xyz/Linux%E5%9F%BA%E7%A1%80%E7%AC%94%E8%AE%B0/</guid>
      <description>去年学习python基础课时包含的linux基础课程笔记 记得很简略基本上只有自己看得懂。。 一、操作系统与Linux 1. Operating System 1）操作硬件 2）将操</description>
      <content:encoded><![CDATA[<blockquote>
<p>去年学习python基础课时包含的linux基础课程笔记</p>
<p>记得很简略基本上只有自己看得懂。。</p>
</blockquote>
<h2 id="一操作系统与linux">一、操作系统与Linux</h2>
<h3 id="1-operating-system">1. Operating System</h3>
<p>1）操作硬件
2）将操作硬件的方法封装为系统调用</p>
<h4 id="11-操作系统分类">1.1 操作系统分类</h4>
<ul>
<li>桌面操作系统</li>
<li>服务器操作系统</li>
<li>嵌入式操作系统</li>
<li>移动设备操作系统</li>
</ul>
<h3 id="2操作系统发展史">2.操作系统发展史</h3>
<h4 id="21-unix">2.1 Unix</h4>
<p>星际旅行
BCPL-&gt;B语言-&gt;C语言
Unix
多用户</p>
<h4 id="22-linux">2.2 Linux</h4>
<p>在minix基础上
内核</p>
<h4 id="23-linux内核与发行版">2.3 Linux内核与发行版</h4>
<p>增加了终端命令
内核是封装好的系统调用
发行版是在内核基础上开发的一套应用程序</p>
<h4 id="24-linux文件系统">2.4 Linux文件系统</h4>
<p>win 盘符
因为xp之前都是单用户</p>
<p>linux
home下放着各个用户的文件夹</p>
<p>etc 系统配置文件
bin 可执行二进制文件
home 用户目录</p>
<h2 id="二linux终端命令">二、Linux终端命令</h2>
<p>掌握常用的十几个即可,不常用的查表</p>
<p>ctrl +/- 放大终端字体</p>
<h3 id="1最常见的7个命令">1.最常见的7个命令:</h3>
<ol>
<li><strong>ls</strong>      list 查看当前文件夹下的内容</li>
<li><strong>pwd</strong>     print work directoty 查看当前文件夹</li>
<li><strong>cd</strong>      change directory 切换文件夹</li>
<li><strong>touch</strong>   touch  如果文件不存在则新建文件</li>
<li><strong>mkdir</strong>   make directory 创建目录</li>
<li><strong>rm</strong>      remove 删除文件</li>
<li><strong>clear</strong>   清屏</li>
</ol>
<h3 id="2终端命令格式">2.终端命令格式</h3>
<p>command [-option][parameter]</p>
<p>rm -r 文件夹</p>
<h3 id="3查阅命令帮助信息">3.查阅命令帮助信息</h3>
<p>两种方式</p>
<p><strong>command &ndash;help</strong></p>
<p><strong>man command</strong>
空格 翻页
回车 下一行
b 回滚一页
f 翻页
q 退出</p>
<p>(command 为对应命令）</p>
<h3 id="4文件和目录常用命令">4.文件和目录常用命令</h3>
<p>ls cd touch rm mkdir</p>
<p>tab自动补全文件名 如果有其他选择，再按一次，系统会提示可能命令</p>
<p>上下可以切换至以前的命令
ctrl c 直接回到最下</p>
<p>拷贝和移动
tree cp mv</p>
<p>查看文件内容
cat more grep</p>
<h4 id="1-ls">1) ls</h4>
<p>.开头为隐藏文件 ls需要-a (all)
如果需要创建隐藏文件，只需要加.</p>
<p>. 当前目录
.. 上级目录</p>
<p>ls -a   显示全部文件
ls -l   列表方式显示文件全部信息
ls -h   配合-l人性化显示文件大小</p>
<p>drwxr-xr-x 4 kanikig kanikig    4096 5月  19 18:02 AppWebCache
drwxr-xr-x 3 kanikig kanikig    4096 6月  16 22:55 Audio
drwxr-xr-x 2 kanikig kanikig    4096 5月  18 18:13 CloudRes
-rw-r&ndash;r&ndash; 1 kanikig kanikig   33280 5月  26 15:05 CustomFace.db
-rw-r&ndash;r&ndash; 1 kanikig kanikig  494509 7月   9 14:01 CustomFace.dbc
-rw-r&ndash;r&ndash; 1 kanikig kanikig  132096 7月   9 14:01 DingDongStorage.db
-rw-r&ndash;r&ndash; 1 kanikig kanikig       0 5月  18 18:08 DingDongStorage.db-journal
-rw-r&ndash;r&ndash; 1 kanikig kanikig   25600 7月   9 14:01 DocImport.db</p>
<p>d代表目录</p>
<p>ls -l -h
文件大小更直观
drwxr-xr-x 4 kanikig kanikig 4.0K 5月  19 18:02 AppWebCache
drwxr-xr-x 3 kanikig kanikig 4.0K 6月  16 22:55 Audio
drwxr-xr-x 2 kanikig kanikig 4.0K 5月  18 18:13 CloudRes
-rw-r&ndash;r&ndash; 1 kanikig kanikig  33K 5月  26 15:05 CustomFace.db
-rw-r&ndash;r&ndash; 1 kanikig kanikig 483K 7月   9 14:01 CustomFace.dbc</p>
<p>选项可以连写 如
ls -alh</p>
<p>ls与通配符</p>
<ul>
<li>任意字符串
?   任意字符
[]  匹配字符组任意一个 [1-9] [abc]</li>
</ul>
<p>如 ls m* 找m开头的</p>
<h4 id="2-cd">2) cd</h4>
<p>常用参数</p>
<p>cd 直接回家
或者加波浪号 ~ 直接返回家目录
cd - 在最近两次目录切换</p>
<p>相对路径
绝对路径 /或者~开头</p>
<h4 id="3--touch">3)  touch</h4>
<p>如果已经存在，则修改日期更新</p>
<h4 id="4--mkdir">4)  mkdir</h4>
<p>-p 连续创建目录</p>
<p>mkdir -p a/b/c/d</p>
<p>(linux 一个目录下 文件夹和文件也不可重名)</p>
<h4 id="5--rm">5)  rm</h4>
<p>-f 强制删除
-r 递归删除</p>
<p>同样可使用通配符</p>
<h4 id="6--tree">6)  tree</h4>
<p>树状图列出文件系统</p>
<p>-d 只显示目录</p>
<h4 id="7--cp">7)  cp</h4>
<p>cd 源文件 目标文件</p>
<p>文本编辑器 ctrl s 快速保存</p>
<p>后面可以指定文件名
不改的话可以只写目录</p>
<p>-i 覆盖文件前提示
-r 递归复制整个文件夹</p>
<h4 id="8--mv">8)  mv</h4>
<p>mv 源文件 目标文件
-i 覆盖前提示</p>
<h4 id="9--cat">9)  cat</h4>
<p>concatenate
查看文件内容</p>
<p>-b 对非空输出行编号
-n 对全部输出行编号</p>
<h4 id="10-more">10) more</h4>
<p>分页显示
用来查看大文件</p>
<p>操作快捷键和man一样</p>
<h4 id="11-grep">11） grep</h4>
<p>强大的文本搜索工具</p>
<p>-n 显示行号
-v 不包含文本内容的行（求反
-i 忽略大小写</p>
<p>模式查找
^asdasd  行开头匹配
asdasd$  行尾匹配</p>
<h4 id="12-echo">12) echo</h4>
<p>在终端输出</p>
<p>重定向：把本应该在终端输出的内容输出到文件里</p>
<p>&lsquo;&gt;&lsquo;输出到文件（覆盖）</p>
<p>&lsquo;&raquo;&lsquo;追加</p>
<p>\就是换行
不仅可以用与echo
ls也可重定向</p>
<p>ls -lh &raquo;a</p>
<h4 id="13-">13) |</h4>
<p>管道
一个命令的输出通过管道作为另一个命令的输入</p>
<p>ls -lha | more  分页显示
ls -lha | grep ds 筛选输出</p>
<h2 id="三远程管理">三、远程管理</h2>
<h3 id="1shutdown">1.shutdown</h3>
<p>shutdown 选项 时间</p>
<p>默认是一分钟后关机
now 立即重启</p>
<p>shutdown 20:25
shutdown +10 十分钟后关机</p>
<p>-r 重启</p>
<h3 id="2查看配置网卡">2.查看配置网卡</h3>
<p>网卡
负责网络通讯的硬件设备
ip地址是设置在网卡上的地址信息</p>
<p><strong>ifconfig</strong> 查看/配置网卡信息
<strong>ping</strong> 测试连接是否正常</p>
<p>ifconfig | grep inet 快速看ip
一个物理网卡和多个虚拟网卡
物理网卡 ens..</p>
<p>ping
ctrl c 停止</p>
<h3 id="3远程登录和复制">3.远程登录和复制</h3>
<h4 id="1--ssh">1)  ssh</h4>
<p>Secure Shell</p>
<p>域名 ip地址别名
端口号 通过端口号可以找到计算机运行的应用程序
ssh端口号默认22 可缺省
ftp 21
web服务器 80</p>
<p><strong>ssh [-p port] user@remote</strong>
remote为远程ip
port 默认22</p>
<p>exit退出登录</p>
<h4 id="2--scp">2)  scp</h4>
<p>远程拷贝文件</p>
<p>从远程下到本地 scp -P(大写！) 22 源文件 user@remote:目标文件
从本地传到远程 scp user@remote:源文件 目标文件
-r 传送文件夹
-P指定端口</p>
<h4 id="3--ssh高级">3)  ssh高级</h4>
<p>免密码登录
配置别名</p>
<p>ssh的配置信息都在.ssh下</p>
<p>免密码登录：
本地 .ssh目录下执行ssh-keygen 一路回车 生成两个文件 （公钥，私钥）
然后ssh-copy-id [-p] user@remote 会把一个授权文件传到服务器的.ssh下</p>
<p>非对称加密算法
使用公钥加密的数据，需要用私钥解密
用私钥加密的数据，用公钥解密</p>
<p>在本地通过私钥加密数据，在服务器的公钥对数据解密</p>
<p>配置别名：
在.ssh下创建config文件
在其中写入</p>
<p>Host h1
HostName 202.182.115.91
User root
Port 22</p>
<h2 id="四用户与权限">四、用户与权限</h2>
<p>用户与权限的概念
用户管理
组管理
修改权限</p>
<h3 id="1用户与权限">1.用户与权限</h3>
<p>读 r 4
写 w 2
执行 x 1</p>
<p>用户组</p>
<h4 id="1">1）</h4>
<p>​     权限       用户     组
drwxr-xr-x 3 kanikig kanikig 4.0K 5月  18 16:45 Music
drwxr-xr-x 2 kanikig kanikig 4.0K 5月  18 22:17 Pictures
drwxr-xr-x 3 kanikig kanikig 4.0K 7月   8 22:58 PycharmProjects
-rw-r&ndash;r&ndash; 1 kanikig kanikig  485 7月  11 15:39 shadowsocks.json
-rw-r&ndash;r&ndash; 1 kanikig kanikig  485 7月  11 15:25 shadowsocs.json
-rw-r&ndash;r&ndash; 1 kanikig kanikig    0 5月  18 16:44 stale_outputs_checked
drwxr-xr-x 2 kanikig kanikig 4.0K 5月  18 14:25 Videos</p>
<p>硬链接数 有多少种方式能够访问一个文件或目录
文件一般是1 即绝对路径
文件夹 2或以上 因为可以cd. 或者从子目录cd..（这里可以无数个）</p>
<p>所以硬链接数可以判断子目录个数</p>
<p>第一列 文件或文件夹
之后每3个字符一组
第一组 文件或目录的拥有者
第二组 用户组的权限
第三组 其他用户</p>
<h4 id="2-chmod">2) chmod</h4>
<p>修改文件或目录权限
changemod</p>
<p><strong>chmod +/-rwx 文件或目录</strong></p>
<p>对于目录 可读是阅读目录内容 可写是修改目录内容 可执行是在目录下执行终端命令</p>
<h4 id="3root">3)root</h4>
<p>sudo
substitute user do
5分钟有效期限</p>
<h3 id="2组管理">2.组管理</h3>
<p>groupadd 组名
groupdel 组名
cat /etc/group 确认组信息
chagrp -R 组名 文件/目录  修改文件目录所属的组</p>
<h3 id="3用户管理">3.用户管理</h3>
<p>useradd -m -g 组 用户名
-m 自动建立用户目录
-g 指定用户的组，否则自动建立一个同名组</p>
<p>passwd 设置用户密码
userdel -r 用户名
-r 删除用户家目录
cat /etc/passwd | grep 用户名     确认用户信息
passwd文件
1用户名
2密码 x
3uid
4gid
5用户全名
6家目录
7登录使用的shell</p>
<p>查看用户信息
id 用户名  查看用户id和组id
who 查看当前登录的用户列表
whoami 查看当前登录的用户名</p>
<p>usermod
设置用户主组、附加组和登录shell</p>
<p>主组 建立用户时指定的组
附加组 指定附加组</p>
<p>usermod -g 组 用户名   修改用户主组
usermod -G 组 用户名   修改附加组
usermod -s /bin/bash  修改shell</p>
<p>usermod -G sudo 用户名  将用户添加到sudo</p>
<p>shell 输入终端命令的软件</p>
<p>dash
bash</p>
<p>which
查看执行命令的所在位置</p>
<p>/etc/passwd 保存用户信息
/usr/bin/passwd 修改密码的程序</p>
<p>su 用户名 切换用户
exit 退出</p>
<h3 id="4修改文件权限">4.修改文件权限</h3>
<p>chown 修改拥有者
chagrp 修改组
chmod 修改权限</p>
<p>chown 用户名 文件或目录
chgrp -R 组名 文件或目录
chmod -R 755 文件或目录</p>
<p>7 拥有者的权限
5 组成员权限
5 其他用户权限</p>
<p>r=4
w=2
x=1</p>
<p>所以可以推测</p>
<h2 id="五系统信息">五、系统信息</h2>
<h3 id="1时间日期">1.时间日期</h3>
<p>cal  本月日历  -y 一年的日历
date 当前系统时间</p>
<h3 id="2磁盘信息">2.磁盘信息</h3>
<p>df -h  disk free 显示磁盘剩余空间
du -h  [目录名]  查看目录的占用空间</p>
<h3 id="3进程信息">3.进程信息</h3>
<p>进程：当前正在执行的程序</p>
<p>ps aux   process status查看进程详细情况
top 动态显示进程并排序 q 退出
kill [-9] 进程代号  -9强行停止</p>
<p>ps默认只能看到终端启动的程序
a 所有用户的进程
u 显示进程详细状态
x 显示没有控制终端的进程</p>
<p>最好不要kill root的进程</p>
<h3 id="4其他命令">4.其他命令</h3>
<ul>
<li>find 查找文件</li>
<li>ln   软连接(相当于快捷方式)</li>
<li>tar  打包压缩</li>
<li>apt-get 软件安装</li>
</ul>
<p>find [路径] -name “*.py”
ln -s 源文件 链接文件
源文件要用绝对路径
如果没有-s 会创建一个硬链接</p>
<p>对于软连接，如果源文件被移动或删除，则会失效，硬链接不会</p>
<p>硬链接：
linux中，文件名和文件数据是分开存储的
通过文件名访问数据
而硬链接是和文件名等价的，直接访问数据，相当于别名
软连接是通过软连接文件数据，访问源文件的文件名，间接访问数据
日常基本不会建立硬链接
硬链接数为0时，文件的数据才会删除</p>
<h3 id="5打包压缩">5.打包压缩</h3>
<p>linux常用tar.gz
tar只是打包，不压缩</p>
<p>tar -cvf 打包文件.tar 被打包文件/路径   打包
tar -xvf 打包文件.tar  解包</p>
<p>-v列出打包详细过程
-f指定文件名（f必须放最后）</p>
<p>gzip
压缩打包后的文件</p>
<p>tar -zcvf 打包文件.tar.gz 被压缩文件
tar -zxvf 打包文件.tar.gz   解压缩
tar -zxvf 打包文件.tar.gz -C 目标路径   解压到指定路径</p>
<p>bzip2(two)</p>
<p>tar.bz2</p>
<p>在选项最前加-j</p>
<h3 id="6apt">6.apt</h3>
<p>advanced packaging tool</p>
<p>sudo apt install 软件包
sudo apt remove 软件包
sudo apt upgrade 更新软件包</p>
<p>sl 小火车
htop top的升级版
linuxlogo
screenfetch</p>
<p>让终端变得有意思
在终端输入sudo visudo
在“Defaults”末尾（文件的前半部分）添加一行“Defaults insults”。
保存
之后当你使用sudo，在输入密码的时候，如果输入错误了，那么终端开始胡说八道了</p>
<p>cmatrix 黑客帝国
rev 逆序输出 一般用于管道后
lolcat 彩色输出
cowsay 一头牛说出输出结果
aptitude moo 也是一头牛，但是是用来玩的
fortune 随机输出一段话 -zh 输出中国诗
toilet 打印出大字母
figlet 同上
aafire  这个会在屏幕上显示除一团燃烧着的火焰   sudo apt install libaa-bin
oneko 一只小猫追着鼠标跑
factor 分解质因数
espeak 朗读</p>
<p>fork炸弹。。指数自乘直到占用所有系统资源</p>
<p>bb 一个不太一样的播放器
ASCIIquarium 水族馆</p>
]]></content:encoded>
    </item>
    
    <item>
      <title>开始你的GitHub之旅</title>
      <link>https://blog.kanikig.xyz/%E5%BC%80%E5%A7%8B%E4%BD%A0%E7%9A%84GitHub%E4%B9%8B%E6%97%85/</link>
      <pubDate>Fri, 03 Apr 2020 19:26:30 +0000</pubDate>
      
      <guid>https://blog.kanikig.xyz/%E5%BC%80%E5%A7%8B%E4%BD%A0%E7%9A%84GitHub%E4%B9%8B%E6%97%85/</guid>
      <description>前言 适合系统：linux和macos 阅读本文需要有一定linux知识，懂一点linux命令。 什么是Github? 要了解什么是GitHub，首</description>
      <content:encoded><![CDATA[<h2 id="前言">前言</h2>
<blockquote>
<p>适合系统：linux和macos</p>
<p>阅读本文需要有一定linux知识，懂一点linux命令。</p>
</blockquote>
<h3 id="什么是github">什么是Github?</h3>
<p>
  <img loading="lazy" src="https://pic.kanikig.xyz/images/2020/11/26/git.png" alt="git.png"  /></p>
<p>
  <img loading="lazy" src="https://pic.kanikig.xyz/images/2020/11/26/github.jpg" alt="github.jpg"  /></p>
<p>要了解什么是<strong>GitHub</strong>，首先要了解什么是<strong>Git</strong>：</p>
<blockquote>
<p>Git（读音为/gɪt/）是一个开源的分布式版本控制系统，可以有效、高速地处理从很小到非常大的项目版本管理。相比于集中式的最大区别在于开发者可以提交到本地，每个开发者通过克隆（git clone），在本地机器上拷贝一个完整的Git仓库。</p>
</blockquote>
<p><strong>GitHub</strong>：</p>
<blockquote>
<p>GitHub是一个面向<a href="https://baike.baidu.com/item/%E5%BC%80%E6%BA%90/20720669">开源</a>及私有<a href="https://baike.baidu.com/item/%E8%BD%AF%E4%BB%B6/12053">软件</a>项目的托管平台，因为只支持git 作为唯一的版本库格式进行托管，故名GitHub。</p>
</blockquote>
<p>简单来说，就是能把你写的代码项目在任何设备随时上传，可以在任何设备再下载下来，实现多端同步。</p>
<h2 id="正文">正文</h2>
<h3 id="创建你自己的git项目仓库">创建你自己的git项目仓库</h3>
<p>注册github后，进入个人账户页面，有个<strong>New</strong>按钮。点击以后创建<strong>Repository</strong>仓库。</p>
<p>
  <img loading="lazy" src="https://pic.kanikig.xyz/images/2020/11/26/img20431.png" alt="img20431.png"  /></p>
<p>命名自己能懂即可，最好和你本地的项目文件夹相似，后面会用到，比如我这里创建的是自己R语言学习的内容</p>
<h3 id="本地部署git">本地部署git</h3>
<p>安装非常简单，只要懂一些命令即可。</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="cl">$ sudo apt install git-all <span class="c1">#debian系</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">$ git --version <span class="c1">#macos安装Xcode Command Line Tools后运行该命令即可。Xcode Command Line Tools的安装方式也十分简单，请自行查找。</span>
</span></span></code></pre></div><p>其余系统安装请参考git官网：<a href="https://git-scm.com/book/zh/v2/%E8%B5%B7%E6%AD%A5-%E5%AE%89%E8%A3%85-Git">GIT起步</a></p>
<h3 id="将机器与github关联">将机器与Github关联</h3>
<p>相信玩过服务器的朋友应该都知道ssh是什么。由于git是通过ssh完成文件上传下载的，所以需要将一个ssh秘钥文件填到GitHub，完成你的机器的认证。</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="cl">$ <span class="nb">cd</span> .ssh 
</span></span></code></pre></div><blockquote>
<p>如果提示No such file or directory，说明本机还没有生成过sshkey，执行下面的命令</p>
</blockquote>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="cl">$ ssh-keygen -t rsa -C <span class="s2">&#34;你的邮箱地址&#34;</span>
</span></span></code></pre></div><p>这步运行结束出现长方形字符画即成功，申请的sshkey已经保存在.ssh文件夹里了。</p>
<p>之后打开秘钥文件复制里面的全部内容：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="cl">$ cat ~/.ssh/id_rsa.pub
</span></span><span class="line"><span class="cl"><span class="c1">#或者如果你会用vim</span>
</span></span><span class="line"><span class="cl">$ vim ~/.ssh/id_rsa.pub
</span></span></code></pre></div><p>当然也可以直接用文本编辑器打开，.ssh隐藏文件夹在你的用户文件夹下。macos显示隐藏文件快捷键为Ctrl+shift+.</p>
<p><a href="https://pic.kanikig.xyz/image/Qgfb">
  <img loading="lazy" src="https://pic.kanikig.xyz/images/2020/11/26/img20433.png" alt="img20433.png"  /></a></p>
<p>回到你的GitHub用户页，点击右上角，进入settings，点击左侧SSH and GPG keys</p>
<p>
  <img loading="lazy" src="https://pic.kanikig.xyz/images/2020/11/26/20434.png" alt="20434.png"  /></p>
<p>
  <img loading="lazy" src="https://pic.kanikig.xyz/images/2020/11/26/20435.png" alt="20435.png"  /></p>
<p>点击右上角newsshkeys，标题随意，把复制的秘钥文件内容粘贴进下面的框里保存，就完成的GitHub认证。</p>
<p>
  <img loading="lazy" src="https://pic.kanikig.xyz/images/2020/11/26/20436.png" alt="20436.png"  /></p>
<p>完成之后终端通过以下命令确认SSH key是否成功</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="cl">$ ssh -T git@GitHub.com
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1">#最后出现以下内容即成功</span>
</span></span><span class="line"><span class="cl">Hi 你的用户名! You<span class="err">&#39;</span>ve successfully authenticated, but GitHub does not provide shell access.
</span></span></code></pre></div><h3 id="将项目文件夹进行git配置并上传">将项目文件夹进行git配置并上传</h3>
<p>终端通过<strong>cd</strong>进入你想要同步的<strong>项目文件夹</strong>，运行如下命令：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="cl">$ git init <span class="c1">#初始化,这步运行后你的终端会显示git:(master) ✗ </span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">$ git add . <span class="c1">#官网给的指导里写的是README.md，那只是个示范，是只把README.md这个文件上传。这里的意义是同步这个文件夹的所有内容</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">$ git commit -m <span class="s2">&#34;first commit&#34;</span> <span class="c1">#引号内的内容是写你上传更新的原因</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">$ git branch -M main
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">$ git remote add origin https://github.com/你的用户名/你刚刚设置的仓库名.git 
</span></span><span class="line"><span class="cl"><span class="c1">#忘记仓库名的话浏览器进你仓库页面，网址复制下来后面加上.git即可</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">$ git push -u origin main <span class="c1">#push上传</span>
</span></span></code></pre></div><p>完成！现在重新进入仓库页面，可以看到文件夹下的内容已经在里面了！</p>
<p>以后只需要cd到<strong>项目文件夹</strong>，执行<strong>以下的命令</strong>就能上传更新了。</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="cl">$ git add .
</span></span><span class="line"><span class="cl">$ git commit -m <span class="s2">&#34;更新原因&#34;</span>
</span></span><span class="line"><span class="cl">git push -u origin main
</span></span></code></pre></div><p>若要将云端代码<strong>同步到本地</strong>，命令：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="cl">$ git pull --rebase origin master
</span></span></code></pre></div><p>然后你就可以愉快地把自己的所有项目进行上传到github了！</p>
<blockquote>
<p>参考3y的文章的部分内容：https://github.com/ZhongFuCheng3y/3y 并作出一定修正改进。</p>
</blockquote>
]]></content:encoded>
    </item>
    
  </channel>
</rss>
