BASH命令
bash命令行是计算机操作的一种方式,操作风格更为简单明了,现在命令行有很多,Windows的CMD,MacBook的Terminal ITerm2等等但是本文主要介绍的是由GIT提供的命令行gitbash,该命令行主要使用在Windows系统以及linux和其衍生的系统中。提供了除了图形操作之外的另一种操作方式。�今天所阐述的主要是使用gitbash作为操作界面的bash命令行。
1. 简介
gitbash是在Windows系统下的命令行工具。 基于msys GNU环境,有git分布式版本控制工具,也主要用于git。GNU环境,就是说如果你喜欢linux/unix的环境,就可以选择使用git bash。里面有你熟悉的linux工具,tar,grep,awk等,且可以安装编译环境gcc,make等。
2. 与传统图形操作界面的优势和区别
命令行操作顾名思义就是使用命令进行操作,而不是像传统的Windows操作模式,使用鼠标操作整个界面。相对于传统的操作界面在使用是主要有一下几个优点。
- 效率更高 因为是使用的命令行,在长期的使用时我们可以使用脚本程序将经常使用的操作通过脚本进行集体编辑,这样非常繁复的操作就可以使用简单的操作就能快速结束。并且可以产生大量的操作沉淀。更重要的是可以使用命令行操作所有的程序,包括听歌上网,不会发生win上面一些其他的问题,这样就意味着我们可以使用一个命令行完成所有操作.
- 稳定性更强 因为命令行的操作是稳定的,不会因为版本迭代导致操作逻辑和操作语言的改变。所以稳定性是win的图形操作比不上的,在命令行中
mkdir A
永远是创建一个文件夹A。不会因为任何迭代导致这句话发生更改,所以稳定性更强,操作逻辑的深入性就更强,不会一年一个新操作的这种惨剧的发生。 - 节奏更快 因为普通的图形界面操作肯定是使用鼠标结合键盘进行辅助操作,但是在使用命令行的时候,这时候就需要手腕的大量移动并且需要考验操作的精准性,然而我们懒,连鼠标都不想用,在命令行中只需要使用键盘就可以完成所有的操作。对于手腕的使用时最少的,也是所有操作中最轻松的。
然而在说了这么多以后,命令行并不是想象中那么完美,辩证主义教会我们的就是一个东西说的那么好,肯定说明那他坏的地方肯定也是十分头疼!!而对于命令行操作来说最难的就是上手难度。因为想要学会命令行就要首先学会很多的单词,其次就是学会很多的用法,再有就是一个慢慢的积淀过程。�
3. 基础的命令行操作
在说操作之前当然就是说基础操作,因为高深的也不是一天就会的啊,再说基础操作是重中之重啊就像是鼠标的左击和右击一样,不得不会!!
命令 | 全部写法 | 缩写 |
---|---|---|
创建目录 | make directory | mkdir |
删除 | remove | rm |
移动 / 重命名 | move | mv |
复制 | copy | cp |
罗列 | list | ls |
改变目录 | change directory | cd |
缩写规则就是:删掉元音字幕(A E I O U),保留前 2 到 3 个辅音字母
现在我们�可以通过一些命令行操作通过对于图形界面的对比。
1.cd ~/Desktop 进入桌面
2.mkdir demo-1 创建目录,这时你可以切到桌面,看到 demo-1 目录
3.rm -rf demo-1 删除目录
4.touch 1.txt 创建文件,如果你发现文件后缀不见了,请让该死的 Windows 显示文件后缀(不会请百度或者谷歌)
5.mv 1.txt 2.txt 这样我们就把 1.txt 移到 2.txt 了,也就是重命名
其他的常见操作指令
操作 | 命令 |
---|---|
进入目录 | cd |
显示当前目录 | pwd |
创建目录 | mkdir 目录名 |
创建目录 | mkdir -p 目录路径 |
我是谁 | whoami |
查看路径 | ls 路径 |
查看路径 | ls -a 路径 |
查看路径 | ls -l 路径 |
查看路径 | ls -al 路径 |
创建文件 | echo '1' > 文件路径 |
强制创建文件 | echo '1' >! 文件路径 |
追加文件内容 | echo '1' >> 文件路径 |
创建文件 | touch 文件名 |
改变文件更新时间 | touch 文件名 |
复制文件 | cp 源路径 目标路径 |
复制目录 | cp -r 源路径 目标路径 |
移动节点 | mv 源路径 目标路径 |
删除文件 | rm 文件路径 |
强制删除文件 | rm -f 文件路径 |
删除目录 | rm -r 目录路径 |
强制删除目录 | rm -rf 目录路径 |
查看目录结构 | tree |
建立软链接 | ln -s 真实文件 链接 |
下载文件 | curl -L https://www.baidu.com > baidu.html |
拷贝网页 | wget -p -H -e robots=off https://www.baidu.com |
磁盘占用 | df -kh |
当前目录大小 | du -sh . |
各文件大小 | du -h |
其他的使用用法 对不起请谷歌
快捷键
- ↑ ↓ 上一命令 / 下一命令
- !! 上一命令占位符
- Tab 自动补全路径
- Alt+. 上一命令的最后一个参数
- && 前面的执行成功了,再执行后面的
- || 前面的执行失败了,就执行后面的
- ; 前面执行完了,不管成功失败,就执行后面的
- > 重定向
- | 管道
4. 在github上面的使用
gitbash作为git下的小弟对于git的另外一个小弟github当然也是需要全力支持的,所以使用gitbash不仅可以进行命令行shell编程,当然跑不了的还有github的无缝连接。
写在前面
在使用gitbash配置github之前我们应该使用github配置一个对应的SSH钥匙。但是需要注意的每台电脑对应自己的github的key只有一个!!
我们可以通俗的理解为,技术渣的时候就别骚操作,一台电脑一个系统就老老实实的使用一个ssh的key就好,别去玩花活。
1. 配置github
1.进入 https://github.com/settings/keys
如果页面里已经有一些 key,就点「delete」按钮把这些 key 全删掉。如果没有,就往下看
2.点击 New SSH key,你需要输入 Title 和 Key,但是你现在没有 key,往下看
打开 Git Bash
3.复制并运行rm -rf ~/.ssh/*
把现有的 ssh key 都删掉,这句命令行如果你多打一个空格,可能就要重装系统了,建议复制运行。
4.运行ssh-keygen -t rsa -b 4096 -C "你的邮箱"
,注意填写你的邮箱!
按回车三次
5.运行 cat ~/.ssh/id_rsa.pub
,得到一串东西,完整的复制这串东西。回到上面第 3 步的页面,在 Title 输入「任何你想写的东西」在 Key 里粘贴刚刚你你复制的那串东西
6.点击 Add SSH key
7.回到 Git Bash
8.运行 ssh -T git@github.com
,输入yes
然而并不可能所有人一次都会成功,成功的路上总是免不了手残所以有的人会看到:
9.然后如果你看到 Permission denied (publickey).
就说明你失败了,请回到第 1 步重来,是的,回到第 1 步重来(没想到吧,就是还有这种操作。)
当然如果你成功了就会看到一段欢迎你的话。
2. 配置git
git config --global user.name 你的英文名
git config --global user.email 你的邮箱
git config --global push.default matching
git config --global core.quotepath false
git config --global core.editor "vim"
有了这五句话就够了 你的git就配置好了
剩下的就是使用命令行跟github做无穷无尽的斗争了。
最后
命令行作为程序猿必不可少的保命技能,不单单只是单纯的炫技,后面的一些东西的配置,脚本的执行,以及对于github的相爱相杀都是十分必要和顺手的武器。最后说一句,gitbash作为仿linux终端在win上执行的工具,并不是十全十美,经常会出现无奈的报错和乱码,所以想要体验原汁原味的命令行操作,个人建议还是抛弃win坑进入一个更大的linux坑,而在linux上不仅仅只有乌班图系统,我其实更推荐一个中国人自己开发的deepin系统一定要试试会有一箱不到的惊喜,因为他有该死的乌班图没有的qq,界面的汉化和使用逻辑也更符合中国人的操作习惯。