美文网首页linux tools代码学习
一些压箱底的Linux技巧

一些压箱底的Linux技巧

作者: 基因学苑 | 来源:发表于2019-07-05 09:53 被阅读185次

Linux的强大之处就在于它的批量化和自动化,能够高效的完成工作,即使比较复杂的工作,通过一条命令就能够快速完成,另一方面,Linux系统相对完善,只要你能想到的功能,只要耐心去搜索,都能够找到比较好的解决方案。这里我们介绍一些平时我工作中常用中Linux技巧,可以极大提高我的工作效率,如果你有更好的技巧,也欢迎留言给我。

time 

time命令可以用于计算任务消耗时间,只需要在执行命令前面加上time即可。

例如

# sleep命令设置休眠60秒

$timesleep60

real1m0.009s

user    0m0.000s

sys    0m0.005

输出的信息分别显示了该命令所花费的real时间、user时间和sys时间。

real时间是指挂钟时间,也就是命令开始执行到结束的时间。这个短时间包括其他进程所占用的时间片,和进程被阻塞时所花费的时间。

user时间是指进程花费在用户模式中的CPU时间,这是唯一真正用于执行进程所花费的时间,其他进程和花费阻塞状态中的时间没有计算在内。

sys时间是指花费在内核模式中的CPU时间,代表在内核中执系统调用所花费的时间,这也是真正由进程使用的CPU时间。

locate

locate命令可以快速定位需要的文件路径,其实是相当于find -name。但是find搜索比较慢,locate从一个目录文件中进行搜索,因此比较快。

#搜索服务器中dbsnp数据库路径

$ locate dbsnp_138

locate是搜索一个数据库/var/lib/locatedb,这个数据库中含有本地所有文件信息。系统自动创建这个数据库,并且每天自动更新一次,所以使用locate命令查不到最新变动过的文件。为了避免这种情况,可以在使用locate之前,先使用updatedb命令,手动更新数据库。

disown

如果执行了一个比较大的任务,下班要关机走人,但是之前没有使用nohup放到后台,这个时候怎么办呢?

disown可以将后台运行的任务,忽略hup信息,也就是变成nohup模式。

$ sleep 100

按ctrl+z 切换为后台

$jobs

[1]-  Running                 sleep 100 &

$disown

注:screen 命令也可以完成类似的功能,但是对于新手过于复杂,感兴趣的可以研究下screen命令。

sed+awk

sed和awk是Linux系统下非常强大的文本处理工具,其实awk本身就是一门语言。sed主要用于替换,但是也可以输出任意的行,而awk可以输出任意的列,sed+awk的组合就可以输出文件中的任意位置的信息。

#输出文件第100到200行,第3到第5列

sed-n'100,200'seq.fna  |awk'{print$3,$4,$5}'

xargs 

xargs是给命令行传递参数的一个过滤器,也是组合多个命令的一个工具。它把一个数据流分割为一些足够小的块,以方便过滤器和命令进行处理。通常情况下,xargs从管道或者标准输入中读取数据,但是它也能够从文件的输出中读取数据。xargs 是一个强大的命令,它能够捕获一个命令的输出结果,然后传递给另外一个命令。

#搜索当前目录下所有一点fna结尾的文件,然后删除掉。

find./ -name*.fna| xargs rm

#将某个目录下fq.gz格式的文件,拷贝至当前目录。

find  ../../ -name"*.fq.gz  | xargs -I {}  cp {} .

快捷键

命令行有很多快捷键,熟练使用快捷键可以极大提高效率。

Ctrl+A 快速回到命令行行首

Ctrl+E 快速回到命令行行尾

Ctrl+右箭头:向右移动一个单词

Ctrl+左箭头:向左移动一个单词

Ctrl+F:向右移动一个字符,相当于按向右按键

Ctrl+B:向左移动一个字符,相当于按向左按键

Ctrl+C 终止当前命令

Ctrl+D 给程序一个终止信号,一般相当于exit

Ctrl+R 快速搜索历史记录

Ctrl+Z 暂停当前任务

Ctrl+L 清空当前屏幕

Shift+Insert 粘贴

Tab 补齐

!!:执行上一条命令

!num:执行历史命令中第num条命令

!-num:执行历史命令中倒数第num条命令

!?string?:执行最近一条包含有string字符串的命令

echo

echo命令只是用于在命令行显示内容,但是可以使用echo将命令行内容保存到一个脚本中。首先测试命令行内容是否可以执行,然后终止掉。使用向上箭头回到上一条命令。使用Ctrl+A快捷键快速回到行首,使用echo将命令保存到脚本中。

$ SOAPdenovo-63mer all -s lib.list-K45-o kmer45/kmer45 -D1-d1-u2-p2>kmer45.log

Ctrl+C终止掉,回到这条命令,Ctrl+A切换到行首,使用echo命令

$ echo"SOAPdenovo-63mer all -s lib.list -K 45 -o kmer45/kmer45 -D 1 -d 1 -u 2 -p 2>kmer45.log ">soapdenovo.sh

欢迎订阅我们的微信公众号,更多精彩内容等你发掘!

相关文章

  • 一些压箱底的Linux技巧

    Linux的强大之处就在于它的批量化和自动化,能够高效的完成工作,即使比较复杂的工作,通过一条命令就能够快速完成,...

  • 这些linux技巧大大提高你的工作效率

    前言 linux中的一些小技巧可以大大提高你的工作效率,本文就细数那些提高效率或者简单却有效的linux技巧。 命...

  • 这些linux小技巧大大提高你的工作效率

    前言 linux中的一些小技巧可以大大提高你的工作效率,本文就细数那些提高效率或者短小却有效的linux技巧。 学...

  • Linux技巧自留地

    Linux小技巧 1.查看ip地址 有些时候 Linux下 使用 ifconfig查看Ip地址无效需要先 安装一些...

  • Linux一些小技巧

    设置SSH登录时间 配置man中文帮助文档 未完待续~~ 1 设置SSH登录时间 我们一般远程连接Linux服务器...

  • Linux命令行使用教程

    Linux基本单词 Linux缩写 Linux目录 Linux操作 Linux技巧 Linux自学命令行办法

  • linux快捷小技巧(alias)

    linux快捷实用小技巧 场景:linux使用时通常会使用一些命令行方式,比较短的还比较好输入,但是一些组合命令可...

  • linux 下的一些技巧

    linux下有些文件是不能删除的,删除后可能出现异常,这时只能清空,命令如下 查找含有指定内容的文件 备份文件 将...

  • Linux使用的一些小技巧

    terminator使用快捷方式对于像Ubuntu这种有桌面的Linux系统可以安装terminator,同一个终...

  • linux sublime的一些技巧

    技巧目标修改快捷键行首,行尾,头插入尾插入,删除一行,移动一行到上一行下一行,复制行,等等。类似vim这样的模式切...

网友评论

    本文标题:一些压箱底的Linux技巧

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