美文网首页
Linux 收藏笔记总结(2018年前)

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

作者: 沈梦圆1993 | 来源:发表于2018-10-26 17:11 被阅读16次

    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

    收藏链接:

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

    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脚本文章写的不错,有时间要翻阅学习。最后洲更的如何写一个脚本也是值得学习的。

    要点摘记:

    • #号截取,从最左边的分隔符开始删除左边字符,保留右边字符;
    • ##号截取,从最右边的分隔符开始删除左边字符,保留右边字符;
    • %号截取,从最右边的分隔符开始删除右边字符,保留左边字符;
    • %% 号截取,从最左边的分隔符开始删除右边字符,保留左边字符;
    • 从左边第几个字符开始,及字符的个数: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

    我的微信公众号

    如果实在有需要请给我发邮件:mengyuanshen@126.com
    也可以关注我的公众号:沈梦圆(PandaBiotrainee)

    相关文章

      网友评论

          本文标题:Linux 收藏笔记总结(2018年前)

          本文链接:https://www.haomeiwen.com/subject/osdltqtx.html