生物信息学为什么使用Linux?
Linux性能相较于Windows与macOS更强,更适合作为服务器使用。生物信息学需要处理大量的数据,因此更注重于稳定性。
Linux应该使用那个版本?
Linux的学习难度?
Linux存在桌面版与服务器版两种形式,服务器版本会有更高的学习难度。
使用Linux的三种方式
登陆进入虚拟机后,输入用户名和密码登录
作为远程服务器,首先需要知道虚拟机的IP地址:ip addr show
可以看见,虚拟机的IP地址为:10.15.217.96(每人均不同)。有了这个地址之后,我们便可以远程登陆服务器。
我们获取了服务器地址之后,我们便可以远程进行登陆。如果我们使用的是win系统,那么我们需要下载一个登陆软件进行登陆。我们这里选择的是MobaXterm。
打开MobaXterm后可以见到如下界面,点击左上角的session
点击之后,选择SSH栏,并按照要求依次输入你的服务器地址和用户名(记住:用户名需要勾选)
点击OK,在弹出的界面中输入你的密码(注意:Linux系统下输入密码没有*号显示)
之后我们需要将文件传输到你的服务器上,那么我们就需要一个新的软件:FileZilla
FileZilla在其官网便可免费下载,注意区分电脑32位与64位。打开后展现如下界面:
同样,输入我们服务器的地址与账号密码,便可以远程连接上服务器
在该软件中,拖动即可传输。
ls :可以查看文件概览
ls -l :以列表形式查看文件
ls -lh :将文件大小以k、G等方式标注
ls -a :显示隐藏文件
ls -l ~ :家目录,可以查看自己用户下的文件
以下为该三个命令的使用效果:
wangcc@localhost:~$ ls
rnaseq-apple-training
wangcc@localhost:~$ ls -l
total 4
drwxr-xr-x 7 wangcc wangcc 4096 Sep 10 03:12 rnaseq-apple-training
wangcc@localhost:~$ ls -lh
total 4.0K
drwxr-xr-x 7 wangcc wangcc 4.0K Sep 10 03:12 rnaseq-apple-training
如果我们需要查看文件夹里的内容,该怎么办呢?
使用 “ls 文件名“ 这一个命令
wangcc@localhost:~$ ls -lh rnaseq-apple-training
total 92K
-rw-r--r-- 1 wangcc wangcc 13K Sep 10 03:12 01-linux.Rmd
-rw-r--r-- 1 wangcc wangcc 10K Sep 10 03:12 20-R_basic.Rmd
-rw-r--r-- 1 wangcc wangcc 2.1K Sep 10 03:12 21-R_tidyverse.Rmd
-rw-r--r-- 1 wangcc wangcc 16K Sep 10 03:12 30-rnaseq-apple-basic.Rmd
-rw-r--r-- 1 wangcc wangcc 3.1K Sep 10 03:12 31-rnaseq-apple-advance.Rmd
-rw-r--r-- 1 wangcc wangcc 2.8K Sep 10 03:12 32-rnaseq-apple-de.Rmd
-rw-r--r-- 1 wangcc wangcc 3.4K Sep 10 03:12 331-human-enrich.Rmd
-rw-r--r-- 1 wangcc wangcc 5.0K Sep 10 03:12 332-apple-enrich.Rmd
-rw-r--r-- 1 wangcc wangcc 1.4K Sep 10 03:12 37-pca.Rmd
drwxr-xr-x 2 wangcc wangcc 4.0K Sep 10 03:12 Enrichment-clusterprofiler
drwxr-xr-x 7 wangcc wangcc 4.0K Sep 10 03:12 linux-basic
drwxr-xr-x 2 wangcc wangcc 4.0K Sep 10 03:12 R_basic
drwxr-xr-x 4 wangcc wangcc 4.0K Sep 10 03:12 RNASeq-downstream
drwxr-xr-x 9 wangcc wangcc 4.0K Sep 10 03:13 RNASeq-ref
wangcc@localhost:~$
小技巧:
ls -lh / : 查找根目录
wangcc@localhost:~$ ls -lh /
total 60K
lrwxrwxrwx 1 root root 7 Sep 10 01:16 bin -> usr/bin
drwxr-xr-x 3 root root 4.0K Sep 10 01:50 boot
drwxr-xr-x 17 root root 3.2K Sep 10 03:23 dev
drwxr-xr-x 86 root root 4.0K Sep 10 03:50 etc
drwxr-xr-x 3 root root 4.0K Sep 10 01:51 home
lrwxrwxrwx 1 root root 31 Sep 10 01:30 initrd.img -> boot/initrd.img-4.19.0-25-amd64
lrwxrwxrwx 1 root root 31 Sep 10 01:17 initrd.img.old -> boot/initrd.img-4.19.0-13-amd64
lrwxrwxrwx 1 root root 7 Sep 10 01:16 lib -> usr/lib
lrwxrwxrwx 1 root root 9 Sep 10 01:16 lib32 -> usr/lib32
lrwxrwxrwx 1 root root 9 Sep 10 01:16 lib64 -> usr/lib64
lrwxrwxrwx 1 root root 10 Sep 10 01:16 libx32 -> usr/libx32
drwx------ 2 root root 16K Sep 10 01:16 lost+found
drwxr-xr-x 3 root root 4.0K Sep 10 01:16 media
drwxr-xr-x 2 root root 4.0K Sep 10 01:16 mnt
drwxr-xr-x 2 root root 4.0K Sep 10 01:16 opt
dr-xr-xr-x 131 root root 0 Sep 10 03:23 proc
drwx------ 2 root root 4.0K Sep 10 01:16 root
drwxr-xr-x 17 root root 520 Sep 10 03:24 run
lrwxrwxrwx 1 root root 8 Sep 10 01:16 sbin -> usr/sbin
drwxr-xr-x 2 root root 4.0K Sep 10 01:16 srv
dr-xr-xr-x 13 root root 0 Sep 10 03:23 sys
drwxrwxrwt 8 root root 4.0K Sep 10 03:23 tmp
drwxr-xr-x 13 root root 4.0K Sep 10 01:16 usr
drwxr-xr-x 11 root root 4.0K Sep 10 01:16 var
lrwxrwxrwx 1 root root 28 Sep 10 01:30 vmlinuz -> boot/vmlinuz-4.19.0-25-amd64
lrwxrwxrwx 1 root root 28 Sep 10 01:17 vmlinuz.old -> boot/vmlinuz-4.19.0-13-amd64
根目录中home是重要的目录,每一个链接到服务器的用户,均会在home中建立一个新目录。
pwd:显示当前目录。这是一个重要的命令,可以知道用户当前处于什么目录之中。
cd 文件夹名:该命令可以让用户进入不同的目录之中。
cd:单独的cd命令可以让用户重新回到home之中。
wangcc@localhost:~$ pwd
/home/wangcc
wangcc@localhost:~$ cd rnaseq-apple-training/
wangcc@localhost:~/rnaseq-apple-training$
wangcc@localhost:~/rnaseq-apple-training$ pwd
/home/wangcc/rnaseq-apple-training
wangcc@localhost:~/rnaseq-apple-training$ cd linux-basic/
wangcc@localhost:~/rnaseq-apple-training/linux-basic$ pwd
/home/wangcc/rnaseq-apple-training/linux-basic
wangcc@localhost:~/rnaseq-apple-training/linux-basic$
“/ ”: 根目录
”~“ : home 目录
“.” :当前目录
“…” : 上一级目录
”pwd“ : 打印当前所在目录
cat 文件名:可以查看文件内容(大文件不适合使用cat去查看)
tac 文件名:倒置输出文件内容
less 文件名:查看文件内容,但不是全部打印出来的形式(需要退出可以按q键)。在less下,输入/+需要查找的内容,可以立马显示出来 。
less -N:在less输出的列表中加入行号
less -S:整齐显示列表(内容不换行)
more 文件名:与less类似
head 文件名:查看文件前十行
tail 文件名:查看后十行
head -n x:查看前x行
ctrl+c:终止命令的运行
ctrl+l:清空
wc:用于查看文件有多少行
“>”:重定向符(覆盖)
“>>”:追加
“|”:链接两段命令
grep “字符”:用于检索出所有带所需字符的行
grep -c :计算出所需字符有多少个
“*”:通配符。可以代表任何所需,例如:ls -l *.fasta ,可以检索出所有带fasta后缀的文件
sort:排序
uniq:去除重复
su - :切换root账户
下方是各命令演示结果图:
less 命令演示
VI编辑器的模式
一、一般模式
输入vi之后可以对文件进行修改,当我们输入vi进入界面之后,我们处于一般模式。但一般模式是无法进行编辑内容的,在一般模式下可以进行的操作有:
删除命令:双击dd
撤销命令:按下u
二、编辑模式
按下 i 可以进入编辑模式,此时左下角会显示
三、命令行模式
输入:可以进入命令行模式,在该模式中可以通过输入不同的命令来对文件进行控制。
相关命令:
q:退出
w:保存
!:不保存
四、替换的方法
输入:,进入命令模式
如果是把cv替换成tv,则s/cv/tv,但这种方式只能替换光标所在一行的第一个
全行替换:s/x/x/g,当前行全部替换
全局替换:%s/x/x/g,全部内容选中替换
五、恢复文件的方式
在意外断电之后,vim会将文件留于缓存文件中,可以重新恢复
压缩:gzip+文件名
解压缩:gunzip+文件名
Linux下若想将多个文件压缩在一起,需要要进行两项操作:
打包:tar -c -f 打包后的名字.tar 文件1 文件2 文件3
其中tar 为打包/解包命令, -c为打包, -f后输入打包后的名字
解包:tar -x -f 解包文件名.tar
但是打包后再压缩很麻烦,我们可以直接再一个命令中进行两步操作:
打包后压缩: tar -z -c -f 文件名.tar.gz 文件1 文件2 …
多个文件打包+解压缩的操作可能会耗费很长时间,这时候我们又不知道电脑进行到哪一步操作了,我们可以用“-v”这个命令来查看压缩的进度:
tar -z -c -v -f 文件名.tar.gz 文件1 文件2 文件3
这个命令看上去是不是狠繁琐?那这时候我们就可以把这个几个命令放在一起去写:
tar -zcvf 文件名.tar.gz 文件1 文件2
注意:z c v 这几个值是可以相互更换顺序的,但是f不能更换,因为后面跟着一个值