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

windows缺少shell命令支持 用过Linux服务器分析数据的小伙伴,一定对Linux强大Shell命令所折服,经常会感觉windows缺少这些命令而感觉不方便。 还有想学习Linux Shell命令的小伙伴,一直没有...

windows缺少shell命令支持

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

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

image

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

image

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

image

现在你有了一个功能强大的终端,管理你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支持哪些常用命令

image

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

其实我们常用的也就几个

  • 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)}'

image

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

筒子们,燥起来吧!

Linux小抄

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

image

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

Reference

官方:https://gitforwindows.org/

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

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

猜你喜欢

写在后面

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

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

  • 发表于 2018-02-11 23:05
  • 阅读 ( 3501 )
  • 分类:编程语言

0 条评论

请先 登录 后评论
不写代码的码农
刘永鑫

工程师

64 篇文章

作家榜 »

  1. 祝让飞 118 文章
  2. 柚子 91 文章
  3. 刘永鑫 64 文章
  4. admin 57 文章
  5. 生信分析流 55 文章
  6. SXR 44 文章
  7. 张海伦 31 文章
  8. 爽儿 25 文章