常用命令记录

压缩文件夹命令:

tar -czvf my_folder.tar.gz my_folder

解压命令:

tar -xzvf my_folder.tar.gz

压缩当前目录下所有文件

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

获取某路径下指定的文件列表

find $DIR_input_scaffolds -name *.fna
worklist=$(find $DIR_input_scaffolds -name *.fna)

搜索ubuntu相关进程

 ps aux |grep 关键词
ps aux |grep 关键词 | awk '{print $2}' | xargs kill

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

脚本运行输出

名称 代码 操作符 Java中表示 Linux 下文件描述符(Debian 为例)
标准输入(stdin) 0 < 或 << System.in /dev/stdin -> /proc/self/fd/0 -> /dev/pts/0
标准输出(stdout) 1 >, >>, 1> 或 1>> System.out /dev/stdout -> /proc/self/fd/1 -> /dev/pts/0
标准错误输出(stderr) 2 2> 或 2>> System.err /dev/stderr -> /proc/self/fd/2 -> /dev/pts/0
(bash 1-BUSCO4_work2.sh 1>run.log 2>err.log &)

nohup bash 1-BUSCO4_work2.sh >run.log 2>&1 &

本来1----->屏幕 (1指向屏幕)
执行>log后, 1----->log (1指向log)
执行2>&1后, 2----->1 (2指向1,而1指向log,因此2也指向了log)

硬盘挂载

lsblk -f

NAME            FSTYPE      LABEL     UUID                                   MOUNTPOINT
sda
├─sda1          xfs                   9980b2c8-d1e7-4444-a142-19896ccf42cc   /boot
└─sda2          LVM2_member           ELdXDV-gZOL-hDjD-RQ4E-pOXl-NTMZ-4oLSNP
  ├─centos-root xfs                   bfe3e9b4-72d2-457c-b7ca-14511a3a75d3   /
  ├─centos-swap swap                  b8ba8dd4-a53f-45f2-8835-560dc4b0d5a3   [SWAP]
  ├─centos-usr  xfs                   ea26cb7d-ac7c-4f45-bad4-702afca25ea7   /usr
  └─centos-home xfs                   61519a29-253a-47f7-9892-0182b01de462   /home
sdf
└─sdf1          ntfs        54       8E6C61E56C61C913                       

sudo mount /dev/sdf1 /mnt/sdf

解除挂载

umount /dev/sdf1 /mnt/sdf
#or
umount /dev/sdf1
#or
umount /mnt/sdf

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • cd cd - //返回上一个目录cd ~ //进入home目录 ls ls -a ls -lt 按时间顺序...
    constant007阅读 3,089评论 0 1
  • 1、ls命令 就是list的缩写,通过ls 命令不仅可以查看linux文件夹包含的文件,而且可以查看文件权限(包...
    不倒翁的归宿阅读 1,553评论 0 0
  • 1:查找含有123的文件列表 grep -l 123 * grep 123 * 同时显示内容 通过grep...
    狂奔的海马阅读 3,499评论 0 0
  • 1、ls命令 就是list的缩写,通过ls 命令不仅可以查看linux文件夹包含的文件,而且可以查看文件权限(包括...
    奇点一氪阅读 3,517评论 0 0
  • 1、ls命令 就是list的缩写,通过ls 命令不仅可以查看linux文件夹包含的文件,而且可以查看文件权限(包...
    朝畫夕拾阅读 2,682评论 0 0