生信喵 发表于 2021-12-13 21:04:39

环境设置

本帖最后由 生信喵 于 2021-12-13 21:07 编辑

背景
      由于 Linux 命令行没有图形化界面,因此,所有的设置都采用文本的方式来完成,而其中最重要的用户设置则为 bashrc 文件,bashrc 配置文件非常重要,相当于图形化界面的设置选项。很多时候,命令找不到,缺少 XXX,都可能与这个有关。如果 bashrc 修改错误,会造成严重的影响。下面系统来介绍一下 bashrc 文件。
      bashrc:为每一个运行 bash shell 的用户执行此文件。当 bash shell 被打开时,该文件被读取,其中 rc 是“run configure”的简写。在每个用户的 home 目录下,我们使用 ls -a 命令,就会看到以 bash 开始开头的四个隐藏文件。
$ ll -a .bash*
-rw-------. 1 meta bio 25K Nov 19 20:51 .bash_history
-rw-r--r--. 1 meta bio 18 Nov 9 2019 .bash_logout
-rw-r--r--. 1 meta bio 141 Nov 9 2019 .bash_profile
-rw-r--r--. 1 meta bio 1.7K Sep 9 14:30 .bashrc      不同的 bashrc 配置会呈现完全不同的效果,我的配置文件主要分为三个部分,分别是 alias部分,PS 变量部分以及 export 部分。接下来我来介绍一下我的 bashrc 配置,仅供参考。

1 Alias 部分
      alias 主要是设置一些别名,方便将一些长的命令和选项参数进行简化,例如“less -S”,每次要敲七个字符,简写成 le,两个字符就够了。以下是一些常用的 alias 命令,可以添加到.bashrc中。
# .bashrc
# User specific aliases and functions
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
alias df='df -h'
alias du='du -skh'
alias grep='grep --color'
alias ls='ls -hF --color=tty' # classify files in colour
alias dir='ls --color=auto --format=vertical'
alias ll='ls -lh -rt --file-type' # long list
alias l='ls -CF' #
alias lla='ls -a -l'
alias e='exit'
alias le='less -S'
alias d='display'
alias t='top -u $USER'      这其中 rm 和 cp 都是默认带交互模式,这是系统自带的,也可以自己定义一些命令,但是注意,不能和其他命令混了。

2 PS 部分
2.1 修改 PS 变量
      Linux 系统中的 PS变量用来控制命令行设置,其中PS 即是Prompt String,命令提示符的意思,可以看到有 PS1,PS2,PS3,PS4 等。其中最重要的就是 PS1,PS2 用来设置二级提示符。修改 PS 中的设置就可以对命令行进行个性化的设置,不过这些都是一些奇怪的符号,不容易看懂。
\d :设置日期
\H :完整的主机名称
\h :仅取主机名中的第一个名字
\t :显示时间为 24 小时格式,如:HH:MM:SS
\T :显示时间为 12 小时格式
\A :显示时间为 24 小时格式:HH:MM
\@:显示时间,为 12 小时格式:am/pm
\u :当前用户的账号名称
\v :BASH 的版本信息
\w :完整的工作目录名称
\W :显示最后一个目录名
\# :下达的第几个命令
\$ :提示字符,如果是 root 用户,提示符为 # ,普通用户则为 $      这其中我们只选取需要的部分添加到命令行里即可。一般是用户名,时间,工作目录几个部分。
$ export PS1="\u \t \w \n[      DISCUZ_CODE_3      ]quot;
meta 09:25:28 /User/meta
$      这里我们分别选择了用户名(\u),时间(\t),工作目录(\w),换行加$提示符(\n$)四个部分,中间用空格分开。界面清晰了很多。如果想添加其他内容,直接添加进去就行。

2.2 设置颜色
      选择完显示内容,接下里可以对每一部分分别添加颜色来进行区分。Linux 命令行终端颜色是通过一些数字来显示的。格式为“[\e…[\e,其中“F“为字体颜色,编号为 30-37,“B”为背景颜色,编号为 40-47,[\e作为颜色设定的结束”。
前景 背景 颜色
------------
30 40 黑色
31 41 红色
32 42 绿色
33 43 黃色
34 44 蓝色
35 45 紫紅色
36 46 青蓝色
37 47 白色
      有了这些内容我们就可以来添加颜色。
用户名部分:\[\e \u \[\e
时间部分:\[\e \t \[\e
工作目录部分: \[\e \w \[\e
$部分设置: \n\[\e $ \[\e      每个设置都分为三部分,前面设置颜色[\e,其中数字代表具体颜色,这里我们不要背景色,给个数字 1,然后第二部分就是之前的用户名(\u),时间(\t),工作目录(\w),换行加$提示符(\n$),最后是设置结尾部分[\e,这里面加了很多“\”用来进行转义。
      案例模板
      这里面给出几个模板。
      模板一:
meta 10:02:38 /User/meta
$ export PS1="\[\e\u\[\e \[\e\t\[\e\[\e\w\[\
e\n\[\e$ \[\e"
meta 10:02:46 /ifs1/User/meta
$
      模板二:
meta 10:07:02 /User/meta
$ export PS1="\[\e\u\[\e \[\e\t \[\e\[\e\w\[
\e\n\[\e$ \[\e"
meta 10:07:06 /ifs1/User/meta
$
      模板三:
meta 10:11:33 /User/meta
$ export PS1="\[\e\u\[\e \[\e\t \[\e\[\e\w\[
\e\n\[\e$ \[\e"
meta 10:11:36 /ifs1/User/meta
$      如果想设置永久起作用,需要将该变量写入.bashrc 文件中。
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
if [ "$TERM" = "xterm" ]
then
export PS1="\[\e\u\[\e \[\e\t \[\e\[\e\w\[\
e\n\[\e$ \[\e"
else
export PS2="\[\e\u\[\e \[\e\t \[\e\[\e\w\[\
e\n\[\e$ \[\e"
fi
3 export 部分
      export 是最重要的一部分,这部分内容是修改系统一些默认变量的行为,例如敲 env 命令会显示出当前账户所有环境变量,其中比较重要的就是 PATH 变量,export 之后,每次登录之后,系统会重新配置默认环境变量。除了 PATH,也可以修改 perl 模块目录,python 模块目录以及其他一些配置等。
export PATH="$PATH:./:/usr/bin:$PATH"
export PATH="$PATH:/Software/bin/:$PATH"
export PERL5LIB="/Software/biosoft/tRNAscan-SE-1.3.1/"
# added by Miniconda3 installer
export LD_LIBRARY_PATH="/Software/boost-1.60.0-py27_3/lib/"

4 PATH 变量
4.1 PATH 变量简介
      PATH 变量是 Linux 系统默认程序路径,当在命令行敲命令时,系统会从 PATH 变量中设定的目录中查找程序,which 命令搜索时也会从 PATH 变量中进行搜索。Linux 系统中常见的软件找不到“command not found...”多是因为 PAHT 变量没有设置成功引起的。PATH 变量可以极大的方便软件的使用,无需使用全路径,在任何目录下直接使用软件名即可运行,否则需要一直使用全路径。
显示当前默认软件路径
echo $PATH
which bwa      windows 系统下也有 PATH 变量。
      
4.2 修改 PATH 变量
      PATH 变量中会包含多个软件路径,当在命令行输入命令时,例如 ls,软件会自动按顺序从PATH 变量的路径下开始寻找同名的软件,如果找到直接运行;如果找不到,则到下一个目录查找,以此类推。当所有目录下都找不到的时候,则提示“command not found...”。修改PATH 变量一定要小心,需要提前备份一份,如果设置错误,可以重新恢复。
首先备份一下
cp ~/.bashrc ~/.bashrc.bak
打开 vim 修改
vim ~/.bashrc
将路径添加到 PATH 变量中,可以在一行中添加,也可以新建一行
export PATH="$PATH:./:/usr/bin:/Software/bin/:$PATH"
刷新设置
source ~/.bashrc
4.3 创建程序快捷方式
      知道了如何添加 PAHT 变量之后,就可以将生物软件的安装目录直接添加到 PATH 变量中,但是生物软件的路径很多,不能将每一个软件安装目录都添加到 PATH 变量中,这样并不是高效的做法。比较好的方案是,在系统中创建一个 biosoft 目录,一个 bin 目录,(bin 代表binary,表示二进制可执行程序),软件安装在 biosoft 目录,只将每个软件可执行程序链接到 bin 目录下即可,最后将这个 bin 目录全路径添加到 PATH 变量中。后面每次安装新程序只需将软件链接到 bin 目录下即可。这个过程相当于 windows 系统的创建桌面快捷方式。
创建软件安装目录与快捷方式目录
mkdir ~/biosoft ~/bin
将 bin 目录添加到.bashrc 文件的 PATH 变量中
export PATH="$PATH:~/bin/:$PATH"
将可执行程序链接到 bin 目录中
ln -s biosoft/ont-guppy-cpu/bin/guppy_basecaller ~/bin
ln -s biosoft/ont-guppy-cpu/bin/guppy_barcoder ~/bin
ln -s biosoft/ont-guppy-cpu/bin/guppy_aligner ~/bin
自动补齐运行 guppy_basecaller
guppy_basecaller

5 更新配置
      修改完配置,确认没有问题后,保存退出 vim,这些设置并不会立刻起作用,需要重新登录,或者刷新一次。
首先备份一下
cp ~/.bashrc ~/.bashrc.bak
打开 vim 修改
vim ~/.bashrc
保存退出,刷新设置
source ~/.bashrc
6 恢复初始配置
      如果 bashrc 修改错了,导致很多命令无法使用。这个时候就需要恢复到初始设置,可以恢复之前备份的,也可以拷贝系统的。因为这个时候找不到拷贝的 cp 命令,需要使用全路径。
恢复备份
cp ~/.bashrc.bak ~/.bashrc
也可以恢复到系统初始化
cp /etc/skel/.bashrc ~/.bashrc
选择覆盖原始文件
页: [1]
查看完整版本: 环境设置