Linux学习体会
说到Linux,是我在接触到生物信息学之前完全没有听说过的。
根本不知道除了windows还有Linux操作系统,而我本科生物工程的我不好好做实验为什么要学Linux,完全是我老师是搞生物信息学的。而我也对此比较感兴趣。
于是,就出现了以下对话。
~
R我知道,是R语言。shell又是什么,完全不知道。问了师兄、百度才知道跟Linux有关,是Linux操作系统最外面的一层,俗称壳,用户操作的一个界面,具体的专业解释我也不是很懂。
工欲善其事必先利其器,要学习Linux,首先要有一个学习环境,请教师兄得知要下载Cygwin,将近84个G,整整让我装了差不多一天。之后就是自学了一些很基础的命令,ls、cd、mv、cp、rm、vi、md5sum、cat等,非常基础。但仍感觉一无所知,不知道该学些什么。
打着学习名义混了十几天,老师说有些数据需要处理,让我研究一下STAR怎么用。
一头雾水,无从下手。
网上找资料,着手安装软件。
由于对Linux什么都不懂,软件安装一直报错,也不知道看README.md文件,即使软件装上后也不知道是否安装成功,是真的懵。觉得不行,在网上找了本Linux学习的书刘遄老师的——《Linux就该这么学》,认认真真的看了前5章内容,再思考之前遇到的问题,瞬间觉得思路开阔了不少,对Linux命令、基础概念也有了些许了解,但安装软件什么还是充满疑惑。
这时候有幸接触到生物技能树的jimmy老师,他给了我一份Linux的学习视频,对刚入门生物信息来说,我觉得Linux操作要求不算太高,对于刚入门来说,视频的2~9节完全没有问题,有些部分我甚至还觉得多余,只是打开了解就行,一般情况下用不到。但对于高端一点的操作比如正则表达式、一些提升效率的技巧,还需要自己在日后的学习中再找资料多加练习提升。
刚入门,安装软件的确是一个大问题,马哥视频之外有一个介绍软件安装的视频,那个视频对我帮助很大,之前我是用conda安装软件,看完那个视频后我可以尝试下载二进制软件安装和从源码编译安装。
这是我的学习linux的笔记列表。
软件安装(三种方法)
为什么学Linux
马哥Linux视频第一节
2.1 Linux操作系统及常用命令
2.2 Linux操作系及常用命令
2.3 Linux根文件详解
2.4 Linux文件管理命令详解
3.1 Linux文件管理命令详解
3.2 bash特性详解
3.4 Linux用户及权限详解
4.1 Linux用户管理命令详解
4.2权限及权限管理
4.3管理及I/O重定向
4.4 grep及正则表达式
5.1 egrep及扩展正则表达式
5.2 bash脚本编程之一,变量、变量类型等
5.3 bash脚本编程之二,条件判断
5.4 bash脚本编程之三,条件判断及算术运算
6.1 bash脚本编程之四,整数测试及特殊变量
6.2 sed命令
6.3 bash脚本编程之五,字符串测试及for循环
7.1 vim编辑器详解
7.2 bash脚本编程之六,使用脚本选项及组合条件测试
7.3 Linux文件查找详解
8.1 facl及用户及Linux终端
8.2 bash脚本编程之七,case语句及脚本选项进阶
8.3 磁盘及文件系统管理详解之一
8.4 磁盘及文件系统管理详解之二
9.1 磁盘及文件系统管理详解之三
9.2 磁盘及文件系统管理详解之四
9.3 磁盘及文件系统管理详解之五
9.4 Linux压缩及归档
修改用户密码
自定义shell提示符
环境变量
在学习马哥视频时的一些心得体会也做了一些整理。之所以按章节来做体会总结,是因为在用到那块知识的时候方便查找是哪一章节的,便于再次观看学习。
马哥视频第二节:Linux操作系统及常用命令,这是基础,非常有必要的,虽然我看过一点书,可能理解起来很容易,但视频中仍介绍了一些非常实用的操作技巧及概念;Linux根文件详解,这个让我对一直疑惑的文件命名有了了解,而且很实用,我觉得是必须要了解的,可以避免删错文件;
马哥视频第三节:Linux文件管理命令详解,rm、cp、mv、cat 、less、head、cut、sort 等,没得说,这是必须要掌握的,而且视频中讲的完全够用;bash特性详解,加深理解bash概念和学一些光标跳转、路径补全、命令别名等等一些实用操作技巧;Linux用户及权限详解,了解一些,用的地方不多。
马哥视频第四节:Linux用户管理命令详解,了解,一般是不会用到;权限及权限管理,了解,安装软件时有时候会要更改执行权限。管理及I/O重定向,注意区别<、<<的不同,不要用错哟;grep及正则表达式,重中之重,一遍都不够看的,要多看几遍。虽然现在我也就会匹配一些很基础的,正则表达式我也用的不熟练,我曾rm加正则直接把我结果文件全删了。
马哥视频第五节:egrep及扩展正则表达式,同样重中之重的内容;bash脚本编程之一 、二、三、四、五理,解脚本、变量的概念,讲的也很清楚,干货满满,但我目前用到的脚本不多,还没怎么自己编过脚本。
马哥视频第六节:sed命令,流编辑器,感觉是很重要的,但目前我还没太用过这个命令。
马哥视频第七节:vim编辑器详解,从低端操作到高端操作,讲的很详细,必须要掌握,这个是经常要用到的;bash脚本编程之六 使用脚本选项及组合条件测试,也是脚本的内容,脚本不太好理解,要多看几遍;Linux文件查找详解,很实用;特殊权限SUID等详解,了解就行。
马哥视频第八节:FACL及用户及Linux终端,概念性知识,了解一下;bash脚本编程之七,脚本的进阶学习
马哥视频第九节:磁盘及文件系统管理一、二、三、四、五,讲的很透彻,对磁盘及文件系统的理解非常有帮助,但实际使用的不多;Linux压缩及归档,纯干货,经常用的到。
视频看完后,就去做生信菜鸟团的生信人的考试后,有关Linux操作的题基本都没什么问题,后来又做一些生信菜鸟团的RNA-seq的实战,Linux操作方面是没什么问题。
以上就是我学Linux的过程,对于Linux学习,现在我感觉我也就会一些Linux基本的操作,像高端命令sed,awk、熟练使用正则表达式、脚本的编写等我都不太会,但目前能满足我做毕业实验的操作。其实我觉得Linux基础的东西学习很简单,但要进阶越学越觉得Linux很高深难学,但还好我对此充满兴趣,Linux我会慢慢去探索。
要说如何跨过Linux学习的坎,唯有死磕到底。就比如我之前遇到要改一个shell提示符,怎么改都不成功,后来查了环境变量加载顺序、bash类型和对应的配置文件等等,搞清楚了这些,改对配置文件自然就成功了,这我花费了两三天时间,现在想想也就几秒的事,但对此仍然很开心,因为我搞懂了一个问题,因为我还有死磕的劲头。