Windows不用虚拟机或双系统,轻松实现linux shell环境:gitforwindows

windows缺少shell命令支持

用过Linux服务器分析数据的小伙伴,一定对Linux强大Shell命令所折服,经常会感觉windows缺少这些命令而感觉不方便。

还有想学习Linux Shell命令的小伙伴,一直没有一个很好的学习环境。双系统安装涉及分区改变对硬盘数据不安全,虚拟机效率太低,服务器也是不每个人都会买的。

Windows不用虚拟机或双系统,轻松实现linux shell环境:gitforwindows_第1张图片

现在方便了,Github推出了一款软件 gitforwindows,只有30 M的一个windows软件,却可以取代windows下的dos环境,轻松实现200多个linux命令,让每个windows用户轻松拥有一个功能强大的终端。

Windows用户和Mac只差一个git的距离!

安装 gitforwindows

Git for Windows,主页:http://gitforwindows.org/
点击页面中“Download”进入下载列表。可根据个人喜好和系统选择下载版本。
这里我选择下载最新版64位版:Git-2.16.1.4-64-bit.exe (如有更新请下载最新版)

下载完毕,双击开始安装,全都默认选项,一路Next至安装成功。

如何使用

默认安装成功,在桌面或任何文件目录中,点击右键菜单中会有Git Bash Here选项

Windows不用虚拟机或双系统,轻松实现linux shell环境:gitforwindows_第2张图片

左键单击Git Bash Here即打开Git Bash终端

Windows不用虚拟机或双系统,轻松实现linux shell环境:gitforwindows_第3张图片

现在你有了一个功能强大的终端,管理你windows文件系统像linux一样。

~家目录,就是用户主目录,我们位置在桌面,即~/Desktop

值得注意几点:

  • 启动Git bash的位置即当前目录
  • /为系统根目录,系统的分区c/d仅为根目录下的目录,如进入C盘,则输入cd /c
  • git只是实现了部分shell命令
  • git运行/bin目录中所有命令,同时支持系统中的dos命令和安装的程序,如查看文件可以使用ls也可以使用dos命令dir

Git有那些Shell命令

本质上Git将Linux命令重新编写了适合windows使用的exe可执行文件版本,查看一下系统中有那些可用的linux命令:

# 进入系统命令目录
cd /bin

# 查看所有exe可执行程序
ls *.exe 

列出了247个Shell命令程序,不在目录的shell命令也可上网搜索相应的windows版本exe文件,人工添加至windows环境变量即。

看看git支持哪些常用命令

Windows不用虚拟机或双系统,轻松实现linux shell环境:gitforwindows_第4张图片

是不是已经很强大了,强大到了一多半你都没用过。刚入门的小伙伴够学习一阵了。

其实我们常用的也就几个

  • awk 文本行列处理,如两个表共有列合并,即是一个小命令,也是一门语言,用好了功能极其强大
  • cat 显示文件内容
  • cp 复制文件,与windows系统的copy功能类似
  • cut 文件列操作
  • dos2unix 转换windows换行符为linux格式
  • gzip 文件压缩解压
  • head 显示文件前N行,或去除后N行
  • less 按页查看文件内容
  • ln 建立文件软链(快捷方式)和硬链
  • ls 显示文件目录,windows中类似命令为dir
  • mkdir 创建新目录
  • mv 移动或改名
  • rm 删除文件
  • rmdir 删除空目录
  • scp 远程复制文件
  • sed 文本替换,也是一门语言,功能极强
  • seq 产生连续等间隔数值序列
  • sort 排序,可实现excel中多条件同时排序
  • ssh 登陆ssh服务器,你和mac只差一个ssh的距离
  • zless 查看压缩文件

简单的fasta文件操作例子

我们在桌面上进建一个test文件夹,进入后右键执行 git bash,这时我们的起始目录即为当前test目录~/Desktop/test

我们创建一个fasta序列文件,内容如下:

>protein1
MEMEQEKMTMNKELSPDAAAYCCSACHGDETWSYNHPIRGRAKSRSLSASPALGSTKEFRRTRSLHGPCP
>protein2
VTTFGPKACVLQNPQTIMHIQDPASQRLTWNKSPKSVLVIKKMRDASLLQPFKELCTHLMEENMIVYVEK
KVLEDPAIASDESFGAVKKKFCTFREDYDDISNQIDFIICLGGDGTLLYASSLFQGSVPPVMAFHLGSLG
>protein3
FLTPFSFENFQSQVTQVIEGNAAVVLRSRLKVRVVKELRGKKTAVHNGLGENGSQAAGLDMDVGKQAMQY
QVLNEVVIDRGPSSYLSNVDVYLDGHLITTVQGDGVIVSTPTGSTAYAAAAGASMIHPNVPAIMITPICP
HSLSFRPIVVPAGVELKIMLSPEARNTAWVSFDGRKRQEIRHGDSISITTSCYPLPSICVRDPVSDWFES
>protein4
LAQCLHWNVRKKQAHFEEEEEEEEEG

复制上以fasta格式蛋白序列全部内容,在终端中输入如下命令:cat加>创建新文件test.txt并写始写入

cat > test.txt

回车执行上述命令即开始编写文件状态,我们只需按鼠标滚轮即可快速粘贴剪切板中内容,再按Ctrl+D组合实现结束编辑并保存

接下来对这个序列文件进行简单的操作:

# 使用cat命令显示文件内容
cat test.txt

# fasta文件通常为.fa的扩展名,mv命令改名
mv test.txt test.fa

# 文件很大可使用less按页查看,空格翻页,q退出查看模式
less test.fa

# 只查看序列名称行
grep '>' test.fa

# 统计序列条数:即上条命令接wc统计字数,-l只统计行数
grep '>' test.fa |wc -l

# sed去除序列名中的大于号
grep '>' test.fa | sed 's/>//'

# 显示每条序列长度
# 基本思路将fasta文件多行并单行两列,为序列名和序列
# 统计第二列长度并输出
awk '/^>/ {printf("\n%s\t",$0);next;} {printf("%s",$0);} END {printf("\n");}' test.fa | awk '{print $1,length($2)}'

Windows不用虚拟机或双系统,轻松实现linux shell环境:gitforwindows_第5张图片

现在我们可以在windows里轻松实现大文件操作,文件查看、压缩解决,序列分析,是不是很方便。

筒子们,燥起来吧!

Linux小抄

入门小伙伴推荐学习Linux CheatSheet —— 常用linux命令速记表,来自fosswire.com,有多国语言版本,随身常看,快速入门。

Windows不用虚拟机或双系统,轻松实现linux shell环境:gitforwindows_第6张图片

更深入的学习,推荐陈同博士写过的Linux学习系统推文,现在不用不用装Linux或必须买服务,一个软件就搞定:

  • Linux学习-总目录
  • Linux学习-文件和目录
  • Linux学习-文件操作
  • Linux文件内容操作
  • Linux学习-环境变量和可执行属性
  • Linux学习 - 管道、标准输入输出
  • Linux学习 - 命令运行监测和软件安装
  • Linux学习-常见错误和快捷操作
  • Linux学习-文件列太多,很难识别想要的信息在哪列;别焦急,看这里。
  • Linux学习-文件排序和FASTA文件操作
  • 用了Docker,妈妈再也不担心我的软件安装了 - 基础篇
  • Linux服务器数据定期同步和备份方式
  • 不用Linux也可以的强大文本处理方法
  • Linux学习 - 又双叒叕一个软件安装方法
  • 查看服务器配置信息
  • Linux学习 - SED操作,awk的姊妹篇
  • Linux学习 - 常用和不太常用的实用awk命令
  • Bash概论 - Linux系列教程补充篇

Reference

官方:https://gitforwindows.org/

Windows平台下Git的安装与配置 http://mp.weixin.qq.com/s/32bVu-pjbPI70KuNgQBMug

Linux小抄 cheatsheet 多国语言版: https://fosswire.com/

猜你喜欢

  • 热文:1高分文章 2不可或缺的人 3图表规范
  • 一文读懂:1微生物组 2寄生虫益处 3进化树
  • 必备技能:1提问 2搜索 3Endnote
  • 文献阅读 1热心肠 2SemanticScholar 3geenmedical
  • 扩增子分析:1图表解读 2分析流程 3统计绘图 4功能预测
  • 科研经验:1云笔记 2云协作 3公众号
  • 系列教程:1Biostar 2微生物组 3宏基因组
  • 生物科普 1肠道细菌 2人体上的生命 3生命大跃进 4细胞的暗战 5人体奥秘

写在后面

为鼓励读者交流、快速解决科研困难,我们建立了“宏基因组”专业讨论群,目前己有国内外1200+ 一线科研人员加入。参与讨论,获得专业解答,欢迎分享此文至朋友圈,并扫码加主编好友带你入群,务必备注“姓名-单位-研究方向-职称/年级”。技术问题寻求帮助,首先阅读《如何优雅的提问》学习解决问题思路,仍末解决群内讨论,问题不私聊,帮助同行。
image

学习扩增子、宏基因组科研思路和分析实战,关注“宏基因组”
image

自学Linux命令和分析数据可以看此文,想加速学习的小伙伴,可以点击文末链接,参加我们的培训班,老司机助力你节省时间,快速入行。
https://mp.weixin.qq.com/s/5jQspEvH5_4Xmart22gjMA

你可能感兴趣的:(shell)