服务器windows模拟linux环境,科学网—Windows不用虚拟机或双系统,轻松实现shell环境:gitforwindows - 刘永鑫的博文...

windows缺少shell命令支持

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

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

ebe6888463c1dc57e2807bbe6751a1b7.png

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

b36f57f68071b3109de537369e5be29c.png

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

d1c68c770c9c9373157c947389f83fb7.png

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

bd3a07bad501848407117def9a1dc93e.png

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

其实我们常用的也就几个: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)}'

2b036130f7da434da85656b2dc6f4915.png

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

筒子们,燥起来吧!

Linux小抄

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

cceb243181118a980af0d61c87924c61.png

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

Reference

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

猜你喜欢

写在后面

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

7bc52bb07b08e5e9b742c8f28088edc7.png

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/334260.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Mac OS 系统的发展历史

文章目录System 1.0(1984)System 2.0(1985)System 3.0(1986)System 4.0(1987)System 5.0(1987)System 6.0 (1988)System 7 (1991 )Sys…

pythonselenium兼容性_对于旧版Google Chrome,无法在Python中使用Selenium找到Chrome

出于兼容性原因,我更喜欢将Chrome版本55.0.2883.75与Chromedriver v.2.26一起使用。我从https://www.slimjet.com/chrome/google-chrome-old-version.php和Chromedriver 2.26从https://chromedriver.storage.googleapis.com/index.html?path下载了较旧版本的chrome…

弱投影模型_通过投影增强数据模型

弱投影模型介绍 数据模型可能很棘手。 建模可能会更加困难。 有时候,应该放入数据库表中的信息不一定是我们要在每段代码中使用的信息。 和其他许多次一样,Spring来了。 一个称为投影的小功能可以帮助我们在普通界面中仅用几行数据映射数据。 在本文中…

苹果公司的电脑发展史——硬件篇

文章目录一、Apple I(1976)二、Apple II(1977)三、Lisa(1983)四、Macintosh(1984)五、PowerBook(1991)六、iMac(1998)七、iBook&#…

linux attach 指令,以太坊实战-attach命令详解

在前面的实战教程中我们经常提到attach这个命令,今天就针对此命令做更深一步的介绍。官方对此参数的解释如下:attach Start an interactive JavaScript environment (connect to node)也就是说它是一个连接到节点的JavaScript环境的交互窗口。通过它我们…

my.ini修改后服务无法启动_Spring Cloud Eureka 服务实现不停机(Zero-downtime)部署

问题互联网产品高速迭代,通常伴随着高频次的版本发布。部署新版上线需要重启服务,直接 kill 服务进程可能会造成服务短暂不可用,从而影响到正在使用的用户。Spring Cloud 项目中一般会用到 Ribbon 作为负载均衡,那么是不是只要保证…

苹果电脑 Mac OS X 系统诞生的故事和发展历史

文章目录CoplandNeXTRhapsodyOS XPublic Beta (Kodiak)Mac OS X v10.0 (Cheetah)Mac OS X v10.1 (Puma)Mac OS X v10.2 (Jaguar)Mac OS X v10.3 (Panther)Mac OS X v10.4 (Tiger)Mac OS X v10.5 (Leopard)Mac OS X v10.6 (Snow Leopard)Mac OS X Lion2001 年 3 月 24 日&#x…

linux系统普通用户ssh不能登陆,关于CentOS普通用户无法登录SSH问题

Linux命令的返回码列表转自:http://blog.chinaunix.net/uid-10347480-id-3263127.html 在 Linux 下,不管你是启动一个桌面程序也好,还是在控制台下运行命令,所有的程序 ...iOS开发 GET、POST请求方法(NSURLConnection篇)Web Service使用的主要协议是HTTP协议,即超文本传输协议.…

sap打勾选项记录_记录意外的开关选项

sap打勾选项记录Java开发人员可以做很多事情来使自己的生活以及维护该代码的其他人的生活更加轻松。 在本文中,我将探讨开发人员可以采用的一种非常简单的方法,以使每个人都更轻松。 对于每个阅读这篇文章的人来说,这篇文章的要点似乎都很明显…

Mac OS 的历史

文章目录概述1980年代前20世纪80年代20世纪90年代2000年以后概述 纵观电脑之历史,操作系统与计算机硬件的发展息息相关。 操作系统之本意原为提供简单的工作排序能力,后为辅助更新更复杂的硬件设施而渐渐演化。 从最早的批处理模式开始,分…

linux升级tls,为CentOS升级OpenSSL 让Nginx支持TLS 1.2

最近在调试微信小程序时,发现wx.request请求总是无法正确获取服务器端的数据,经过检查发现是因为服务器端https不支持微信要求的TLS 1.2版本。登录到服务器上,用openssl version -a命令查询,发现版本是0.9.8e,查阅文档…

java 反射 速度_Java反射,但速度更快

java 反射 速度在编译时不知道Java类的最快方法是什么? Java框架通常会这样做。 很多。 它可以直接影响其性能。 因此,让我们对不同的方法进行基准测试,例如反射,方法句柄和代码生成。 用例 假设我们有一个简单的Person类&#x…

macOS 内核之 OS X 系统的起源

文章目录一、苹果公司早期(1972-1991)二、苹果在操作系统上的尝试(1991-1997)2.1 Star Trek 项目 (1992-1993)2.2 Copland-Mac OS 8 (1994-1996)三、收购与转折(1996-1997)四、NeXT 篇章4.1 NEXTSTEP(1985-1997)4.2 OpenStep(1993-1997)五、Mach 的历史5.1 Rochester’s Intell…

docker create_Docker动手教程2.2:容器基本操作2

内容摘要暂停/取消暂停容器删除容器进入容器创建容器暂停/取消暂停容器暂停容器命令:docker pause 容器ID/容器名注意STATUS列,被暂停的容器的状态依旧是“Up”,但是后面括号显示为“Paused”。取消暂停命令:docker unpause 容器I…

c语言全局变量和局部变量作用域重合时,c语言全局变量与局部变量(当变量重名时)的使用情况...

ABP框架 - 时间文档目录 本节内容: 简介 时钟 客户端 时区 客户端 绑定器与转换器 简介 虽然有些应用目标市场只是在一个时区,有些应用目标市场是许多不同时区,为满足这种需求并集中化日期操作,ABP为日期操作提供公 ...mvc5+ef6+Bootstrap 项目心得--身份验证…

jdbc连接gp单例模式_JDBC连接备忘单

jdbc连接gp单例模式抽象 这是常见数据库的JDBC连接的快速参考。 我似乎必须大量查找此信息&#xff0c;因此我认为最好将所有参考资料放在一个地方。 德比 <dependency><groupId>org.apache.derby</groupId><artifactId>derbyclient</artifactId&g…

关于 Mac OS X 内核技术来源

Mach&#xff08;Multiple Asynchronously Communication Hosts&#xff09; 是一个由卡内基梅隆大学开发的操作系统内核&#xff0c;Mach的开发是为了取代BSD的UNIX核心。 Mach 内核的设计目标之一是要兼容 Unix 系统。 当初他们的设想是&#xff0c;真正的操作系统可以作为一…

得到appd url_AppD方法:Java 9支持

得到appd url通过从您的应用程序学习企业APM产品&#xff0c;发现更快&#xff0c;更有效的性能监控。 参加AppDynamics APM导览&#xff01; 阅读有关Java 9模块化功能带来的挑战以及AppDynamics保持在该领域的领导者的严格要求的更多信息。 我们很高兴宣布Java 17全面支持&…

python有趣的面试题_python面试题目

问题一&#xff1a;以下的代码的输出将是什么? 说出你的答案并解释。 class Parent(object): x 1 class Child1(Parent): pass class Child2(Parent): pass print Parent.x, Child1.x, Child2.x Child1.x 2 print Parent.x, Child1.x, Child2.x Parent.x 3 print Parent.x,…