美文网首页生信小白成长记
关于LINUX命令行(一)

关于LINUX命令行(一)

作者: 琪音 | 来源:发表于2018-01-23 01:29 被阅读8次
    为什么使用命令行?

    大多数计算机用户只熟悉图形用户界面(GUI:graphical user interface),并且产品供应商和此领域的学者会灌输给永华这样的思想,命令行界面(CLI:command line interface)是过去使用的一种很恐怖的东西。

    一个好的命令行界面,是用来和计算机进行交流沟通的非常有效的方式,“图形用户界面让简单的任务更容易完成,而命令行界面使完成复杂的任务成为可能”。

    生物信息领域,能高效处理大量的数据。生物信息的软件大多为开源软件,LINUX版本。它是一个多用户的操作系统,充分利用购置的硬件资源和软件资源。

    什么是shell?

    shell就是一个程序,它接受从键盘输入的命令,然后把命令传递给操作系统去执行。
    bash(Bourne Again SHell),最初Unix上有Steve Bourne写成shell程序sh的增强版。

    • 终端仿真器

    当使用图形用户界面时,我们需要另一个和shell交互的叫做终端仿真器的程序。

    ** 在Mac里就是Terminal **

    • 第一个按键
    qiyindeMacBook-Pro:~ qiyin$ 
    

    这叫做shell提示符,通常包括你的用户名和主机名,紧接着是当前工作目录和一个美元符号。
    输入6789,这个命令没有意义,shell会提示错误信息。

    • 命令历史
    iyindeMacBook-Pro:~ qiyin$ 6789
    -bash: 6789: command not found
    qiyindeMacBook-Pro:~ qiyin$ 6789
    

    如果按下上箭头,会看到刚才输入的命令,这就叫做命令历史。一般保存最后输入的500个命令,按下下箭头按键,先前输入的命令消失。

    • 输入简单的命令行
    qiyindeMacBook-Pro:~ qiyin$ date
    2018年 1月19日 星期五 10时15分22秒 CST
    qiyindeMacBook-Pro:~ qiyin$ cal
         一月 2018
    日 一 二 三 四 五 六
        1  2  3  4  5  6
     7  8  9 10 11 12 13
    14 15 16 17 18 19 20
    21 22 23 24 25 26 27
    28 29 30 31
    
    • 结束终端会话
      输入exit命令来终止一个终端会话。
    文件系统中的跳转

    pwd-print name of current working directory (打印当前工作目录名)
    cd-change direttory(更改目录)
    ls-list directory contents(列出目录内容)

    • 理解文件系统树
      所有文件组成一棵树型目录,这个目录树可能包含文件和其他目录。文件系统中的第一级目录称为根目录,根目录包含文件和子目录,子目录包含更多的文件和子目录,以此类推。
    qiyindeMacBook-Pro:~ qiyin$ pwd
    /Users/qiyin
    

    这是我的家目录,家目录是唯一允许用户对文件进行写入的地方

    • 绝对路径

    绝对路径开始于根目录,紧跟着目录树的一个个分支,一直到达所期望的目录或文件。

    • 相对路径
      相对路径开始于工作目录。

    特殊的符号表示相对位置
    “.”指的是工作目录
    “..”指的是工作目录和父目录

    绝对 相对
    from /Users/qiyin to /Users cd /Users cd ..
    from /Users to /Users/qiyin cd /Users/qiyin cd ./qiyin
    qiyindeMacBook-Pro:~ qiyin$ 
    qiyindeMacBook-Pro:~ qiyin$ pwd
    /Users/qiyin
    qiyindeMacBook-Pro:~ qiyin$ cd /Users
    qiyindeMacBook-Pro:Users qiyin$ pwd
    /Users
    qiyindeMacBook-Pro:Users qiyin$ cd /Users/qiyin
    qiyindeMacBook-Pro:~ qiyin$ pwd
    /Users/qiyin
    qiyindeMacBook-Pro:~ qiyin$ cd ..
    qiyindeMacBook-Pro:Users qiyin$ pwd
    /Users
    qiyindeMacBook-Pro:Users qiyin$ cd ./qiyin
    qiyindeMacBook-Pro:~ qiyin$ pwd
    /Users/qiyin
    

    tip:"./"可以省略

    • ls乐趣

    通过ls,我们可以知道目录的内容,以及各种各样重要文件和目录的属性。

    选项和参数

    命令名经常会带有一个或多个用来更正命令行为的选项,选项后面会带有一个或多个参数,这些参数是命令作用的对象。
    大多数命令使用的选项,是由一个中划线加上一个字符组成,例如“-l”.
    ls命令选项

    • 确定文件类型
      用file命令来确定文件的类型,形式为“file filename”

    • 浏览文件内容
      用less命令来浏览文本文件的程序,形式为“less filename”
      例如,要查看一个定义了系统中全部用户身份的文件,输入“less /etc/passwd”


    操作文件和目录

    cp - 复制文件和目录
    mv - 移动/重命名文件和目录
    mkdir - 创建目录
    rm - 删除文件和目录
    ln - 创建硬链接和符号链接

    • 通配符

    shell频繁的使用文件名,shell提供了特殊字符来帮助你快速指定一组文件名。这些特殊字符叫做通配符,使用它允许你依据字符类型来选择文件名。

    rm命令用到通配符,用ls命令来测试,看到要删除的文件列表。

    • 硬链接与符号链接
      每个文件默认会有一个硬链接,这个硬链接给予文件名字。我们每创建一个硬链接,就为一个文件创建了一个额外的目录项
      创建符号链接是为了克服硬链接的两个缺点:硬链接不能跨越物理设备,硬链接不能关联目录,只能是文件。符号链接生效,是通过创建一个特殊类型的文件,这个文件包含一个关联文件或目录的文本指针

    什么是链接?
    链接简单说是一种文件共享的方式,是POSIX中的概念,主流文件系统都支持链接文件。可以理解为windows中常见的快捷方式。

    不是很明白?
    跳转大佬的科普文,看完后,再通过练习感受一下吧!


    练习

    1、创建目录playground

    2、在playground的目录下创建dir1、dir2

    3、复制文件

    从/etc目录复制passwd到当前目录,使用cp命令,再执行ls命令看到文件

    qiyindeMacBook-Pro:playground qiyin$ cp /etc/passwd .
    qiyindeMacBook-Pro:playground qiyin$ ls -l
    total 16
    drwxr-xr-x  2 qiyin  staff    68  1 20 17:12 dir1
    drwxr-xr-x  3 qiyin  staff   102  1 20 17:12 dir2
    -rw-r--r--  1 qiyin  staff  5925  1 22 23:08 passwd
    

    注意 在命令末尾加个“ .”,就是将passwd复制快捷方式到当前目录

    4、移动和重命名文件

    将passwd重命名为fun,用到mv命令。将fun移动到dir1。再把fun从dir1移动到目录dir2,最后把fun文件带回到当前目录。

    • tips:这里移动和重命名都是mv命令,所以在同一个文件夹下面,就执行重命名。在不同文件夹,并且那个文件夹没有的文件,就是移动。
    qiyindeMacBook-Pro:playground qiyin$ mv passwd fun
    qiyindeMacBook-Pro:playground qiyin$ mv fun dir1
    qiyindeMacBook-Pro:playground qiyin$ mv dir1/fun dir2
    qiyindeMacBook-Pro:playground qiyin$ mv dir2/fun .
    qiyindeMacBook-Pro:playground qiyin$ ls
    dir1    dir2    fun
    

    5、创建硬链接

    "ls -li"可以展示文件索引节点的信息,第一字段中,fun和fun-hard共享一样的索引节点号,证实这两个文件是一样的文件。

    qiyindeMacBook-Pro:playground qiyin$ ln fun fun-hard
    qiyindeMacBook-Pro:playground qiyin$ ln fun dir1/fun-hard
    qiyindeMacBook-Pro:playground qiyin$ ln fun dir2/fun-hard
    qiyindeMacBook-Pro:playground qiyin$ ls -li
    total 32
    9860853 drwxr-xr-x  3 qiyin  staff   102  1 22 23:45 dir1
    9860854 drwxr-xr-x  3 qiyin  staff   102  1 22 23:46 dir2
    9990311 -rw-r--r--  4 qiyin  staff  5925  1 22 23:08 fun-hard
    9990311 -rw-r--r--  4 qiyin  staff  5925  1 22 23:08 fun
    

    6、创建符号链接(软连接)

    这里使用了相对路径,也可以使用绝对路径:
    “ln -s /Users/qiyin/playground/fun dir1/fun-sym”

    可以看到创建的符号链接中文件索引节点和原来的是不一样的。

    qiyindeMacBook-Pro:playground qiyin$ ln -s ../fun dir/fun-sym
    qiyindeMacBook-Pro:playground qiyin$ ln -s ../fun dir1/fun-sym
    qiyindeMacBook-Pro:playground qiyin$ ln -s ../fun dir2/fun-sym
    qiyindeMacBook-Pro:playground qiyin$ ls -l dir1
    total 24
    -rw-r--r--  4 qiyin  staff  5925  1 22 23:08 fun-hard
    lrwxr-xr-x  1 qiyin  staff     6  1 23 00:07 fun-sym -> ../fun
    qiyindeMacBook-Pro:playground qiyin$ ls -li
    total 40
    9860853 drwxr-xr-x  4 qiyin  staff   136  1 23 00:07 dir1
    9860854 drwxr-xr-x  4 qiyin  staff   136  1 23 00:07 dir2
    9990311 -rw-r--r--  4 qiyin  staff  5925  1 22 23:08 fun-hard
    9990311 -rw-r--r--  4 qiyin  staff  5925  1 22 23:08 fun
    9993619 lrwxr-xr-x  1 qiyin  staff     3  1 23 00:05 fun-sym -> fun
    

    相关文章

      网友评论

        本文标题:关于LINUX命令行(一)

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