(网易云课堂,腾讯课堂生物信息讲师,高级生物信息工程师)
1.3 压缩解压缩
1.3.1 tar
功能说明:加入或还原备份文件内的文件
语 法:tar -f[cxzjv]
参 数:-f 必加参数
-c 创建备份文件
-x 从备份文件中还原文件
-z 调用gzip/gunzip来压缩/解压缩文件
-j 调用bzip2/bunzip2来压缩/解压缩文件
-v 显示命令执行过程
Example :tar -cf newfile.tar file1 file2 将file1,file2文件打包到newfile.tar
tar -xf newfile.tar 提取newfile.tar中的文件
tar -czvf newfile.tar.gz file1 file2 将file1,file2文件打包并调用gzip程序将文件压缩为 newfile.tar.gz
tar -xzvf newfile.tar.gz 将newfile.tar.gz文件解压并提取里边的文件
1.3.2 zip
功能说明:压缩并生成“.zip”结尾的文件
语 法:zip [-1..9][-r]
参 数:-r 将子目录下所有文件和目录一并处理
-1..9 压缩效率,数值越大,压缩效率越高
Example :zipnewfile.zip file1 file2 将file1,file2进行压缩到newfile.zip内
解压方式:使用unzip进行解压,unzip newfile.zip
1.3.3 gzip
功能说明:压缩并生成“.gz”结尾的文件
语 法:gzip [-1..9][-r]
参 数:-r 对目录下的文件进行压缩,但不会对目录进行压缩
-1..9 压缩效率,数值越大,压缩效率越高(默认6)
Example :gzip file 将file压缩为file.gz并删除源文件
解压方式:使用gunzip进行解压,gunzip file.gz
1.3.4 bzip2
功能说明:压缩并生成“.bz2”结尾的文件
语 法:bzip2
Example :bzip2 file 将file压缩为file.bz2并删除源文件
解压方式:使用bunzip2进行解压,bunzip2file.bz2
1.4数据统计与处理
1.4.1 sort
功能说明:将文本文件内容进行排序
语 法:sort [-nkr]
参 数:-n/-g 将文件按数值大小从小到大排序(默认按ascii码从小到大排序)
-k
-r 反向排序
Example :sort file 对file文件按第一列内容ascii码值从小到大排序并输出。
sort -n -k 3 file 对file文件按第3列内容数值大小从小到大排序。
sort -nr -k1,2 file 对file文件按数值大小反向排序,优先考虑第一列,再考虑第二列
1.4.2 uniq
功能说明:合并文件中相邻的相同的行
语 法:uniq [-cd]
参 数:-c 在每行第一列显示该行重复次数
-d 仅显示有重复的行
Example :uniq -c file 合并相同的行,并统计每行重复次数,输出到屏幕
uniq -d file outfile 合并相同的行,并显示file中有重复出现的行,输出到outfile文件中
1.4.3 wc(word count)
功能说明:统计文件中字节数
语 法:wc [-cwl]
参 数:-c 只统计字节数/Bytes数
-w 只统计字数(单词数)
-l 只统计行数
Example :wcfile 显示文件file的字节数,字数,行数
wc -l file 显示文件file的行数
1.4.4 grep
功能说明:查找文件中符合条件的行
语 法:grep [-v]
参 数:-v 不匹配,显示文件中不匹配string的行
Example :grep world file 查找文件中含有“world”的行
grep -v world file 查找文件中不含有“world”的行
1.4.5 awk
功能说明:对特定的行中特定的列进行操作
语 法:awk [-F] ‘(condition){operate}’
参 数:-F 指定列的分割符,可以使任意字符,默认按空白分割
Example :awk -F “:” ‘{print $1}’ 按“:”来分割并打印出第一列
awk ‘($1 > 100){print $0}’ 对第一列大于100的行整行输出
awk ‘($1 > 100){print $1”\t”$2}’ 对第一列大于100的行输出第一列和第二列的结果并以“\t”分割。
awk ‘($3~/world/){ x+= $1}END{print x}’ 对第三列匹配“world”的行的第一列求和,全部处理完之后输
出结果x的值
1.4.6 sed
功能说明:文本处理并可对文件进行编辑
语 法:sed [-i] '{command}'
参 数:-i 直接在原文件中修改(默认修改后屏幕输出,原文件不变)
Example :sed -i ‘s/test/new_word/’ file 将file文件中的test字符替换为new_word
sed -i ‘/pattern/ s/ test/new_word/’ file 将file文件中匹配pattern字串的行进行替换操作
sed -i ‘/^$/ d’ file 将文件file中的空白行删除(d)
1.5.1 md5sum
功能说明:验证文件传输的完整性
语 法:md5sum [-c]
参 数:-c 校验文件传输后是否完整
Example :md5sumfile1 对file1文件生成md5值。
md5sum file1 > newfile 对file1文件生成md5值并重定向到newfile中。
md5sum -c newfile 检验newfile中文件的md5值是否和文件一致。
1.5.2 chmod
功能说明:设置文件或目录权限
语 法:chmod [-R]
参 数:-R 对目录和目录下所有文件均设置权限
详细说明:文件权限分为是否可读(r)、是否可写(w)、是否可执行(x)3种,同时对应档案拥有者(u)、同组成员(g)、其
他成员(o)3种。mode分为符号模式和数值模式。
符号模式:[ugoa] [+-=] [rwx]
数值模式:用1/0表示,则111表示可读可写可执行,000表示不可读不可写不可执行,可读可写可执行
分别对应10进制的4,2,1,则5表示可读不可写可执行。
Example :chmod u+xg=rx o-rwx file 对file 文件用户自身增加可执行权限,同组成员权限设置为可读可写,
对其他成员移除rwx权限。
chmod a-w file 对file文件所有成员移除可写权限。
chmod -R 750 dirname 对dirname目录及其下所有文件权限设置为用户自身可读可写可执行,同组
成员可读可执行,其他成员无权限。
1.5.3 find
功能说明:查找文件
语 法:find [path] [expression]
详细说明:path 在path路径下进行查找
expression 查找模式,常用的有
-name
-perm
-user
-group
-mtime <+n/-n> 按文件更改时间查找,-n表示更改时间距现在n天以内,+n表示距现
在n天以外
-type
Example :find./ -name file 在当前目录及其子目录下查找文件名为file的文件
find ./ -name ‘*a’ -type d 寻找文件名以a结尾的目录文件。
1.5.4 du
功能说明:显示目录或文件的大小
语 法:du [-ash] [--max-depth=
参 数:-a 显示目录中个别文件大小
-s 只显示总计
-h 以“K” ,“M” ,“G”为单位显示
--max-depth=
Example :du -sh ./ 显示当前目录的大小
du -ah --max-depth=1 dir 显示dir目录下所有文件大小,不包括下一级目录