美文网首页pytest生信小白入门Linux
Linux环境变量与修改配色

Linux环境变量与修改配色

作者: Ashu | 来源:发表于2022-03-29 15:09 被阅读0次

    理解环境变量的原理,以后在Linux上安装软件才会畅行无阻。

    环境变量

    用于存储有关shell会话和工作环境的系统变量

    常见环境变量

    HOME:当前用户的主目录(大家的家目录)

    PATH:shell查找命令的目录列表,由冒号(:)分隔。(PATH有一个规律:路径很多,用冒号:分开)

    SHELL:bash shell的全路径名
    LOGNAME:当前用户的登录名
    PS1:shell命令行界面的主提示符(之前接触过,是用来修改命令行配色)
    PS2:shell命令行界面的次提示符

    在Linux里,是用echo打印变量。

    • **echo **

    (1)打印字符串

    (2)打印变量的值,变量调用要加 $

    几个常见的环境变量的介绍

    • $HOME 记录了用户的家目录所在的路径
    echo  $HOME
    #/home/ashu
    
    echo打印位置
    • PS1 命令行配色
    $ echo  $PS1
    \[\033]2;\h:\u \w\007\033[33;1m\]\u \033[35;1m\t\033[0m \[\033[36;1m\]\w\[\033[0m\]\n\[\e[32;1m\]$ \[\e[0m\]
    
    $ echo  $PATH
    /trainee2/vip28/miniconda3/condabin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
    
    
    • 修改命令行配色

    感兴趣的自行搜索

    echo  'export PS1="\[\033]2;\h:\u \w\007\033[33;1m\]\u \033[35;1m\t\033[0m \[\033[36;1m\]\w\[\033[0m\]\n\[\e[32;1m\]$ \[\e[0m\]" ' >> ~/.bashrc
    source  ~/.bashrc
    
    ##>> ~/.bashrc,linux系统原来有.bashrc这个文件,把配色PS1追加>>到~/.bashrc,修改配色,把黑白命令行,改成有彩色的。
    

    ~/.bashrc:系统配置文件,包含专用于你的 bash shell 的 bash信息、设置,每次登录或打开新的 shell 时,该文件会 被自动读取和执行如果正确修改了.bashrc,需要source,不想source的话,就是重新登入服务器,~/.bashrc在登录时会被执行

    • PATH(最关键的知识点)

    PATH保存的信息是命令,可执行文件

    $PATH输入命令时Linux(系统)会去查找PATH里面记录的路径,如果命令存在某一个路径中,就可以成功调用。

    <PATH1>:<PATH2>:<PATH3>:------:<PATHN>

    打个比方,PATH 是一个工具箱,有很多层(对应很多个路径),每一层放着各式各样的工具(对应各种命令)。(PATH里有的命令才可以被使用,就如工具箱有的工具才能被使用,没有的话就不能使用,)


    生信技能树小郭老师的PATH形象例子
    $ echo $PATH
    ##记录很多个路径:路径之间没有空格,用冒号(:)分开
    /trainee2/vip28/miniconda3/condabin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
    
    # 可以把 : 替换成换行符 \n 
    $ echo $PATH | tr ':'  '\n'
    /trainee2/vip28/miniconda3/condabin
    /usr/local/sbin
    /usr/local/bin
    /usr/sbin
    /usr/bin
    /sbin
    /bin
    /usr/games
    /usr/local/games
    /snap/bin
    ##每个路径下保存的是命令
    
    ##查看命令保存在哪里,用which
    # 比如 ls 命令存在
    $ ls  
    $ which ls 
    /bin/ls
    ls /bin
    

    有一位同学提出的问题:可以创建自己的./bashrc吗?

    答案:不可以,在创建用户名时已经创建./bashrc,查看./bashrc里面保存什么

    cat .bashrc
    ##里面有很多信息
    ##里面前面加#的内容,可能是一些注释信息
    ##没有注释的代码,在登入服务器是就被自动执行
    ##举例子:
    ##alias的意思是取别名
    alias ll='ls -alF'
    ##让ll等于ls -alF
    ##分别运行ls -alF和ll,它们运行出的结果一样
    ##这是被设置好的,如果以后拿到一台服务器,不一定是这个设置
    alias la='ls -A'
    alias l='ls -CF'
    

    安装conda时,修改了系统里的bashrc,source或是重新登录就会被激活

    写入conda一句非常关键的信息
     export PATH="/home/ashu/miniconda3/bin:$PATH"
     ##这个是原来的$PATH,添加了bin目录
     echo $PATH
     echo $PATH | tr ':' '\n'
    

    conda在.bashrc里添加两句

    /home/ashu/miniconda3/bin
    /home/ashu/miniconda3/condabin
    #/usr/local/bin
    ##现在能理解
    #安装conda之后,需要source ./bashrc,重新运行里面的代码,才能生效。或是重新登录
    
    写入的两句代码

    conda在PATH和bashrc里,在哪个位置

    conda --help
    which conda
    #/home/ashu/miniconda3/bin/conda
    echo $PATH |tr ':' '\n'
    ##理解conda,bashrc,PATH三者的关系:安装conda,conda修改bashrc,conda所在目录是在我们PATH里面,所以可以调用成功。conda修改了PATH,添加路径/home/ashu/miniconda3/bin,然后又把添加的代码写在bashrc,激活bashrc或是重新登录服务器
    
    
    • 如何管理 PATH

    在小环境rna里安装fastqc,在base里fastqc --help报错

    echo $PATH | tr ':' '\n'
    fastqc --help
    conda activate rna
    fastqc --help
    echo $PATH | tr ':' '\n'
    ##发现多加了一句/home/ashu/miniconda3/envs/rna/bin
    ##激活小环境后,修改bashrc,就是多加上面那一句代码。
    ##激活小环境的原理是,在PATH里添加一个路径
    which fastqc
    ##/home/ashu/miniconda3/envs/rna/bin/fastqc
    conda deactivate
    ##退出小环境rna,不需要加rna
    which fastqc
    
    是否在小环境运行which fastqc结果不同

    小郭老师踩了很多坑探索出来的,有空再看看这个PATH的视频

    如何管理$PATH:理解环境变量 $PATH 是非常重要的,对后续的环境和软件管理都非常重要。

    推荐方法:在自己家目录下创建一个 ~/bin/ 文件夹并将其添加到环境变量,后续安装软件,就将软件的可执行文件拷贝或软链接(绝对路径)到这个 bin 文件夹:

    ##一定要退出小环境,才进行以下的操作
    mkdir  ~/bin 
    echo  'export "PATH=${HOME}/bin:$PATH" ' >> ~/.bashrc 
    ##${HOME}加上{}是让系统能识别到,避免与其它变量混在一起后续出问题
    ##原来的echo  'export "PATH=~/bin:$PATH" ' >> ~/.bashrc 
    ##有时候波浪线~会识别错误,所以用${HOME}替代~
    source  ~/.bashrc
    cat ~/.bashrc
    echo $PATH | tr ':' '\n'
    ##/home/ashu/bin,多了这一句
    
    成功加上PATH
    echo $PATH | tr ':' '\n'
    
    打印PATH

    说明

    以上内容是听生信技能树小郭老师授课内容以及参考课件。

    相关文章

      网友评论

        本文标题:Linux环境变量与修改配色

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