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/
Git本来是github网站推出的代码版本备份和管理软件,但其也提供了高仿真的shell命令,使用windows用户体验相似的Linux强大命令行工具。

点击页面中“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/

猜你喜欢

10000+:菌群分析 宝宝与猫狗 梅毒狂想曲 提DNA发Nature Cell专刊 肠道指挥大脑

系列教程:微生物组入门 Biostar 微生物组  宏基因组

专业技能:学术图表 高分文章 生信宝典 不可或缺的人

一文读懂:宏基因组 寄生虫益处 进化树

必备技能:提问 搜索  Endnote

文献阅读 热心肠 SemanticScholar Geenmedical

扩增子分析:图表解读 分析流程 统计绘图

16S功能预测   PICRUSt  FAPROTAX  Bugbase Tax4Fun

在线工具:16S预测培养基 生信绘图

科研经验:云笔记  云协作 公众号

编程模板: Shell  R Perl

生物科普:  肠道细菌 人体上的生命 生命大跃进  细胞暗战 人体奥秘  

写在后面

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

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

点击阅读原文,跳转最新文章目录阅读

你可能感兴趣的:(Windows轻松实现linux shell环境:gitforwindows)