Linux实用基础2

主要学习自Linux操作与生物信息_哔哩哔哩_bilibili


生信入门 linux实用基础1 2 3

生信入门 R实用基础1 2


1 命令协作管道 |

| 可将上条指令的结果输入到下条指令进行操作

echo -n "123456789" | wc -m                    去除换行符后统计123456789字符数
ps -aux | less                                 将ps结果放在less中查看
head -5 a | tail -2                            显示a文件4、5行

2 进阶文件操作

wc spilt cut sort uniq diff cmp md5sum

① 文件统计和切分

    wc a.txt                 字符统计, 依次列出文件的行数、字数、字节数、文件名
         -l                  统计行数(最常用
         -w                  统计字数(单词或汉字
         -c                  统计字节数
         -m                  统计字符数(英文1字符1字节,中文1字符2字节)
         -L                  统计最长行的长度
    
    split    -l/b                   可按行、大小等切分文件
    split -l 100 file test   将file内容按照每200行拆分成一个文件,命名为testa - test*  
    
    cut                            选取命令,可按照列切分数据选取我们所要的数据
          -b  1-28  a.txt         将a.txt文件的每行的1-28字节输出        
          -d   "|" -f 4  a.txt     将|作为分隔域标志,选取第四个分隔域的内容输出, f表示file-separator

② 文本排序 sort 和 去重复uniq

直接输入sort可进入排序页面,输入后按Ctrl +D结束输入进行排序

    sort     -M                                           根据月份排序 (识别三个字母) 
             -n                                         根据数字排序(默认只按照第一位数字排序
             -V, --version-sort                         根据数字大小排序(常用
             -h                                         根据人类可阅读数字排序如1K 3G
              -r                                         按相反的顺序排序(常用
              -c                                         检查文件是否已排序
              -m                                         合并排序文件
              -o                                         输出排列文件,默认输出桌面
              -u                                         去掉重复内容
              -k2 -k3                                 根据第2列值进行排序,若相同则根据第3列值排序    
              -t   "|"                                  <分隔字符> 指定排序时所用的栏位分隔字符为 |   

     sort -n -t ":" -k 2 a.txt                 将文件内容根据:后的字符按数字大小排序

uniq命令可以去除排序过的文件中的重复行,因此uniq经常和sort合用,默认为去除重复行

    uniq     
              -d                                        repeated只显示有重复的行    
              -c                                        count,在每列旁边显示该行重复出现的次数
              -u                                        uniq只显示无重复的行

   综合应用:
     cut -d ":" -f 2 a.txt | cut -d ";" -f 1 | sort -n | uniq -c         选取;和:之间内容并排序统计出现次数

③ 文件比较diff cmp ,若三个以上则用diff3命令

    diff  1.fa 2.fa                     比较两个文件差异 ,
    diff   1.fa 2.fa  -c               显示成上下文比较的格式,!表示发生变化
    diff   1.fa 2.fa  -u               显示合并比较的格式,—表示1文件删除行,+表示2文件新增行
    cmp   1.fa 2.fa                     标示出两个文件第一个不同之处的字符和列数编号

④ md5sum校验文件 .md5 可验证文件完整性,校验码由32位的16进制符号组成

    md5sum   1.fa           生成1.fa文件的md5校验码,将校验码及文件名复制创建1.md5文件
    md5sum  -c 1.md5     验证校验码,检查文件完整性

3 对文件名的处理操作小技巧

basename

  • 只将fq文件的文件名输出而去除文件路径,若echo $i则会带有路径
      ls   ~/wk/fq/clean/*fq | while read id ; do echo $(basename $id); done
  • 只将fq文件的文件名输出 , 删除.sam的后缀
    ls   ~/wk/fq/clean/*fq | while read id ; do echo   $(basename $id  '.sam' ); done          
  • %%删除文件名 . 之后的所有后缀, (如果是${id%.*}则删除最后一个.后的后缀)
     ls raw/fq/* | while read id ; do echo $(basename ${id%%.*});done
  • ##删除文件名 _ 之前的所有前缀 , (如果是${id#*_}则删除第一个_前的前缀)
     ls raw/fq/* | while read id ; do  echo$(basename ${id##*_});done

4 命令的快捷方式: 添加PATH路径

在linux中下载软件后,用which可以搜寻到路径的命令可以在所有目录下执行,如果不能,则需要:

  • 在bin或sbin目录下创建的命令软链接,命令一般位于软件的bin目录下;
  • 或在.bashrc文件中的添加软件bin目录的路径PATH,如PATH=$PATH:~/soft/bin/

5 命令行界面的一些常用快捷操作

参考Linux 命令行快捷键_互扯程序的博客-CSDN博客

    history           列出1000条历史命令,再用!数字  执行历史中对应数字的命令
    !S                   重新执行前面以S开头的命令
    ;                   可按顺序从左向右完成多个命令操作,如cd  ../ ; ls           
    Ctrl + C           终止当前操作,重新开命令行    
    Ctrl + L             进行清屏操作
    Ctrl + Z            挂起命令(使用 bg 命令让其在后台继续运行;使用 fg 命令恢复到前台)
    Ctrl + 左右键    在单词之间跳转
    Ctrl + A            跳到本行的行首
    Ctrl + E             跳到行尾
    Ctrl + U         删除当前光标前面的所有文字(还有剪切功能)
    Ctrl + K         删除当前光标后面的所有文字(还有剪切功能)
    Ctrl + Y         粘贴Ctrl + U或Ctrl + K剪切的内容
    Ctrl + W和Alt + D   对于当前的单词进行删除操作,W删除光标前面的单词的字符,D则删除后面的字符 
    Alt + Backsapce      删除当前光标后面的单词
     \                      代码太长时利用  \ 可以将代码分成多段         
    bc                        自带计算器,输入scale=4则保留4位小数

6 nohup 与 &

  • nohup 是 no hang up 的缩写,就是不挂断的意思,但没有后台运行,终端不能标准输入,该命令可以在你退出帐户/关闭终端之后继续运行相应的进程
    默认情况下该作业的所有输出都被重定向到一个名为nohup.out的文件中,一般使用> /dev/null进行丢弃到黑洞中或者导入到指定文件中作为log日志
  • &( 表示“and”的符号)是指在后台运行,但当用户推出(挂起)的时候,命令自动也跟着退出。要 nohup 命令运行在后台中,添加 & 到命令的尾部

结合起来nohup&使命令永久的在后台执行

nohup COMMAND > /dev/null &
nohup  COMMAND >raw.log 2>&1 & 

7 数据流重定向 >

cat 1 2 >a                                将1,2文件的内容重定向到文件a中合并 
cat 3 4 >>a                              将3,4文件的内容追加到文件a中合并

comand    1>comand.log   2>&1                     结合1.2可以将命令的结果保存在log文件       
comand     1>/dev/null 2>&1                         隐藏屏幕输出内容 
  • tee用于把命令结果打印在屏幕上并同时保存到文件中。
选项:
    -a,--append:                             不覆盖,而是追加输出到指定的文件中
    -i,--ignore-interrupts:                 忽略中断信息

 ifconfig | tee ifconfig.log       将config命令的输出内容保存在log文件中, 同时保留屏幕输出

8 进程管理

① linux进程常用命令

    uptime             显示系统时间、主机已运行时间、用户连接数、系统平均负载最后 1、5、10  分钟估算值,数值越大系统资源越紧张
    w                     显示当前用户及uptime信息

linux进程优先级分为-20到19共40级,默认优先级为0,数字越小优先级越高,
查看进程优先级可以使用命令 topps

    nice -优先级 进程            更改进程优先级
    jobs                               查看后台运行的命令进程
    fg                                 将后台进程切换到前台
    Ctrl + Z                          暂停当前任务,jobs查看后台进程,bg命令使其在后台继续运行,fg切换到前台
    wait                                等待上一进程结束后再执行下进程,通常用于&后

如果想要在后台循环进程结束后执行下一命令,则添加以下命令
(每隔10s检查一下指定任务运行情况,若无运行则结束检查)

while ps | grep 'fastp' >/dev/null ; do
        sleep 10
        continue
done

② 进程管理top

查看固定用户的进程信息 top -u 用户名
进入top 后可进行交互式操作

    空格键                  实时刷新top状态
    c                       显示完整路径信息
    H                       显示线程数信息
    i                       只显示在运行的进程
    d  + 数字              指定top刷新时间(默认为3秒
    x                      运行行显示高亮
    u   + 用户名           显示指定用户
    M                    根据驻留内存大小进行排序
    P                      根据CPU使用百分比大小进行排序
    T                      根据时间/累计时间进行排序
    W                     将当前设置写入~/.toprc文件中
    k + 数字              输入以下数字进行进程终止,杀死进程9/15最常用


kill -9 进程PID 杀死进程

③ 进程管理ps

    pstree                        该命令列出进程的树状关系图
    ps -A                   列出所有进程,按照进程ID排序
         -a/e                 显示终端所有进程,包括其他用户进程
         -l                    长格式输出类似top结果
         -u   用户名      显示指定用户名进程      
         -x                   显示无控制的终端的进程
         -g  组名          显示一个组的使用情况
         -H                   列出树状结构,表示程序间相互关系
         -f                   显示完整格式
         -ef                  显示所有进程信息,连同命令行
    
    常用组合
         -aux             -lax         -fx          -ef

    ps 与grep 常用组合用法,查找特定用户进程命令:
    ps -ef | grep  gu     
    
    jobs -l                  可以查看当前终端生效的进程

生信入门 linux实用基础1 2 3

生信入门 R实用基础1 2

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,080评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,422评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,630评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,554评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,662评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,856评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,014评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,752评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,212评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,541评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,687评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,347评论 4 331
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,973评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,777评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,006评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,406评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,576评论 2 349

推荐阅读更多精彩内容