美文网首页生信相关Biostar Handbook学习小组
Biostar handbook学习笔记二—linux常用命令的

Biostar handbook学习笔记二—linux常用命令的

作者: 简书蚕账号 | 来源:发表于2017-10-29 09:18 被阅读26次

    1.1 pwd

    显示当前路径

    1.2 cd

    改变当前所在目录
    cd / cd ~ 表示进入家目录

    1.3 ls

    查看目录内容。
    ls -alh / ls -lh显示目录下文件的详细信息,如文件大小

    1.4 cat

    可用来合并文件,也可用来在屏幕上显示整个文件的内容。

    1.5 touch

    用于创建新文件 touch newfile

    1.6 cp

    用于拷贝文件或文件夹

    1.7 mv

    用来移动文件或者重命名文件

    1.8 rm

    rm / rm -r 用于删除文件或文件夹
    rm -rf 用于强制删除文件夹

    1.9 free

    查看内存空间

    2.0 df -h

    查看磁盘空间

    2.1 chmod

    用于改变指定文件的权限命令。

    2.2 more | less

    用分页的形式显示指定文件的内容
    less比 more 更好的是,less可以往前翻页

    2.3 head

    用于显示文件的前n行内容

    2.4 tail

    用于显示文件的后n行内容

    2.5 find

    用于查找指定的文件

    2.6 tar

    用于多个文件或目录进行打包,但不压缩; 也用于解包
    -c 创建新文档
    -x 解包
    -v 显示正在处理的文件名
    -f 取代默认的文件名

    2.7 gzip

    用于文件进行压缩和解压缩命令,文件扩展名为.gz结尾

    2.8 gunzip

    用于对gzip压缩文档进行解压缩

    2.9 zip/unzip

    压缩解压缩.zip文件

    小结:
    打包、压缩、解压命令:
    打包: tar -cvf xxx.tar *
    压缩: gzip xxx.tar
    打包: gzip -d xxx.tar.gz
    压缩: tar -xvf xxx.tar
    打包并压缩:tar -zcvf xxx.tar.gz *
    解压:tar -zxvf xxx.tar.gz
    打包并压缩:tar -jcvf xxx.tar.bz2 *
    解压:tar -jxvf xxx.tar.bz2

    3.0 sudo

    以系统管理员的身份执行命令

    3.1 ln

    ln -s: 软链接:也称为符号连接,即为文件或目录创建一个快捷方式。
    ln 硬链接

    3.2 man

    显示命令的帮助文件

    3.3 kill -9

    杀死一些特定的进程

    3.4 clear

    清屏

    3.5 wc: 计数

    -l: 行数
    -w: 字数
    -c: 字符数

    3.6 ps

    显示所有进程

    3.7 jobs

    显示后台或挂起的进程

    3.8 top

    显示当前正在运行的命令

    3.9 sort 排序

    -r 逆序
    -d 字典顺序

    4.0 alias

    对命令重命名, 可在.bashrc中设置

    4.1 date

    显示日期的指令

    4.2 cal

    显示日历的指令

    4.3 bc

    简单好用的计算器

    • 加法
    • 减法
    • 乘法
    • / 除法

    • % 求余

    • ^ 求幂次方

    4.4 basename / dirname

    取得路径的文件名与目录名

    4.5 nl

    显示行号: 如 cat filename |nl 会将filename的行号显示出来。

    4.6 tac: 是cat倒着写

    从文件最后一行开始显示

    4.7 which

    which command 显示命令所在位置

    4.8 ifconfig:查看ip地址

    windows中使用ipconfig

    4.9 ping:

    ping ip地址: 测试网络连接是否正常

    5.0 who:

    查看当前登录的用户信息 (whoami: 查看当前用户名)
    who -u:
    who -q:

    5.1 对文本处理命令的详细介绍

    cut
    将一段信息的某一段切出来,处理的信息是以行为单位。
    cut -f 1,3,5 filename 获取文本的第一、三、五列
    cut -f 1-5 filename 获取文本的第一至五列

    grep 文本搜索查找与匹配
    无参数选项: 直接加查找内容: grep "查找内容" filename
    grep '查找内容' filename --color=always:表示突出显示查找内容
    参数选项:
    grep -i pattern files :不区分大小写地搜索。默认情况区分大小写,
    grep -l pattern files :只列出匹配的文件名,
    grep -L pattern files :列出不匹配的文件名,
    grep -w pattern files :只匹配整个单词,而不是字符串的一部分(如匹配’magic’,而不是’magical’),
    grep -C number pattern files :匹配的上下文分别显示[number]行,
    grep pattern1 | pattern2 files :显示匹配 pattern1 或 pattern2 的行,
    grep pattern1 files | grep pattern2 :显示既匹配 pattern1 又匹配 pattern2 的行。
    grep -n pattern files 即可显示行号信息
    grep -c pattern files 即可查找总行数,即某一匹配内容出现的个数
    grep -v pattern files 查找不包含匹配项的行
    grep -o pattern files 只返回匹配到的内容
    如: cat filename | grep -v "不匹配内容' | cut -f 2,5,9 | wc -l
    如果想查找一个以AT5G254开头以1结尾的基因,要用到强大的正则表达式。grep 'AT5G254.*5$' TAIR10_GFF3_genes.gff
    可以通过管道符号或者多个参数实现多重目的。

    uniq : 去重
    先排序后去重
    uniq -c : 重复数
    cat filename | cut -f 2 | sort | uniq | nl

    awk: 强大的文本操作工具
    awk擅长处理表格形式的数据。它逐行从文本中读取数据,将整行数据定义为$0, 然后根据指定的分隔符,将各列数据分别定义$1,$2,$3
    首先,awk实现cat,cut这些命令:
    cat
    $ awk '{print $0}' SGD_features.tab | head -2
    cut

    $ awk '{print $1,$4,$5}' TAIR10_GFF3_genes.gff | head -2
    awk除了能输出指定列,还能重排,甚至换一种分隔符,比cut更加强大
    $ awk '{print $4","$5","$1}' TAIR10_GFF3_genes.gff | head -1


    awk还支持

    • 算术运算(+,-,*,/,%,)
    • 逻辑运算(==,!=,<,>,>=,<=),
    • 或与非(&&,||,!),
    • 还可以进行模式匹配(ab,a!b)。

    eg. 找到长度大于10kb且在1号染色体的注释内容
    awk '$5 - $4 > 10000 && $1 ~ /Chr1/' TAIR10_GFF3_genes.gff | head -5


    awk还有两个特殊模式BEGIN,END,意思是在操作开始或/和结束后才执行的操作。

    详细的解释和使用可以到http://www.jianshu.com/p/8c6a0d0d4f0d以及 http://www.jianshu.com/p/9b0f2a3584e3上查询和学习。


    sed: 流处理工具
    文本替换:
    sed 's/pattern/replacement/' file
    显示特定行:
    sed -n 'n1,n2p' file.txt (-n 只输出编辑部分; p 打印; n1,n2 从以n1到n2)
    -i会修改源文件,但是可以同时使用bak备份
    $sed -ibak 's/Ian/IAN/' source.txt
    行后增加内容:
    sed '[address] a the-line-to-append' infile( [address]指位置;a: 代表append缩写;the-line-to-append:指插入或增加的内容)
    行前增加内容:
    sed '[address] i the-line-to-insert' input-file
    sed '2 i 108,Donald Stufft, Nebula' source.txt
    修改行语法:
    sed '[address] c the-line-to-insert' input-file
    sed '/Paul/ c 108,Donald Stufft, Nebula' source.txt

    该网站http://dongweiming.github.io/sed_and_awk详细介绍了sed的其他一些用法。

    补充一下:split和join的用法:
    split: 用于文件拆分
    -<行数> : 指定每多少行切成一个小文件
    split -2 README #将README文件每2行分割成一个文件
    -b 字节数: 按照字节数切分
    split -b 200 infile

    join: 将两个文件中,指定栏位内容相同的行连接起来。
    join file1 file2

    详细讲解可查询http://www.runoob.com/linux/linux-command-manual.html网站。

    相关文章

      网友评论

        本文标题:Biostar handbook学习笔记二—linux常用命令的

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