Linux 收藏笔记总结(2018年前)

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

收藏链接: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:查看文件和文件夹大小

收藏链接:

  • Linux下查看每个目录所占用空间大小的命令
  • 查看文件和文件夹大小的df和du命令 – Sam's Note

重点摘录:

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压缩的文件;
    • *.bz2bzip2 -d或者用bunzip2解压;
    • *.Zuncompress解压;
    • *.rarunrar e解压;
    • *.zipunzip解压;

14:linux下用户的管理

收藏链接:

  • http://qinqianshan.com/linux-user-management/
  • 生信媛-我的Linux学习笔记·用户和组(1)
  • 生信媛-我的Linux学习笔记·用户和组(2)

要点摘记:

  • 新建用户

    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

  • scpcp (本地硬盘)或scp (远程硬盘)命令,给自己的结果文件新建一个拷贝;每有更新,再拷贝一份。可以写一个定期备份的程序,并且对远程服务器配置免密码登录,自动备份。

    cp -fur source_project project_bak
    scp -r source_project user@remote_server_ip:project_bak
    
  • rsync:一个增量备份工具,只针对修改过的文件修改过的部分进行同步备份,大大缩短了传输的文件的数量和传输时间

  • rdiff-backup:不只可以做增量备份,而且会保留每次备份的状态,新备份和上一次备份的差别,可以轻松回到之前的某个版本。唯一的要求就是,本地服务器和远端服务器需要安装统一版本的rdiff-backup

我的微信公众号

如果实在有需要请给我发邮件:[email protected]
也可以关注我的公众号:沈梦圆(PandaBiotrainee)

你可能感兴趣的:(Linux 收藏笔记总结(2018年前))