bashrc文件
在linux节点普通用户目录(/home/xxx 或 ~)下,用指令ls -al可以看到4个隐藏文件:
- .bash_history 记录之前输入的命令
- .bash_logout 当你退出时执行的命令
- .bash_profile 当你登入shell时执行
- .bashrc 当你登入shell时执行
请注意后两个的区别:.bash_profile只在会话开始时被读取一次,而.bashrc则每次打开新的终端时,都要被读取。
这些文件是每一位用户对终端功能和属性设置,修改.bashrc可以改变环境变量PATH、别名alias和提示符。具体如何修改会在下面做介绍。
PATH环境变量
PATH变量和win的环境变量类似,决定了shell 将到哪些目录中寻找命令或程序。如果要执行的命令的目录在 $PATH 中,就不必输入这个命令的完整路径,直接输入命令就可以了。
一些第三方软件没有将可执行文件放到 Linux 的标准目录中。因此,需要将这些非标准的安装目录添加到 $PATH 中。
export PATH=/bin:/sbin:/usr/bin:/usr/local/bin
要获取变量值的话,就要在变量名前加’$':
echo $PATH
~/.bashrc修改
处理 $PATH
和$LD_LIBRARY_PATH
变量要注意的第三点是:不能只替换变量,而是要将新的字符串添加到原来的值中。
只能作添加:PATH=$PATH:/directory
,假如要添加/opt/cuda-6.5/bin
,则操作为PATH=$PATH:/opt/cuda-6.5/bin
这样,PATH 被设成当前的值(以 $PATH 来表insert示)+新添的目录。
vi ~/.bashrc
将下面内容复制进去,自行了解vim编辑命令insert
、p
、:wq
。
#cuda 6.5
PATH=$PATH:/opt/cuda-6.5/bin
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/opt/cuda-6.5/lib64:/opt/cuda-6.5/lib/
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/lib64
# 其他版本的cuda
# #cuda7.5
# PATH=$PATH:/opt/cuda-7.5/bin
# LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/opt/cuda-7.5/lib64:/opt/cuda-7.5/lib/
# LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/lib64
# #cuda 5.5
# PATH=$PATH:/opt/cuda-5.5/bin
# LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/opt/cuda-5.5/lib64:/opt/cuda-5.5/lib/
# LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/lib64
# #cuda 6.0
# PATH=$PATH:/opt/cuda-6.0/bin
# LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/opt/cuda-6.0/lib64:/opt/cuda-6.0/lib/
# LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/lib64
# mpi
export I_MPI_FABRICS=dapl
export PATH=$PATH:/opt/intel/mic/bin:/opt/intel/vtune_amplifier_xe_2013/bin64/
source /opt/intel/composer_xe_2013_sp1.0.080/bin/compilervars.sh intel64
source /opt/intel/impi/4.1.1.036/intel64/bin/mpivars.sh
export I_MPI_MIC=enable
export MPI_ROOT=/opt/intel/impi/4.1.1.036
# OpenFOAM
export FOAM_INST_DIR=/opt/OpenFOAM
foamDotFile=$FOAM_INST_DIR/OpenFOAM-2.3.x/etc/bashrc
[ -f $foamDotFile ] && . $foamDotFile
export LD_LIBRARY_PATH=$FOAM_INST_DIR/OpenFOAM-2.3.x/platforms/linux64GccDPOpt/lib:$LD_LIBRARY_PATH
source ${foamDotFile}
修改过bashrc文件之后,需要source ~/.bashrc
更新一下
现在在终端,输入 echo $PATH
,就能看到新设置的$PATH 了。
alias 命令
在.bashrc中可以设置变量、别名
alias <原命令>='<别名字符>'
alias cds="cd /ncsfs01/username"
为什么数据不能存在/home下
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 50G 42G 5.7G 88% /
tmpfs 63G 635M 63G 1% /dev/shm
/dev/sda1 485M 41M 419M 9% /boot
/dev/sdb1 1.9T 196M 1.8T 1% /data
kad:/home 1.8T 1.5T 311G 83% /home
192.168.3.31:/data 1.9T 126G 1.7T 8% /opt
ncsfs01 1.6P 1.4P 202T 88% /ncsfs01
ncsfs02 2.0P 1.3P 653T 68% /ncsfs02
计算程序需要在盘阵/ncsfs01
、/ncsfs02
目录下运行,请将过程文件和结果存储到专用的存储路径/ncsfs01
、/ncsfs02
上,不能在共享/home
下运算程序。
/home
路径空间有限,不能存储大文件,/home
如运行程序会大大降低所有人的访问速度