生物信息 Linux学习2

作者: 生信宝典 | 来源:发表于2017-08-02 20:27 被阅读13次

    获取可用命令行参数

    前面使用的命令,有几个用到了参数如ls -l, head -n 6等,需要注意的是命令跟参数之间要有空格
    终端运行man ls可以查看ls所有可用的参数,上下箭头翻页,按q退出查看。(man: manual,手册)

    ct@ehbio:~/data$ man ls
    NAME
    ls -list directory contents
    SYNOPSIS
    ls[OPTION]... [FILE]...
    DESCRIPTION
    ListinformationabouttheFILEs(the current directory bydefault).
    Sortentries alphabetically if none of -cftuvSUX nor --sort is specified.
    Mandatory arguments to long options aremandatory for short options too.
    -a,--all
    donot ignore entries starting with .
    -A,--almost-all
    donot list implied . and ..
    --author
    with -l, print the author of each file
    -b,--escape
    print C-style escapes for nongraphic characters
    ....
    

    文件上下翻转和左右翻转

    两个有意思的命令,tac:文件翻转,第一行变为最后一行,第二行变为倒数第二行;rev每列反转,第一个字符变为最后一个字符,第二个字符变为倒数第二个字符。

    ct@ehbio:~/data$ cat <
    > first
    > second
    > third
    > END
    third
    second
    first
    ct@ehbio:~/data$ cat <
    > abcde
    > xyz
    > END
    edcba
    zyx
    

    其它新建文件的方式

    nano类似于Windows下记事本的功能,nano filename就可以新建一个文件,并在里面写内容;ctrl+x退出,根据提示按Y保存。
    vim功能更强大的文本编辑器。vim filename就可以新建一个文件,敲击键盘字母i,进入写作模式。写完后,敲击键盘Esc,退出写作模式,然后输入:w (会显示在屏幕左下角),回车保存。vim的常用方法,以后会单写一个,这里点到为止。

    Linux下文件操作

    常用的文件操作有移动文件到另一个文件夹、复制文件到另一个文件夹、文件重命名等。
    cp (copy):拷贝文件或文件夹(cp -r拷贝文件夹时的参数,递归拷贝)

    #列出当前目录下有的文件和文件夹
    ct@ehbio:~$ ls
    data
    #新建一个文件夹
    ct@ehbio:~$ mkdir ehbio_project
    #列出当前目录下有的文件和文件夹,及其子文件夹的内容
    # data目录下有一个文件,ehbio_project目录下无文件
    ct@ehbio:~$ ls *
    data:
    test.fa
    ehbio_project:
    #拷贝data目录下的文件test.fa到ehbio_project目录下
    ct@ehbio:~$ cp data/test.fa ehbio_project/
    #列出当前目录下有的文件和文件夹,及其子文件夹的内容
    # data目录下有一个文件,ehbio_project目录下无文件
    ct@ehbio:~$ ls *
    data:
    test.fa
    ehbio_project:
    test.fa
    

    mv (move):移动文件或文件夹

    #重命名data目录下的文件test.fa为first.fa
    # mv除了可以移动文件,也可以做单个文件的重命名
    ct@ehbio:~$ mv data/test.fa data/first.fa
    #列出当前目录下有的文件和文件夹,及其子文件夹的内容
    ct@ehbio:~$ ls *
    data:
    first.fa
    ehbio_project:
    test.fa
    

    rename:文件重命名(常用于批量重命名,不同的系统可能用法略有不同,使用前先man rename查看使用方法)

    #进入另一个目录
    ct@ehbio:~$ cd ehbio_project/
    ct@ehbio:~/ehbio_project$ ls
    test.fa
    #给文件做一份拷贝
    ct@ehbio:~/ehbio_project$ cp test.fasecond.fa
    ct@ehbio:~/ehbio_project$ ls
    second.fatest.fa
    #给文件多拷贝几次,无聊的操作,就是为了给rename提供发挥作用的机会
    ct@ehbio:~/ehbio_project$ cp test.fatest2.fa
    ct@ehbio:~/ehbio_project$ cp test.fatest3.fa
    ct@ehbio:~/ehbio_project$ cp test.fatest4.fa
    # cp后面需要2个参数,被拷贝的文件和要被拷贝到的目录或文件
    #出现下面的错误,表示缺少目标路径或文件
    ct@ehbio:~/ehbio_project$ cp ehbio.fa
    cp:在"ehbio.fa"后缺少了要操作的目标文件
    Try 'cp --help' for more information.
    ct@ehbio:~/ehbio_project$ ls
    second.fatest2.fatest3.fatest4.fatest.fa
    #用rename进行文件批量重命名
    ct@ehbio:~/ehbio_project$ rename 'test''ehbio' test*.fa
    ct@ehbio:~/ehbio_project$ ls
    ehbio2.faehbio3.faehbio4.faehbio.fasecond.fa
    

    ln (link):给文件建立快捷方式(ln -s source_file target创建软连接)。
    在建立软连接时,原文件要使用全路径。全路径指以/开头的路径。
    建立软连接,是为了在不增加硬盘存储的情况下,简化文件访问方式的一个办法。把其它文件夹下的文件链接到当前目录,使用时只需要写文件的名字就可以了,不需要再写长串的目录了。
    ../:表示上一层目录;../../:表示上面两层目录
    pwd (print current/working directory):输出当前所在的目录
    \``为键盘Esc下第一个按键(与家目录~`符号同一个键),写在反引号内的命令会被运行,运行结果会放置在反引号所在的位置

    #建立软连接,把当前目录下的ehbio2.fa,链接到上一层目录的data下面
    #这是一个无效的软连接,
    ct@ehbio:~/ehbio_project$ ln -s ehbio2.fa../data
    #在使用ls查看时,无效的软连接的文件名下面是黑色的背景。
    ct@ehbio:~/ehbio_project$ ls -l ../data/
    总用量4
    lrwxrwxrwx 1 ct ct9 6月9 17:55 ehbio2.fa -> ehbio2.fa
    -rw-rw-r-- 1 ct ct 284 6月8 14:48 first.fa
    #输出当前所在的目录
    ct@ehbio:~/ehbio_project$ pwd
    /home/ct/ehbio_project
    #建立软连接时,原始文件一定使用全路径。全路径指以/开头的路径。
    ct@ehbio:~/ehbio_project$ ln -s/home/ct/ehbio_project/ehbio2.fa ../data
    ln:无法创建符号链接"
    ../data/ehbio2.fa" :文件已存在
    #上面的错误信息时,已经存在这么一个链接了(虽然是无效的),但再建新的链接时还会提示
    #使用`-f` (force)强制覆盖已有的链接
    ct@ehbio:~/ehbio_project$ ln -fs`pwd`/ehbio2.fa ../data
    #再次查看时,就正常了。文件名下面没有了背景色,并且有个右箭头指向原始文件
    # `lrwxrwxrwx`中的`l`表示软连接。
    ct@ehbio:~/ehbio_project$ ls -l ../data/
    总用量4
    lrwxrwxrwx 1 ct ct32 6月9 17:56 ehbio2.fa ->/home/ct/ehbio_project/ehbio2.fa
    -rw-rw-r-- 1 ct ct 284 6月8 14:48 first.fa
    #通常为了简化写法,使用`pwd`代替全路径
    # `为键盘Esc下面的按键,写在反引号内的命令会被运行,运行结果会放置在反引号所在的位置
    ct@ehbio:~/ehbio_project$ ln -s`pwd`/ehbio2.fa ../data
    ln:无法创建符号链接"
    ../data/ehbio2.fa" :文件已存在
    ct@ehbio:~/ehbio_project$ ln -fs`pwd`/ehbio2.fa ../data
    ct@ehbio:~/ehbio_project$ ls -l ../data/
    总用量4
    lrwxrwxrwx 1 ct ct32 6月9 17:56 ehbio2.fa ->/home/ct/ehbio_project/ehbio2.fa
    -rw-rw-r-- 1 ct ct 284 6月8 14:48 first.fa
    

    相关文章

      网友评论

        本文标题:生物信息 Linux学习2

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