Biostar|Biostar handbook学习笔记二—linux常用命令的学习与使用

1.1 pwd 显示当前路径
1.2 cd 改变当前所在目录
cd / cd ~ 表示进入家目录
1.3 ls 查看目录内容。
ls -alh / ls -lh显示目录下文件的详细信息,如文件大小
1.4 cat 可用来合并文件,也可用来在屏幕上显示整个文件的内容。
1.5 touch 用于创建新文件 touch newfile
1.6 cp 用于拷贝文件或文件夹
1.7 mv 用来移动文件或者重命名文件
1.8 rm rm / rm -r 用于删除文件或文件夹
rm -rf 用于强制删除文件夹
1.9 free 查看内存空间
2.0 df -h 查看磁盘空间
2.1 chmod 用于改变指定文件的权限命令。
2.2 more | less 用分页的形式显示指定文件的内容
less比 more 更好的是,less可以往前翻页
2.3 head 用于显示文件的前n行内容
2.4 tail 用于显示文件的后n行内容
2.5 find 用于查找指定的文件
2.6 tar 用于多个文件或目录进行打包,但不压缩; 也用于解包
-c 创建新文档
-x 解包
-v 显示正在处理的文件名
-f 取代默认的文件名
2.7 gzip 用于文件进行压缩和解压缩命令,文件扩展名为.gz结尾
2.8 gunzip 用于对gzip压缩文档进行解压缩
2.9 zip/unzip 压缩解压缩.zip文件
小结:
打包、压缩、解压命令:
打包: tar -cvf xxx.tar *
压缩: gzip xxx.tar
打包: gzip -d xxx.tar.gz
压缩: tar -xvf xxx.tar
打包并压缩:tar -zcvf xxx.tar.gz *
解压:tar -zxvf xxx.tar.gz
打包并压缩:tar -jcvf xxx.tar.bz2 *
解压:tar -jxvf xxx.tar.bz2
3.0 sudo 以系统管理员的身份执行命令
3.1 ln ln -s: 软链接:也称为符号连接,即为文件或目录创建一个快捷方式。
ln 硬链接
3.2 man 显示命令的帮助文件
3.3 kill -9 杀死一些特定的进程
3.4 clear 清屏
3.5 wc: 计数 -l: 行数
-w: 字数
-c: 字符数
3.6 ps 显示所有进程
3.7 jobs 显示后台或挂起的进程
3.8 top 显示当前正在运行的命令
3.9 sort 排序 -r 逆序
-d 字典顺序
4.0 alias 对命令重命名, 可在.bashrc中设置
4.1 date 显示日期的指令
4.2 cal 显示日历的指令
4.3 bc 简单好用的计算器

  • 加法
  • 减法
  • 乘法
  • / 除法
  • % 求余
  • ^ 求幂次方
4.4 basename / dirname 取得路径的文件名与目录名
4.5 nl 显示行号: 如 cat filename |nl 会将filename的行号显示出来。
4.6 tac: 是cat倒着写 从文件最后一行开始显示
4.7 which which command 显示命令所在位置
4.8 ifconfig:查看ip地址 windows中使用ipconfig
4.9 ping: ping ip地址: 测试网络连接是否正常
5.0 who: 查看当前登录的用户信息 (whoami: 查看当前用户名)
who -u:
who -q:
5.1 对文本处理命令的详细介绍
cut
将一段信息的某一段切出来,处理的信息是以行为单位。
cut -f 1,3,5 filename 获取文本的第一、三、五列
cut -f 1-5 filename 获取文本的第一至五列
grep 文本搜索查找与匹配
无参数选项: 直接加查找内容: grep "查找内容" filename
grep '查找内容' filename --color=always:表示突出显示查找内容
参数选项:
grep -i pattern files :不区分大小写地搜索。默认情况区分大小写,
grep -l pattern files :只列出匹配的文件名,
grep -L pattern files :列出不匹配的文件名,
grep -w pattern files :只匹配整个单词,而不是字符串的一部分(如匹配’magic’,而不是’magical’),
grep -C number pattern files :匹配的上下文分别显示[number]行,
grep pattern1 | pattern2 files :显示匹配 pattern1 或 pattern2 的行,
grep pattern1 files | grep pattern2 :显示既匹配 pattern1 又匹配 pattern2 的行。
grep -n pattern files 即可显示行号信息
grep -c pattern files 即可查找总行数,即某一匹配内容出现的个数
grep -v pattern files 查找不包含匹配项的行
grep -o pattern files 只返回匹配到的内容
如: cat filename | grep -v "不匹配内容' | cut -f 2,5,9 | wc -l
如果想查找一个以AT5G254开头以1结尾的基因,要用到强大的正则表达式。grep 'AT5G254.*5$' TAIR10_GFF3_genes.gff
可以通过管道符号或者多个参数实现多重目的。
uniq : 去重
先排序后去重
uniq -c : 重复数
cat filename | cut -f 2 | sort | uniq | nl
awk: 强大的文本操作工具
awk擅长处理表格形式的数据。它逐行从文本中读取数据,将整行数据定义为$0, 然后根据指定的分隔符,将各列数据分别定义$1,$2,$3
首先,awk实现cat,cut这些命令:
cat
$ awk '{print $0}' SGD_features.tab | head -2
cut
$ awk '{print $1,$4,$5}' TAIR10_GFF3_genes.gff | head -2
awk除了能输出指定列,还能重排,甚至换一种分隔符,比cut更加强大
$ awk '{print $4","$5","$1}' TAIR10_GFF3_genes.gff | head -1
awk还支持
  • 算术运算(+,-,*,/,%,)
  • 逻辑运算(==,!=,<,>,>=,<=),
  • 或与非(&&,||,!),
  • 还可以进行模式匹配(ab,a!b)。
eg. 找到长度大于10kb且在1号染色体的注释内容
awk '$5 - $4 > 10000 && $1 ~ /Chr1/' TAIR10_GFF3_genes.gff | head -5
awk还有两个特殊模式BEGIN,END,意思是在操作开始或/和结束后才执行的操作。
详细的解释和使用可以到http://www.jianshu.com/p/8c6a0d0d4f0d以及 http://www.jianshu.com/p/9b0f2a3584e3上查询和学习。
sed: 流处理工具
文本替换:
sed 's/pattern/replacement/' file
显示特定行:
sed -n 'n1,n2p' file.txt (-n 只输出编辑部分; p 打印; n1,n2 从以n1到n2)
-i会修改源文件,但是可以同时使用bak备份
$sed -ibak 's/Ian/IAN/' source.txt
行后增加内容:
sed '[address] a the-line-to-append' infile( [address]指位置;a: 代表append缩写;the-line-to-append:指插入或增加的内容)
行前增加内容:
sed '[address] i the-line-to-insert' input-file
sed '2 i 108,Donald Stufft, Nebula' source.txt
修改行语法:
sed '[address] c the-line-to-insert' input-file
sed '/Paul/ c 108,Donald Stufft, Nebula' source.txt
该网站http://dongweiming.github.io/sed_and_awk详细介绍了sed的其他一些用法。
补充一下:split和join的用法:
split: 用于文件拆分
-<行数> : 指定每多少行切成一个小文件
split -2 README #将README文件每2行分割成一个文件
-b 字节数: 按照字节数切分
split -b 200 infile
join: 将两个文件中,指定栏位内容相同的行连接起来。
join file1 file2
【Biostar|Biostar handbook学习笔记二—linux常用命令的学习与使用】详细讲解可查询http://www.runoob.com/linux/linux-command-manual.html网站。

    推荐阅读