晓亮自学生信笔记【wx公众号】

V1

2022/10/08阅读:33主题:默认主题

常用的linux命令

常用的linux命令

1. 命令逻辑

在liunx中几乎所有命令以及软件运行的逻辑,都是

命令或者软件名开头+具体运行参数+文件名

命令逻辑(格式):

命令 + 参数 + 文件

options parameter filename
例子1:
tar -zxvf data.tar.gz
例子2:
bowtie -v 0 -x 参考基因组 -1 reads1 -2 reads2 -S 输出文件

在例2中,
bowtie为命令;
-v,-x,-1,-2,-S都为参数;
参考基因组,输出文件,reads1/2为文件

2. 命令快捷键


pwd:   print working directory 显示工作目录
 
cd:    change directory 切换目录
 
ls:    list information about the files 显示当前目录文件信息
 
. :    当前目录 

..:    上级目录
 
~ :   家目录
 
/ :    根目录或者目录分隔符
 
Tab    :补全
 
Ctrl C : 终止任务 #遇到刷屏的时侯,很有用
 
Ctrl U : 剪切光标位置到行首的字符
 
Corl K : 剪切光标位置到行尾的字符
 
Ctrl L : 清屏
 
Ctrl E : 回到行尾
 
Ctrl A : 行首
 
Ctrl W : 剪切一个单词
 
Ctrl Y : 粘贴
 
Ctrl Z : 暂停任务

3. CD命令(切换文件夹)

cd   ##切换到上层目录 相对路径
 
cd ../..  ##切换到上上层目录 相对路径

cd /    ##切换到根目录

cd /bin ##切换到根目录下的bin,绝对路径

cd ~   ##回到用户家目录
cd      ##同上
cd -   ##返回上一次的工作目录

4.ls 显示当前目录文件信息

-a ##列出全部文件,包括隐藏文件
-l ##列出目录详细信息
-h ##将目录容量转换为人类易读方式 human
-s ##以文件大小排序 size
-t ##以时间排序 time
-R ##递归目录列出文件
-d ##显示目录本身,而非目录下文件、
我常用:ls  -ltAh
每次输很麻烦,可以将这个命令写入到.bashrc文件中,
以后每次输入lr就可以了,如下图。
vim ~/.bashrc
 alias lr='ls -ltAh --color' 

5.建立文件夹或者文件

创建文件夹:
mkdir  make a directory
mkdir fileName

创建文件:
touch 摸出一个文件,空格连续创建多个文件夹
touch 2 3 4 5  
> 标准重定向符允许我们创建一个 0KB 的空文件。
vim fileName 

6. 文件命名规则和方式

规则:
不要用 / ,所有的字符都合法。
空格符、制表符、特殊字符 @  $ & ( ) - 等,
最好不要用。

方式:
 连字符间隔
 my_first_type
 
 蛇形命名
 myFirstName
 
一般用连字符间隔更好一点,避免出错

7.文件移动删除复制命名


- 移动  mv filename  路径
- 重命名 mv file file2 
- 复制 cp filename 路径
- 删除 rm 文件名
- 批量删除 rm -rf *共有文件名部分
         - [-f]  ## force 强制删除
         - [-i]  ## 在删除前提醒
         - [-r]  ## 删除文件夹 

例如 rm -rf *fastq 
删除所有以fastq结尾的文件。
   

8.创建软链接

- 相当于创建快捷方式
- ln link 链接
   - 软链接(常用)
   - 硬链接(默认)
- 常见参数:不加参数为硬链接 加 -s 软链接
- ln -s 路径   (绝对路径)
- ln -s 目标文件  目标路径

9.文件夹和文件管理

- tar : tape archive 压缩或者解压文件
   - -c  ##   创建新的压缩文件
   - -x  ##   解压缩
   - -f  ##   输出结果到文件或设备
   - -v ##   在处理文件时显示进度
   - -j  ##   输出bzip2
   - -z ##   输出给gzip
 -  解压 (常用)
   - tar -zxvf  压缩包名 
   - tar -zxvf *tar.gz (批量解压)
  
  - 压缩 (常用)
    - tar -zcvf  压缩后的名称 待压缩文件名
        

10. 文件查看

- cat     
  -A ## 列出所有内容
  -n ## 打印出行号 
  -b ## 参数仅打印出非空白行号    
 cat >file   [>重定向]  看到的输出的一个文件里
 cat >>file 不覆盖原文件内容,添加内容到文件里
 
- zcat 查看压缩文件 
- tac 逆向查看 

- head 看头十行   -n ##参数看多少行
- |  管道符 ## 前一个命令结果 输出到 下面命令
- tail  -n 100 ##看后100行,默认10行

- more 主页查看 空格翻页,回车换行。

- less  
   - -N 显示行号
   - -S 单行显示
   - zless 查看压缩文件[[#^ua4qw9]]
   - q 退出
   - 空格翻页
   - enter 下一行
   - 上下左右查看文本内容
 常用 less -ns  单行查看并且显示行号

11. 文本查看 操作 统计

- wc 统计文本 words count
   - -l 统计行数
   - -w 统计字符串数
   - -c 统计字节数
   - cat fileName | wc -l


- cut #####文本切割
   - -d ## 指定分隔符 默认 \t (制表符)
   - -f ## 输出哪几列 (字段fields) 5,1-3
   - less -NS 文件名 | cut -f  数字(第几列)
   - less -S 文件 | cut -d 'F' 1
  cat NPB_bwa_clean.out | cut -f 98,698 > NPB_bwa_clean_600line.bam

- sort #####排序 
   - -n 按照数值从小到大排序
   - -V  按照字符串中含有的数值进行排序
   - -r 逆向排序
   - -k 指定区域
   - -t 指定分隔符

- uniq :####去除重复行(只能去除相连的重复)
    - -c 统计每个字符串连续出现的行数
    - cat file1 | cut -f 3 | sort | uniq -c
    
- paste #####文本合并(合并到文件的右边)
    - -d 指定分隔符
    - -s 按行合并  
    - cat 文件1 文件2 > 文件3 用于文件拼接

12. 文件字符编辑

- tr #### 字符替换
  - -d 删除指定字符
  - -s 缩减连续重复字符
  - cat 文件名 | cut -f 4 | head | tr ' ' '\t'(把空格替换成tab键)


- grep 文本搜索工具,可以使用正则表达式匹配模式搜索文本,并把匹配行打印出来
  - -w word精确查找某个关键词
  - -c 统计匹配成功的行的数量
  - -v 反向选择,即输出没有没有匹配的行
  - -n 显示匹配成功的行所在的行号
  - -r 从目录中查找pattern
  - -e 指定多个匹配模式
  - -f 从指定文件中读取要匹配的pattern
  - -i 忽略大小写

正则表达式 是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符,及这些特定字符的组合,组成一个 ”规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。
  - ^  行首
  - $ 行尾
  - .  换行符之外的任意单个字符
  - ?匹配之前项0次或者一次
  - + 匹配1次或者多次
  - * 匹配0次或者多次
  - {n} 匹配n次
  - {n,}匹配至少n次
  - {m,n}至少m,最多n
  - [] 匹配任意一个
  - [^] 排除字符
  - | 或者

- cat fileName | grep '^A'
- cat fileName | grep ')$'


流编辑器 一般用来对文本进行增删改查(直接显示屏幕上)
- sed -选项    ‘脚本’   文件名
 - -n 禁止显示所有输入内容,只显示经过sed处理的行
 - -e 直接在命令模式下进行sed的动作编辑,接要执行的1或多个命令
 - -i 直接修改读取的文件内容,不输出 
 - script 脚本
   - 2 取第二行
   - 2,4 取第二行到第四行
   - 2,$ 取第二行到最后一行
   - 2~3 从第二行开始,每隔三行取一行
   - 2,+4 取第二行到2+4行
   - /pattern/ 匹配上 pattern 的行
   - [!]表示否定
   - a: append 在指定行**后**添加一行内容为 a 后面接的字串
   - i: insert 在指定行**前**增加一行 ,内容为 i 后面接的子串
   - -d: delete 删除某一行或者某几行,也可指定删除匹配上的行
   - c: change 改变指定行的内容
   - s 替换 使用格式为 ’s/pattern(要替换的字符)/new(字符)[flags]'
   把pattern替换成new,默认只替换一个,可以指定flag替换多少
   - y 转换 实现字符一对一转换 格式 ‘y/inchars/outchars/'

   - p: print 把匹配或者修改的行打印出来,通常与-n联用

- sed提取某一行
sed -n '1,10p' > a.txt

- 统计特定字符串出现的次数

grep -o targetStr 文件名 | wc -l
  
grep -o targetStr_1\|targetStr_2\|targetStr_3…… 文件名 | wc -l

awk -v RS="@#$j" '{print gsub(/N/,"&")}' 文件名

分类:

后端

标签:

后端

作者介绍

晓亮自学生信笔记【wx公众号】
V1

农学在读博士,持续分享生信方面的学习笔记