背景
由于 Linux 命令行没有图形化界面,因此,所有的设置都采用文本的方式来完成,而其中最重要的用户设置则为 bashrc 文件,bashrc 配置文件非常重要,相当于图形化界面的设置选项。很多时候,命令找不到,缺少 XXX,都可能与这个有关。如果 bashrc 修改错误,会造成严重的影响。下面系统来介绍一下 bashrc 文件。
bashrc:为每一个运行 bash shell 的用户执行此文件。当 bash shell 被打开时,该文件被读取,其中 rc 是“run configure”的简写。在每个用户的 home 目录下,我们使用 ls -a 命令,就会看到以 bash 开始开头的四个隐藏文件。
代码语言:javascript代码运行次数:0运行复制$ 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 配置,仅供参考。
一、Alias 部分
alias 主要是设置一些别名,方便将一些长的命令和选项参数进行简化,例如“less -S”,每次要敲七个字符,简写成 le,两个字符就够了。以下是一些常用的 alias 命令,可以添加到.bashrc中。
代码语言:javascript代码运行次数:0运行复制# .bashrc# User specific aliases and functionsalias 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 colouralias dir='ls --color=auto --format=vertical'alias ll='ls -lh -rt --file-type' # long listalias 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 都是默认带交互模式,这是系统自带的,也可以自己定义一些命令,但是注意,不能和其他命令混了。
二、PS 部分
2.1 修改 PS 变量
Linux 系统中的 PS变量用来控制命令行设置,其中PS 即是Prompt String,命令提示符的意思,可以看到有 PS1,PS2,PS3,PS4 等。其中最重要的就是 PS1,PS2 用来设置二级提示符。修改 PS 中的设置就可以对命令行进行个性化的设置,不过这些都是一些奇怪的符号,不容易看懂。
代码语言:javascript代码运行次数:0运行复制\d :设置日期\H :完整的主机名称\h :仅取主机名中的第一个名字\t :显示时间为 24 小时格式,如:HH:MM:SS\T :显示时间为 12 小时格式\A :显示时间为 24 小时格式:HH:MM\@:显示时间,为 12 小时格式:am/pm\u :当前用户的账号名称\v :BASH 的版本信息\w :完整的工作目录名称\W :显示最后一个目录名\# :下达的第几个命令\$ :提示字符,如果是 root 用户,提示符为 # ,普通用户则为 $
这其中我们只选取需要的部分添加到命令行里即可。一般是用户名,时间,工作目录几个部分。
代码语言:javascript代码运行次数:0运行复制[meta@localhost meta]$ export PS1="\u \t \w \n[ DISCUZ_CODE_3 ]quot;meta 09:25:28 /User/meta$
这里我们分别选择了用户名(\u),时间(\t),工作目录(\w),换行加$)四个部分,中间用空格分开。界面清晰了很多。如果想添加其他内容,直接添加进去就行。
2.2 设置颜色
选择完显示内容,接下里可以对每一部分分别添加颜色来进行区分。Linux 命令行终端颜色是通过一些数字来显示的。格式为“[\e[F;Bm]…[\e[0m],其中“F“为字体颜色,编号为 30-37,“B”为背景颜色,编号为 40-47,[\e[0m]作为颜色设定的结束”。
代码语言:javascript代码运行次数:0运行复制前景 背景 颜色------------30 40 黑色31 41 红色32 42 绿色33 43 黃色34 44 蓝色35 45 紫紅色36 46 青蓝色37 47 白色
有了这些内容我们就可以来添加颜色。
代码语言:javascript代码运行次数:0运行复制用户名部分:\[\e[31;1m\] \u \[\e[0m\]时间部分:\[\e[32;1m\] \t \[\e[0m\]工作目录部分:\[\e[34;1m\] \w \[\e[0m\]$部分设置:\n\[\e[31;1m\] $ \[\e[0m\]
每个设置都分为三部分,前面设置颜色[\e[F;Bm],其中数字代表具体颜色,这里我们不要背景色,给个数字 1,然后第二部分就是之前的用户名(\u),时间(\t),工作目录(\w),换行加$),最后是设置结尾部分[\e[0m],这里面加了很多“\”用来进行转义。
案例模板
这里面给出几个模板。
模板一:
代码语言:javascript代码运行次数:0运行复制meta 10:02:38 /User/meta$ export PS1="\[\e[31;1m\]\u\[\e[0m\] \[\e[32;1m\]\t\[\e[0m\]\[\e[34;1m\]\w\[\e[0m\]\n\[\e[31;1m\]$ \[\e[0m\]"meta 10:02:46 /ifs1/User/meta$
模板二:
代码语言:javascript代码运行次数:0运行复制meta 10:07:02 /User/meta$ export PS1="\[\e[35;1m\]\u\[\e[0m\] \[\e[36;1m\]\t \[\e[0m\]\[\e[32;1m\]\w\[\e[0m\]\n\[\e[31;1m\]$ \[\e[0m\]"meta 10:07:06 /ifs1/User/meta$
模板三:
代码语言:javascript代码运行次数:0运行复制meta 10:11:33 /User/meta$ export PS1="\[\e[33;1m\]\u\[\e[0m\] \[\e[35;1m\]\t \[\e[0m\]\[\e[36;1m\]\w\[\e[0m\]\n\[\e[32;1m\]$ \[\e[0m\]"meta 10:11:36 /ifs1/User/meta$
如果想设置永久起作用,需要将该变量写入.bashrc 文件中。
代码语言:javascript代码运行次数:0运行复制if [ -f /etc/bashrc ]; then. /etc/bashrcfiif [ "$TERM" = "xterm" ]thenexport PS1="\[\e[31;1m\]\u\[\e[0m\] \[\e[32;1m\]\t \[\e[0m\]\[\e[34;1m\]\w\[\e[0m\]\n\[\e[31;1m\]$ \[\e[0m\]"elseexport PS2="\[\e[31;1m\]\u\[\e[0m\] \[\e[32;1m\]\t \[\e[0m\]\[\e[34;1m\]\w\[\e[0m\]\n\[\e[31;1m\]$ \[\e[0m\]"fi
三、export 部分
export 是最重要的一部分,这部分内容是修改系统一些默认变量的行为,例如敲 env 命令会显示出当前账户所有环境变量,其中比较重要的就是 PATH 变量,export 之后,每次登录之后,系统会重新配置默认环境变量。除了 PATH,也可以修改 perl 模块目录,python 模块目录以及其他一些配置等。
代码语言:javascript代码运行次数:0运行复制export PATH="$PATH:./:/usr/bin:$PATH"export PATH="$PATH:/Software/bin/:$PATH"export PERL5LIB="/Software/biosoft/tRNAscan-SE-1.3.1/"# added by Miniconda3 installerexport LD_LIBRARY_PATH="/Software/boost-1.60.0-py27_3/lib/"
四、PATH 变量
4.1 PATH 变量简介
PATH 变量是 Linux 系统默认程序路径,当在命令行敲命令时,系统会从 PATH 变量中设定的目录中查找程序,which 命令搜索时也会从 PATH 变量中进行搜索。Linux 系统中常见的软件找不到“command not found...”多是因为 PAHT 变量没有设置成功引起的。PATH 变量可以极大的方便软件的使用,无需使用全路径,在任何目录下直接使用软件名即可运行,否则需要一直使用全路径。
代码语言:javascript代码运行次数:0运行复制显示当前默认软件路径echo $PATHwhich bwa
windows 系统下也有 PATH 变量。
4.2 修改 PATH 变量
PATH 变量中会包含多个软件路径,当在命令行输入命令时,例如 ls,软件会自动按顺序从PATH 变量的路径下开始寻找同名的软件,如果找到直接运行;如果找不到,则到下一个目录查找,以此类推。当所有目录下都找不到的时候,则提示“command not found...”。修改PATH 变量一定要小心,需要提前备份一份,如果设置错误,可以重新恢复。
代码语言:javascript代码运行次数:0运行复制首先备份一下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 系统的创建桌面快捷方式。
代码语言:javascript代码运行次数:0运行复制创建软件安装目录与快捷方式目录mkdir ~/biosoft ~/bin将 bin 目录添加到.bashrc 文件的 PATH 变量中export PATH="$PATH:~/bin/:$PATH"将可执行程序链接到 bin 目录中ln -s biosoft/ont-guppy-cpu/bin/guppy_basecaller ~/binln -s biosoft/ont-guppy-cpu/bin/guppy_barcoder ~/binln -s biosoft/ont-guppy-cpu/bin/guppy_aligner ~/bin自动补齐运行 guppy_basecallerguppy_basecaller
五、更新配置
修改完配置,确认没有问题后,保存退出 vim,这些设置并不会立刻起作用,需要重新登录,或者刷新一次。
代码语言:javascript代码运行次数:0运行复制首先备份一下cp ~/.bashrc ~/.bashrc.bak打开 vim 修改vim ~/.bashrc保存退出,刷新设置source ~/.bashrc
六、恢复初始配置
如果 bashrc 修改错了,导致很多命令无法使用。这个时候就需要恢复到初始设置,可以恢复之前备份的,也可以拷贝系统的。因为这个时候找不到拷贝的 cp 命令,需要使用全路径。
代码语言:javascript代码运行次数:0运行复制恢复备份cp ~/.bashrc.bak ~/.bashrc也可以恢复到系统初始化cp /etc/skel/.bashrc ~/.bashrc选择覆盖原始文件
写在最后:本次生信基础篇,从linux系统到软件使用等,基本都涵盖的很全面了。童鞋们在学习的同时,别忘了将文章分享、收藏、点击在看哈,有了阅读量我们才有动力更新。
以上就是一文带你学会Linux系统的环境变量的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号