bash命令行的一些快捷键:
ctrl +a:跳到命令行首
ctrl+e:跳到命令行尾
ctrl+d:删除键
ctrl+u:删除光标至命令行首
ctrl +k:删除光标至命令行尾
ctrl+l:清屏
history历史命令:
-c: 清楚所有里面命令
-d:history -d 10 删除历史命令中的第10条命令。history -d 10 20 删除第十条命令的共20条命令
-w:保存命令至历史文件中
!n:执行命令历史总的第n条命令
!-n:执行历史命令中倒数第n条命令
!!:执行刚刚执行的命令
!string:执行历史中最近一条以string开头的命令
!$:引用上一个命令的最后一个参数
alias命令
alias可实现更加简短的名称来定义shell命令。
alias的基本用法:alias 别名=‘命令 -选项’
example: wl 等效于 wc -l
定义: alias wl='wc -l'
如果一直使用这个命令,可以放在.bashrc文件中,在属于 source ~/.bashrc 即可
ls命令
ls -t:最近修改的文件列在上面
ls -s: 列出文件的详细信息
ls -lh:列出文件信息加文件的大小
ls -F:按照特殊字符对文件进行分类
grep命令
grep -v "string" file: 查找没有出现“string”那些行
grep -A n ‘string’ file:显示后 n行
grep -B n ‘string’ file:显示前n行
grep -C n ‘string’ file:前后n行
只返回匹配的内容:grep 'string' file -o
可以结合正则表达式去搜索
例如:查找一个以AT254开头,以 1结尾的基因
grep ‘AT254.*1$’ file
当有两个gene list文件,要找出仅在gene.file2中存在的行,不在gene.file1中出现的gene
grep -Fxv -f gene.file1 gene.file2
在某个目录下有很多文件,想看看你最感兴趣的基因名字出现在哪个文件,文件很多,子文件夹也很多,在一个目录下进行递归查找
grep -Hrn '*.fastq'
cut命令
cut -f col1,col2,..: file:提取file中的col1,col2,
cut -d : file: 以":"为分隔符,分隔file
cut -b: 以字节为分隔符进行分隔
cut -c:以字符为分隔符进行分隔
sort 命令
-n以数字的顺序进行排序 -r 以相反顺序进行排序 -k指定需要排序的栏位, -t 指定栏位分隔符
ex:#将CC列数字从大到小顺序排列:
[root@mail text]# sort -nrk 3 -t: sort.txt
eee:40:5.4
eee:60:5.1
ddd:20:4.2
ccc:50:3.3
bbb:10:2.5
aaa:30:1.6
AAA:BB:CC
对sort.txt文件,指定的第三栏即cc,进行数值逆序排序,并以:为分栏符
awk强大的文本操作工具
awk擅长处理表格形式的数据。它逐行从文本中读取数据,将整行数据定义为¥0,然后根据指定的分隔符,将各列数据定义为$1,$2,$3...
如下结构处理数据:
pattern1 {action1};patern2 {action2}...
形如if函数,当满足pattern时,执行后接的action
注意:
如果没有定义pattern,则直接执行action
如果没有提供action,则直接输出满足pattern的内容
chmod命令
此命令是用来改变文件的权限
chmod -R用来改变某个目录和目录下的所有文件
0 000 ---
1 001 --x
2 010 -w-
3 011 -wx
4 100 r--
5 101 r-x
6 110 rw-
7 111 rwx
修改某类用户或某些用户权限
如:把a文件属主的权限改为可读,其他不变
chmod u=r a
改变属主和属组的权限为rwx
chmod ug=rwx a
管理员可以更改文件的属主和属组
改变文件的属主
例如:a文件本来属于sxy,把它的属主改为sxy1:
chown sxy1 a
chgrp可以单独改变文件属组,用法与chown相似
sed流处理工具
1.文本替换
sed 's/pattern/replacement' files
2.显示特定行
sed -n '2p' file #只打印文件中的第二行,p表示打印
sed -n 'n1.n2p' #n1.n2表示从n1到n2