Linux命令非常多,但在小果看来,掌握基本常用的命令就可以了,以下是在生信过程中比较常用的一些简单命令,赶快跟小果一块顺一遍吧!
1 清屏:clear
2 查看IP:ip addr
3 查看时间:date
4 复制:cp
cp 文件 新目录 or cp -r 目录 新目录
5 查看当前目录:pwd
6 显示当前目录内容:ls
ls -l (详细显示目录下内容);ls -lt (按照时间顺序展示目录下内容);ls -ln (按照文件名顺序展示目录下内容)
7 正则表达式:
*(匹配任意数量的字符); ?(匹配一个字符)
8 复制粘贴:Ctrl+Insert;Shift+Insert
9 创建目录:mkdir
10 删除:rm
rm 文件;rm -rf 目录
11 移动文件/目录+改名:mv
12 文件压缩,一般gz文件:
压缩:gzip 文件;解压缩:gunzip 压缩文件
13 统计文件的行数、单词数、字节数:wc
14 文本编辑器:vi
小写o:在光标下面插入一行
大写O:在光标上面插入一行
Ctrl+u:向上翻页
Ctrl+d:向下翻页
数字0:跳到行首
$:跳到行尾
D:删除光标所在位置及后边的所有内容(本行)
dd:删除光标所在位置的一行内容
15 显示文本内容:cat
cat file.txt:输出file中的内容
cat -n file.txt:输出file的内容,并标注内容所在的行数
cat file1.txt file2.txt > files.txt:将file1与file2的内容合并(file1内容在前面),并存储到files.txt文件中。
16 文本搜索工具:grep
grep [options] [pattern] file
命令 参数 匹配模式 文件数据
参数:
-i : 忽略大小写;
-o : 仅显示匹配到目标字符串;
-v : 显示不能被匹配到的字符串(反转);
-E : 支持使用扩展的正则表达式字符串;
-l 列出包含匹配项的文件名
-L 列出不包含匹配项的文件名
-n 显示匹配行与行号
常与正则表达式联用,正则表达式:
^ 用于模式最左侧,如 “^yu” 即匹配以yu开头的单词
$ 用于模式最右侧,如 “yu$” 即匹配以yu结尾的单词
^$ 组合符,表示空行
. 匹配任意一个且只有一个字符,不能匹配空行
| 转义字符
* 重匹配前一个字符连续出现0次或1次以上
.* 匹配任意字符
^.* 组合符,匹配任意多个字符开头的内容
.*$ 组合符,匹配任意多个字符结尾的内容
[abc] 匹配 [] 内集合中的任意一个字符,a或b或c,也可以写成 [ac]
[^abc] 匹配除了 ^后面的任意一个字符,a或b或c,[]内 ^ 表示取反操作
例子:grep -i “^h” names.txt
输出name.s.txt中以h/H开头的行
例子:grep -n “bin/bash$” pwd.txt
输出pwd.txt中以 bin/bash为结尾的行
例子:grep “^#” names.txt -v | grep “^$” -v
找到names.txt中 以#开头数据之外的内容,并且过滤空行
17 cut函数
-b 仅显示行中指定直接范围的内容
-c 仅显示行中指定范围的字符
-d 指定分割符, 默认为“TAB”制表符
-f 显示指定字段的内容
-n 与“-b”连用,不分割多字节字符
–complement 补足被选择的字节,字符或字段
–out–delimiter=<字段分割符> 指定输出内容是的字段分割符
18 sed函数
替换:sed ‘s/旧内容/新内容/标记’ 文件
表示把 “文件” 中的 “旧内容” 按照 “标记(条件)” 换成 “新内容”
标记简介:
n 1~512 之间的数字,表示指定要替换的字符串出现第几次时才进行替换,例如,一行中有 3 个 A,但用户只想替换第二个 A,这是就用到这个标记;
g 对数据中所有匹配到的内容进行替换,如果没有 g,则只会在第一次匹配成功时做替换操作。例如,一行数据中有 3 个 A,则只会替换第一个 A;
p 会打印与替换命令中指定的模式匹配的行。此标记通常与 -n 选项一起使用。
w file 将缓冲区中的内容写到指定的 file 文件中;
& 用正则表达式匹配的内容进行替换;
\n 匹配第 n 个子串,该子串之前在 pattern 中用 \(\) 指定。
\ 转义(转义替换部分包含:&、\ 等)。
19 awk函数常用命令
和 sed 命令类似,awk 命令也是逐行扫描文件(从第 1 行到最后一行),寻找含有目标文本的行,如果匹配成功,则会在该行上执行用户想要的操作;反之,则不对行做任何处理。
awk [option] ‘pattern { [action] }’ file …
awk 参数 条件动作 文件
一、条件动作:'[action]’
$n 指定分隔符后,当前的第n个列所在的字段
$0 完整的一行记录
FS 字段分隔符,默认是空格
NF(Number of fields) 字段分隔后,当前一共多少个字段
NR(Number of records) 当前记录数,行数
2、awk内置变量( [pattern] )
BEGIN 模式是处理文本之前需要执行的动作;
END模式是处理完成所有的行之后执行的操作;
二、参数: [option]
awk的参数(option,是可选的)
参数 说明
-F 指定分隔字段符
-v 定义或修改一个awk内部变量
-f 从脚本文件中读取awk命令
其实linux命令有好多好多,但掌握常用的就足够啦,后边有需要其他的可以慢慢学,先把这些基本的跟小果一块学起来吧!欢迎大家和小果互动交流哟!