查看原文
其他

metagenome 2018-06-02

windows缺少shell命令支持

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

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

现在方便了,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选项

左键单击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 查看压缩文件

简单的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小抄

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

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

Reference

官方:https://gitforwindows.org/

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

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

猜你喜欢

写在后面

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

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

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

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存