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
详细讲解可查询http://www.runoob.com/linux/linux-command-manual.html网站。