1: linux下md5sum 校验文件完整性
收藏链接:http://blog.csdn.net/cymm_liu/article/details/20995631
在这篇我的博文中《关于数据校验及备份存放的思考》,我谈及到在数据传输过程中使用数据校验的重要性。
2:Linux命令(目录管理-gzip/gunzip)
收藏链接:http://www.linuxdown.net/command/2016/1019/8603.html
gzip -d
等价于gunzip
;- 解压缩时,显示指令执行过程,
gunzip -v hello.sh.gz
3:rename批量重命名
收藏链接:批量重命名文件
rename -V
rename (util-linux-ng 2.17.2),此外也有基于Perl的rename。
4:选取命令-cut,grep
收藏链接:http://qinqianshan.com/select-the-command-cutgrep/
-
cut
的主要用途在于将同一行里面的数据进行分解;[root@www ~]# cut -d'分隔字符' -f fields <==用于有特定分隔字符 [root@www ~]# cut -c 字符区间 <==用于排列整齐的讯息 选项与参数: -d :后面接分隔字符。与 -f 一起使用; -f :依据 -d 的分隔字符将一段讯息分割成为数段,用 -f 取出第几段的意思; -c :以字符 (characters) 的单位取出固定字符区间;
-
grep
是分析一行的信息,若当中有所需的内容,则将改行拿出来;[root@www ~]# grep [-acinv] [--color=auto] '搜寻字符串' filename 选项与参数: -a :将 binary 档案以 text 档案的方式搜寻数据 -c :计算找到 '搜寻字符串' 的次数 -i :忽略大小写的不同,所以大小写视为相同 -n :顺便输出行号 -v :反向选择,亦即显示出没有 '搜寻字符串' 内容的那一行! --color=auto :可以将找到的关键词部分加上颜色的显示喔!
5:文件的比较–diff,cmp
收藏链接:http://qinqianshan.com/file-diffcmp/
-
diff
以行为单位用于两个档案之间的差异,一般是用在 ASCII 纯文本档的比对上。不要用 diff 去比对两个完全不相干的档案,diff 也可以比对整个目录下的差异; -
cmp
主要也是在比对两个档案,主要利用『字节』单位去比对; - Linux 中找出两个文件的不同
6:Linux下文件名的搜寻–find,locate,whereis
收藏链接:http://qinqianshan.com/linux-find-file-whichfindlocatewhereis/
-
find
:速度慢,通常先使用whereid
或者locate
来检查(利用数据库来搜寻数据),如果真的找不到了,才用find
; -
whereis
[root@www ~]# whereis [-bmsu] 文件或目录名 选项与参数: -b :只找 binary 格式的文件 -m :只找在说明文件 manual 路径下的文件 -s :只找 source 来源文件 -u :搜寻不在上述三个项目当中的其他特殊文件
-
locate
[root@www ~]# locate [-ir] keyword 选项与参数: -i :忽略大小写的差异; -r :后面可接正规表示法的显示方式
7: linux文件的合并,去重,分割–cat,uniq,split,paste
收藏链接:linux文件的合并、去重、分割–cat,uniq,split,paste
- 两个文件的交集、并集:
cat
/sort
/uniq
的组合使用; - 两个文件的合并:
cat
(上下合并)/paste
(左右合并); - 一个文件去掉重复的行:
sort
/uniq;
- 将一个大的文件分割成多个小文件:
split
/dd
/head
+tail
/awk
8:tar命令批量解压方式
收藏链接:http://www.linuxren.net/shell/12224M2010.html
其实下面的四种方法有几种适用于批量运行其他Linux上的命令的,学会融会贯通。
ls *.fastq.gz| xargs -i echo nohup fastqc -o ./ {} \& >fastqc.sh
-
第一种:
for tar in *.tar.gz; do tar xvf $tar; done for tar in *.tar.bz2; do tar xvf $tar; done
-
第二种:用tar命令批量解压某个文件夹下所有的tar.gz文件
ls *.tar.gz | xargs -n1 tar xzvf
-
第三种:这条命令可解压当前目录下的所有bz2文件,maxdepth表示搜索深度,1代表只搜索当前目录
find -maxdepth 1 -name "*.bz2"|xargs -i tar xvjf {}
-
第四种:
for i in $(ls *.tar);do tar xvf $i;done
9:处理FASTQ文件的Linux单行命令
收藏链接:List of helpful Linux commands to process FASTQ files from NGS experiments00
10:谨慎连用find和xargs
我也不会经常用这两个命令,但是风险还是要知道的。
11:Linux shell trick for bioinformatics
收藏链接:
- 《Linux shell trick for bioinformatics 系列文章之一》
- 《linux shell tricks for bioinformatics系列文章之二》
- 《linux shell tricks for bioinformatics系列文章之三: 内附部分sRNAs分析pipeline》
我个人都是用perl单行命令较多,文章中Linux使用
sed
/awk
组合写的单行命令脚本我其实很少写。
12:查看文件和文件夹大小
收藏链接:
重点摘录:
df
可以查看一级文件夹大小、使用比例、档案系统及其挂入点,但对文件却无能为力。du
可以查看文件及文件夹的大小;两者配合使用,非常有效。比如用
df
查看哪个一级目录过大,然后用du
查看文件夹或文件的大小,如此便可迅速确定症结。
-
du -sh *
:-h
是给人类看的,自动转换MB/GB等 - 排序:
du -sk * | sort -rn | head -10
- 可以更改
--max-depth
参数的值,该参数表示查询子目录的层级,但是注意这样跟-s
总结模式冲突:du -k --max-depth=2 | sort -rn | head -10
13:Linux解压缩
收藏链接:http://qinqianshan.com/under-linux-to-extract/
-
gzip
:-
gzip
就够用了,尽量不要用gunzip
; -
gzip -d *.gz
可用于批量解压缩;
-
- 解压缩相关的命令:
-
tar xf
能够自动识别tar
压缩的文件; -
*.bz2
用bzip2 -d
或者用bunzip2
解压; -
*.Z
用uncompress
解压; -
*.rar
用unrar e
解压; -
*.zip
用unzip
解压;
-
14:linux下用户的管理
收藏链接:
要点摘记:
-
新建用户
adduser phpq passwd phpq //给phpq用户设置密码
-
建工作组
groupadd test //新建test工作组
-
新建用户同时增加工作组
useradd -g test phpq //新建phpq用户并增加到test工作组 # 注:-g 所属组 -d 家目录 -s 所用的SHELL
-
给已有的用户增加工作组
usermod -G groupname username # gpasswd -a user group
-
临时关闭
在
/etc/shadow
文件中属于该用户的行的第二个字段(密码)前面加上*就可以了。想恢复该用户,去掉*即可。或者使用如下命令关闭用户账号:passwd peter –l
重新释放:passwd peter –u
-
永久性删除用户账号
userdel peter groupdel peter usermod –G peter peter (强制删除该用户的主目录和主目录下的所有文件和子目录)
-
从组中删除用户
编辑
/etc/group
找到GROUP1那一行,删除 A或者用命令gpasswd -d A GROUP
-
显示用户信息
id user cat /etc/passwd
15:Shell脚本–字符串截取
收藏链接:
- Shell脚本–字符串截取
- 生信入门系列之——Shell 脚本编程(一)
- 生信入门系列之——Shell 脚本编程(二)
- 生信入门系列之——Shell 脚本编程(三)
- 生信入门系列之 linux 入门(三):基础命令(中)
- 生信入门系列之——Shell 脚本编程(三)之实例版
- 生信入门系列之——Shell 脚本编程(四)
- 生信入门系列之-linux-入门(四):基础命令(下)
- 如何写一个脚本-徐洲更
生信百科的这一系列关于Shell脚本文章写的不错,有时间要翻阅学习。最后洲更的如何写一个脚本也是值得学习的。
要点摘记:
-
#
号截取,从最左边的分隔符开始删除左边字符,保留右边字符; -
##
号截取,从最右边的分隔符开始删除左边字符,保留右边字符; -
%
号截取,从最右边的分隔符开始删除右边字符,保留左边字符; -
%%
号截取,从最左边的分隔符开始删除右边字符,保留左边字符; - 从左边第几个字符开始,及字符的个数:
echo ${var:0:5}
; - 从左边第几个字符开始,一直到结束:
echo ${var:7};
- 从右边第几个字符开始,及字符的个数:
echo ${var:0-7:3}
; - 从右边第几个字符开始,一直到结束:
echo ${var:0-7}
;
#是从左面开始匹配
%是从右面开始匹配
使用一个符号 (# 或 %) 是最小匹配
使用两个符号 (## 或 %%) 是最大匹配
* 用来去掉不需要的字符
可以自己指定分割符号与 #, % 和 * 配合来决定取哪部分来替换
可以自己指定起始位置来决定提取哪部分字符串
可以使用 /str1/str2 来替换特定字符串
16:Linux服务器数据定期同步和备份方式
收藏链接:http://mp.weixin.qq.com/s/c2cspK5b4sQScWYMBtG63g
-
scp
:cp
(本地硬盘)或scp
(远程硬盘)命令,给自己的结果文件新建一个拷贝;每有更新,再拷贝一份。可以写一个定期备份的程序,并且对远程服务器配置免密码登录,自动备份。cp -fur source_project project_bak scp -r source_project user@remote_server_ip:project_bak
-
rsync
:一个增量备份工具,只针对修改过的文件的修改过的部分进行同步备份,大大缩短了传输的文件的数量和传输时间 -
rdiff-backup
:不只可以做增量备份,而且会保留每次备份的状态,新备份和上一次备份的差别,可以轻松回到之前的某个版本。唯一的要求就是,本地服务器和远端服务器需要安装统一版本的rdiff-backup
。
如果实在有需要请给我发邮件:mengyuanshen@126.com;
也可以关注我的公众号:沈梦圆(PandaBiotrainee)
网友评论