截屏2022-05-11 09.47.56.png

Mac电脑登陆服务器老是掉线怎么办?

对于 Mac pro 来说,经常出现一种情况是 :登录服务器没问题,但是超过 5 分钟不操作就会出现问题,没法输入,不得不重启 终端 或者 iTerm2 。解决方法是:
【1】在mac,打开终端,不要登录服务器
【2】然后在本地运行下面命令

  1. cat > ~/.ssh/config
  2. Host *
  3. ServerAliveInterval 120
  4. TCPKeepAlive no
  5. ^C(注意,这一行是按 Ctrl C ,不用粘贴这一行)

如何登陆服务器?

登录方式为:ssh 用户名@ip地址,如:

  1. ssh May21@94.191.82.93

回车,然后输入密码,Mac输入密码没有提示,全靠意念
成功登陆会显示用户名,如下
截屏2022-05-11 09.51.38.png

如何退出登陆服务器?

  1. exit

输入exit即可退出登陆

如何修改命令行配色?

无脑运行以下代码即可

  1. echo 'export PS1="\[\033]2;\h:\u \w\007\033[33;1m\]\u \033[35;1m\t\033[0m \[\033[36;1m\]\w\[\033[0m\]\n\[\e[32;1m\]$ \[\e[0m\]"' >> ~/.bashrc
  2. source ~/.bashrc

本地电脑如何跟服务器互传文件?

Mac电脑需要Filezilla软件传输,Filezilla需要登陆服务器,然后拖动文件即可

截屏2022-05-11 10.11.30.png

Linux系统简介

在Linux中,一切皆文件,/ 表示根目录

文件夹管理或路径有关符号

. 表示当前目录(但是.出现在文件名开头,表示该文件为隐藏文件,不可以轻易改动的文件)
.. 表示上级目录
~ 表示家目录,每个用户的家目录都不同
/ 目录层级分隔符: 只有当/ 在路径的最前面才表示根目录,其他位置的/ 都是目录层级分隔符

命令格式:命令 + 参数 + 文件

  1. command [-options [parameter] ] [FILE] <br />command:命令名,相应功能的单词或缩写<br />[ ] 中括号内的内容y有时可以省略<br />options:选项,用来对命令进行控制,也可以省略,两种格式:-h, --help<br />parameter:传给命令的参数,可以是零个、一个或者多个<br />FILE:要处理的文件<br />![截屏2022-05-09 21.25.04.png](https://cdn.nlark.com/yuque/0/2022/png/28217726/1652102726872-625c540b-386e-42e6-a02d-877c62f1a377.png#clientId=ucec09d22-0d31-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=467&id=u7cbc0ca6&margin=%5Bobject%20Object%5D&name=%E6%88%AA%E5%B1%8F2022-05-09%2021.25.04.png&originHeight=934&originWidth=1668&originalType=binary&ratio=1&rotation=0&showTitle=false&size=729793&status=done&style=none&taskId=uf7de1509-325c-43e6-ae30-2a66ba5553a&title=&width=834)

文件夹与文件管理命令

内容概要:
截屏2022-05-11 10.34.26.png

1. pwd: print working directory 打印当前工作目录

  1. 应用很少

2. ls: list information about the FILE

常见参数: -a ## 列出全部的文件,连同隐藏文件也一起列出来
-h ## 将目录容量转换为以易读的方式(例如 GB, KB 等等)
-l ## 列出目录的详细信息
-S ## 以文件大小排序,注意是大写 S
-t ## 以时间排序
-R ## 递归目录列出文件
-d ## 显示目录本身,而非目录下文件
截屏2022-05-11 13.13.30.png
截屏2022-05-11 13.15.36.png
ls 的常见用法:ls [参数] [路径/目录/文件名]
ls ## 列出当前目录的文件
ls ./ ## 同上,‘.’号代表当前目录
ls ./*txt ## 列出当前目录下以 txt 结尾的文件
ls ../ ## 列出上层目录的文件
ls -a ## 列出当前目录下的所有文件,包括隐藏文件
ls -l ## 列出当前目录下文件的详细信息
ll ## 等同ls -la ,自定义的别名
ls -lh ## 加上 -h 参数,以 K、M、G 的形式显示文件大小
ls -lh / ## 列出根目录下文件的详细信息

3. cd: change the shell working directory

常见参数:没有
常见用法:cd [路径/目录]
cd .. ## 切换到上层目录,相对路径
cd / ## 切换到根目录
cd /teach/ ## 切换到根目录下的teach,绝对路径
cd - ## 返回上一次的工作目录
cd ~ ## 回到用户家目录
cd ## 同上,回到用户家目录

*绝对路径:从根目录开始引起的全路径

*相对路径:就是相对于当前工作目录的路径(不从根目录开始的路径)

4. mkdir: make directory(ies)

常见参数:-p/—parents,递归创建目录
常见用法:mkdir [-p] 目录名
注意:mkdir 只能创建单层文件夹,mkdir -p 则可以递归创建目录,在文件夹下再创建文件夹
截屏2022-05-11 13.50.58.png
截屏2022-05-11 13.51.15.png

5. touch 新建文件

常见参数:没有
常见用法:touch file
截屏2022-05-11 14.02.42.png
{1..5} 表示1、2、3、4、5,提高效率
文件(夹)命名不要出现空格,可用下划线代替

6. mv 移动或者重命名 ,move source(s) to directory, or rename source to dest.

常见用法:mv 待移动的文件 移动到哪个目录
截屏2022-05-11 14.15.07.png
移动并重命名的操作只能针对单个文件,不能针对多个文件

7. rm 删除 remove

常见参数: -f ## force,不显示警告信息
-i ##在删除前会询问客户
-r ## 递归删除文件夹,逐层进入文件夹删除,再逐层退出删除
常见用法:rm [-option] file
截屏2022-05-11 20.55.59.png

8. cp: copy and paste

常见参数: -r ## 递归地拷贝文件夹
常见用法:cp [-option] source(要拷贝的文件) directory(目标位置)

9. ln 链接,分为软链接(常用)和硬链接(默认)

常见参数:-s
不加参数即为硬链接,加-s为软链接
软链接类似于快捷方式,一般链接具体文件,而非文件夹
常见用法:ln -s target(要链接的文件) directory(目标位置)
截屏2022-05-11 21.09.06.png
软链接路径错误时,ls后颜色不对

10. tar: tape archive 压缩或者解压文件

常见参数:-c ##创建压缩文件
-x ##解压已有的压缩文件
-f ##输出结果到文件或设备
-v ##处理文件时显示进度
-j ##将输出重定向给bzip2命令
-z ##将输出重定向给gzip命令
常见用法:
解压:tar [参数] [待解压包]
压缩:tar [参数] <压缩后文件名> [待压缩文件/目录]
截屏2022-05-11 21.29.16.png
—help 可以查看帮助文档
Linux命令大全(手册) https://www.runoob.com/linux/linux-command- manual.html
鸟哥的Linux私房菜:基础学习篇 第四版 https://wizardforcel.gitbooks.io/vbird-linux- basic-4e/content/

文本查看、操作、统计命令

1. cat: concatenate 查看文本文件的内容,输出到屏幕

常见参数:-A,打印所有内容,包括特殊字符,包括制表符
-n,打印出所有行号; -b仅打印非空白行行号
截屏2022-05-11 21.51.45.png
截屏2022-05-11 21.54.18.png
常见用法: cat > 空文件或想覆盖的文件名(可以创建新文件)>表示重定向
回车可以给文件写入内容,原本的内容会被覆盖
^c(control+c)结束命令
cat >> 表示追加,不会覆盖原文件的内容,会加在源文件后面

tac

tac 命令查看文件会把最后一行首先输出,与cat相反

2. head/tail -n:查看文件的前/后n行,默认10行

| Linux管道符号,前面命令的输出作为后面命令的输入

  1. cat Data/example.gtf | head -n 3 # 取example.gtf文件的前3行

\t 制表符,没有固定的长度

  1. cat Data/example.gtf | head -n 3

chr1 ENSEMBL UTR 1737 2090 . + . gene_id “ENSG00000223972”; transcript_id “ENST00000456328”; gene_type “protein_coding”; gene_status “KNOWN”; gene_name “RP11-34P13.1”; transcript_type “protein_coding”; transcript_status “KNOWN”; transcript_name “RP11-34P13.1-201”; level 3; havana_gene “OTTHUMG00000000961”;

  1. cat Data/example.gtf | head -n 1 | cat -A #把所有字符都显示出来

chr1^IENSEMBL^IUTR^I1737^I2090^I.^I+^I.^Igene_id “ENSG00000223972”; transcript_id “ENST00000456328”; gene_type “protein_coding”; gene_status “KNOWN”; gene_name “RP11-34P13.1”; transcript_type “protein_coding”; transcript_status “KNOWN”; transcript_name “RP11-34P13.1-201”; level 3; havana_gene “OTTHUMG00000000961”;
cat -A 命令把制表符显示为^I

3. less 【参数】文件名 ,查看大文本文件

常用参数:-N ##显示行号
-S ##单行显示
less 命令不是把问价打印到屏幕,而是新建窗口显示;按 q 退出窗口,返回命令行
在新建窗口中输入/可以搜索关键词,按 n 为下一个,N为上一个
zless 查看压缩文件
more 按空格只能向后翻,上下左右不能向上翻(用得很少)
练习6
Linux基础 22.5.9-22.5.10 - 图18

  1. May21 20:32:20 ~ $ cat > file1 #一定是非重要文件,不然命令一运行就会被覆盖
  2. 1234
  3. abcd #内容一旦写入后,不能随便删除,如有错误,只能重新从头输入
  4. ^C #另起一行,不然^C这行的内容不会被保存
  5. May21 20:59:00 ~ $ ls
  6. Data file file1 Miniconda3-latest-Linux-x86_64.sh readme.txt test2
  7. May21 20:59:11 ~ $ cat file1
  8. 1234 abcd
  1. head Data/example.fq -n 12

截屏2022-05-11 22.29.56.png

  1. less -SN Data/example.gtf

截屏2022-05-11 22.31.22.png

4. wc 统计文本

常用参数:-l 统计行数
-w 统计字符串数
-c 统计字节数

5. cut 文本切割

常用参数:-d 指定分隔符,默认\t
-f 输出哪几列(字段fileds)

6. sort 排序,默认参数是按字典顺序排序

常用参数:-n 按数字从小到大排序
-V 字符串中有数值时,按数值大小排序
-r 逆向排序
-k 指定排序区域
-t 指定其他分隔符,默认是制表符

7. uniq 去除相邻的重复行

常用参数:-c 统计重复出现的
截屏2022-05-11 23.03.16.png截屏2022-05-11 23.04.30.png

8. paste 文本合并 (不会发生循环补齐)

常用参数:-d 指定分隔符,默认\t
-s 按行合并(很少用)
常见用法:paste file1 file2
paste - -
截屏2022-05-11 23.08.09.png截屏2022-05-11 23.08.30.png截屏2022-05-11 23.11.47.png

9. tr 替换字符

常用参数:-d 删除指定字符
-s 缩减连续重复字符
截屏2022-05-11 23.14.18.png
截屏2022-05-11 23.14.41.png
截屏2022-05-11 23.15.03.png
Linux基础 22.5.9-22.5.10 - 图29

  1. less Data/example.gtf wc
  2. cut Data/example.gtf -f 9
  3. cut Data/example.gtf -f 9 | cut -d ';' -f 1
  4. cut Data/example.gtf -f 9 | cut -d ';' -f 1 |sort |uniq -c
  5. cut Data/example.gtf -f 9 | cut -d ';' -f 1 |sort |uniq -c | tr ' ' '\t'

若有收获,就点个赞吧