常用命令记录

作者: 土雕艺术家 | 来源:发表于2020-12-03 15:45 被阅读0次

    压缩当前目录下所有文件

    find *.fastq -type f | xargs -I {} tar -cvf - {} | pigz -k > {}.tar.gz
    #在-i或者-I后面自定义一个传递参数符号,所有匹配的项都会替换为传递给xargs的参数。
    tar -cvf - Aenictocupidus_jacobsonorum_SRX3068055_1.fastq | pigz -k > Aenictocupidus_jacobsonorum_SRX3068055_1.fastq.tar.gz
    

    批量杀死进程

    pidof $program_name |xargs -t kill
    #批量杀死进程
    pidof -x script
    #找出shell脚本script的进程PID。
    #https://blog.csdn.net/u012398613/article/details/51769513
    

    获得文件名

    awk -F '' 'OFS=""{NF="";print}' OFS是使用分割符输出分割内容,NF=''是让最后一个为空。
    sed 's/_$//g'|uniq 将最后一个分隔符替换为空再去除重复

    ls -1 |awk -F '_' 'OFS="_"{$NF="";print}' |sed 's/_$//g'|uniq
    

    分隔符是"_"

    SRS3009512_Saxidomus_purpuratus_1.fastq
    SRS3009512_Saxidomus_purpuratus

    Melanotus_cribricollis_SRS2683548_2.fastq    Scarelus_anthracinus_SRS4498597_1.fastq
    Micronaspis_floridana_SRS9221576_1.fastq     Scarelus_anthracinus_SRS4498597_2.fastq
    

    获取编号

    ls -1  | awk -F '.' '{print $1}' | awk -F '_' '{print $(NF-1)}' | uniq
    
    

    grep获取带">"的行内容,并以空格分隔。

    grep -r ">" predict_atp8.txt | awk -F " " '{print $1}'
    

    获取当前路径下文件信息

    ls -1 | awk -F "." '{print $1}' |uniq |sort >>file.list
    ls -1 | awk -F "_" '{print $(NF-1)}'
    #取倒数第二个域
    
    Listronotus_bonariensis_GCA_014170235.1.fna
    ls -1 | awk -F "_" '{print $3"_"$4 }' | awk -F "." '{print $1"."$2 }'
    GCF_002938485.1
    

    搜索ubuntu相关进程

     ps aux |grep 关键词
    

    Linux查看磁盘空间大小命令

    df -hl
    df -hl 查看磁盘剩余空间
    df -h 查看每个根路径的分区大小
    du -sh [目录名] 返回该目录的大小
    du -sm [文件夹] 返回该文件夹总M数
    du -h [目录名] 查看指定文件夹下的所有文件大小(包含子文件夹)
    更新详细命令文档:
    df --help
    du --help
    
    查看硬盘的分区:fdisk -l
    查看IDE硬盘信息:hdparm -i /dev/hda
    查看STAT硬盘信息:hdparm -I /dev/sda 或 apt-get install blktool 或 blktool /dev/sda id
    查看目录占用空间:du -hs 目录名
    U盘没法卸载 #sync fuser -km /media/usbdisk
    

    字符串截取

    ${file#*/}:删掉第一个 / 及其左边的字符串:dir1/dir2/dir3/my.file.txt
    ${file##*/}:删掉最后一个 / 及其左边的字符串:my.file.txt
    ${file#*.}:删掉第一个 . 及其左边的字符串:file.txt
    ${file##*.}:删掉最后一个 . 及其左边的字符串:txt
    ${file%/*}:删掉最后一个 / 及其右边的字符串:/dir1/dir2/dir3
    ${file%%/*}:删掉第一个 / 及其右边的字符串:(空值)
    ${file%.*}:删掉最后一个 . 及其右边的字符串:/dir1/dir2/dir3/my.file
    ${file%%.*}:删掉第一个 . 及其右边的字符串:/dir1/dir2/dir3/my
    
    记忆的方法为:
        # 是 去掉左边(键盘上#在 $ 的左边)
        % 是去掉右边(键盘上% 在$ 的右边)
        单一符号是最小匹配;两个符号是最大匹配
    ${file:0:5}:提取最左边的 5 个字节:/dir1
    ${file:5:5}:提取第 5 个字节右边的连续5个字节:/dir2
    
    参考:  https://cloud.tencent.com/developer/article/1147402
    

    挂载硬盘

    #查看现有存储设备
    sudo fdisk -l
    #将设备sdb挂载到/mnt/usb
    mount /dev/sdb /mnt/usb
    #取消挂载
    umount /dev/sdb
    

    相关文章

      网友评论

        本文标题:常用命令记录

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