
Shell命令
常见命令格式:命令 [-options] [参数]
pwd (Print Working Directory)查看当前目录cd (Change Directory) cd /etc切换目录ls(List)查看当前目录下的内容 如ls -al- 
mkdir (Make Directory)创建目录 如mkdir blog创建一个blog的目录

 touch创建一个文件 如touch index.html

wc (Word Count) 数字信息统计如wc index.htmlcat查看文件全部内容, cat index.htmlcd ..返回上一级目录- 
more/less查看文件 如more index.html

 rm删除文件 如 rm index.html ,rm -rf blogrmdir删除文件夹tab自动补全tar解压 文件
VI编译器命令
- 
ZZ保存退出 - 
u撤销操作,可多次使用 - 
dd删除当前行 - 
yy复制当前行 - 
p粘贴内容 - 
i进入编辑模式,当前光标出插入 - 
a进入编辑模式,当前光标后出入 - 
:w保存 - 
:q退出 - 
:wq保存并退出 - 
:e!撤销更改,返回上一次保存的状态 - 
:q!不保存强制退出 - 
:set nu设置行号 
git命令
1.git 命令
- 
git init初始化仓库 
- 
 2.
git status查看当前状态提交的状态3.
git add -A(提交所有的) 提交本地文件到缓存区-a可以是单独一个文件名称,代表添加摸个文件到缓存区git add .提交当前文件夹里面的所有文件4.
git commit -m "提交信息"将缓存区的东西提交到本地仓库- 
git checkout xxx.txt放弃提交的文件- 
配置用户名和邮箱
git config --global user.email "xxxxxxxx@qq.com" git config --global user.name "xxxxxx" 
 - 
 - 
5.
git reset --hard sha值 回退到某一个版本sha哈希值git reset --hard sha值 回退到某一个版本
git reset --mixed(默认可以不写) sha 状回退到修改态
git reset --soft sha回退到暂存区状态 6.
git push将本地仓库的内容提交到远程服务器7.
git pull从远程服务器更新8
.git log查看所有的提交日志9.
git clone仓库地址10.
git reflog查看所有的SHA值
2.分支
1.
git branch fixBranch(分支名称)开启分支2.
git branch查看当前分支 有*的代表当前正在工作的分支3.
git checkout fixBranch切换到fixBranch的分支上4.
git merge fixBranch分支合并 将 fixBranch上的内容合并到master上5.
git branch -d fixBranch删除分支
3.1 远程操作
1.
git branch test创建本地分支2.
git push origin test将本地分支推送到远程分支3.
git branch -r -d branch-name删除本地分支4.
git push origin --delete test删除远程分支
3.git共享仓库
git clone 仓库地址
2.
git clone --bare 地址创建共享仓库3.
git push 仓库地址提交代码到 共享仓库共享仓库看不到工作区
但是里面有内容 他是共享的,别人只能往里面放代码,但是不让修改 如果想要获取就直接克隆
比如code文件夹下有2个用户user1和user2,用户user1下有项目目录,那么user2想要获取就必须lone,克隆的地址必须是有.git文件的项目目录本地共享



4.代码冲突
文件冲突: 多个人同时改了同一个文件的同一行就会引起冲突
5.查看远程仓库地址
git remote -v查看远程仓库地址 默认 origingit remote add仓库名称 仓库地址- 
修改远程仓库地址
- 
1.直接修改
git remote origin set-url [url] 2.先删除后增加
git remote rm origin
git remote add origin [url]- 3.直接修改
config文件 
 - 
 
6.生成公钥和私钥
生成 公钥/私钥 ssh-keygen -t rsa
7.git tag 标签
- 标签可以针对某一时间点的版本做标记,常用于版本发布
 git tag v0.1.2- 创建附注标签
 - 
git tag -a v0.1.2 -m“0.1.2版本” - 切换到标签
 - 与切换分支命令相同,用
git checkout [tagname] - 用git show命令可以查看标签的版本信息:
 - git show v0.1.2
 - 给指定的commit打标签
 - git tag -a v0.1.1 9 fbc3d0
 - 标签发布
 - 通常的git push不会将标签对象提交到git服务器,我们需要进行显式的操作:
 - git push origin v0.1.2 # 将v0.1.2标签提交到git服务器
 - git push origin –-tags # 将本地所有标签一次性提交到git服务器
 - git tag -d v0.1.2 # 删除本地标签
 - git push origin :refs/tags/v0.1.2 删除远程tag
 - git tag 查看本地的tag
 
9.gitignore 忽略文件
- 创建 .gitignore文件, 图形化界面不能创建
 - node_modules/ node_modules下的所有文件都不提交
 - node_modules/*.jpg node_modules/123.jpg图片不提交但是node_modules/coderYJ/456.jpg可以提交
 - .idea/* .idea 下的所有文件都不提交
 - *.png 忽略所有的 .png 结尾的文件
 - !xxoo.png 但排除 xxoo.png
 
- git rm -r --cached .
 - git add .
 - git commit -m 'update .gitignore'
 
10.git差异化
- 比较暂存区和当前的版本的差异 此命令比较的是工作目录(Working tree)和暂存区域快照(index)之间的差异
也就是修改之后还没有暂存起来的变化内容。 - git diff
 - git difftool 分屏比较
 - git diff sha1 sha2 比对2个不同的版本
 - git difftool sha1 sha2 分屏对比
 
11.文件回退到暂存区
- git checkout -- 文件名称
 
12.保存工作区
- git stash 保存内容(入栈) 切换分支的时候不会让另一个分支看到
 - git stash pop 回到最初保存的内容
 
13.md5加密 不可逆
- echo -n 123456 | openssl md5
 - -n就表示不输入回车符
 - 结果 e10adc3949ba59abbe56e057f20f883e
 
14.base64加密/解密
- 
加密
- echo abc | openssl base64
 - YWJjCg== (编码结果)
 
 - 
解密
- echo YWJjCg== | openssl base64 -d
 - abc (解码结果)
 
 - 
wc 统计字节数
wc -l filename 报告行数
 wc -c filename 报告字节数
 wc -m filename 报告字符数
 wc -w filename 报告单词数 











