用过Linux服务器分析数据的小伙伴,一定对Linux强大Shell命令所折服,经常会感觉windows缺少这些命令而感觉不方便。
还有想学习Linux Shell命令的小伙伴,一直没有一个很好的学习环境。双系统安装涉及分区改变对硬盘数据不安全,虚拟机效率太低,服务器也是不每个人都会买的。
现在方便了,Github推出了一款软件 gitforwindows,只有30 M的一个windows软件,却可以取代windows下的dos环境,轻松实现200多个linux命令,让每个windows用户轻松拥有一个功能强大的终端。
Windows用户和Mac只差一个git的距离!
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
选项
左键单击Git Bash Here
即打开Git Bash终端
现在你有了一个功能强大的终端,管理你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支持哪些常用命令
是不是已经很强大了,强大到了一多半你都没用过。刚入门的小伙伴够学习一阵了。
其实我们常用的也就几个:
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 查看压缩文件
我们在桌面上进建一个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 CheatSheet —— 常用linux命令速记表,来自fosswire.com,有多国语言版本,随身常看,快速入门。
更深入的学习,推荐陈同博士写过的Linux学习系统推文,现在不用不用装Linux或必须买服务,一个软件就搞定:
Linux学习-总目录
Linux学习-文件和目录
Linux学习-文件操作
Linux文件内容操作
Linux学习-环境变量和可执行属性
Linux学习 - 管道、标准输入输出
Linux学习 - 命令运行监测和软件安装
Linux学习-常见错误和快捷操作
Linux学习-文件列太多,很难识别想要的信息在哪列;别焦急,看这里。
Linux学习-文件排序和FASTA文件操作
用了Docker,妈妈再也不担心我的软件安装了 - 基础篇
Linux服务器数据定期同步和备份方式
不用Linux也可以的强大文本处理方法
Linux学习 - 又双叒叕一个软件安装方法
查看服务器配置信息
Linux学习 - SED操作,awk的姊妹篇
Linux学习 - 常用和不太常用的实用awk命令
Bash概论 - Linux系列教程补充篇
官方: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扩增子、宏基因组科研思路和分析实战,关注“宏基因组”
点击阅读原文,跳转最新文章目录阅读