常用的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/,"&")}' 文件名
本文由 mdnice 多平台发布