云服务器环境搭建
搭建一个轻量且灵活的云服务器环境,便于进行 Linux 系统练习、生物信息学软件安装和流程调试。该环境适用于个人学习、开发和测试分析流程。云服务器提供了许多灵活的管理选项,在系统出问题或配置出错时,可以轻松进行重启、恢复或重置系统。
查看服务器信息
可以通过多种方法查看服务器的详细信息,包括 CPU、内存、磁盘、网络等硬件和系统配置。以下是查看服务器各种信息的常用命令,适用于大多数 Linux 发行版(如 CentOS、Ubuntu 等)。
# CPU 基本信息
lscpu
# 内存使用情况
free -h
# 磁盘使用情况
df -h
# 系统版本和内核信息
uname -a
# 操作系统发行版本
cat /etc/os-release
Linux用户和权限
Linux 系统是多用户,多任务系统,可以允许多个用户同时运行。Linux 的用户分为管理员用户(通常为 root)和普通用户。管理员用于权限过大,如果误操作,影响非常大。管理员用户可以进行各种系统配置,例如安装 gcc, glibc 这些配置以及用户管理等工作。管理员安装的软件工具,可以让所有用户同时使用。
Warning
登陆云服务器默认是root用户,强烈不建议使用管理员账户进行各种数据分析工作。可以使用root用户进行一些基础配置,然后日常使用普通用户。
root用户
root用户拥有最大的系统操作权限,而普通用户在许多地方的权限是受限的。通过su和exit命令,可以切换用户和退回上一个用户
-
选项是可选的,表示是否在切换后加载环境变量。- 用户名省略时表示切换到root用户
- 切换用户后,可以使用
exit
命令退回上一个用户。
sudo命令可以为普通命令授权,临时以root身份运行。
普通用户
使用 useradd
命令添加一个新的普通用户。例如,创建一个名为 software
的用户:
useradd software
# 同时创建用户主目录
useradd -m software
# 为新用户设置密码,使用 passwd 命令:
passwd software
# 将用户添加到 sudo 组
usermod -aG sudo software
# 验证用户
id software
-m
参数自动添加主目录,这将为 software
在 /home/software
路径下创建一个主目录。
建议
推荐创建一个 software 用户专门管理软件,同时可以共享给其他用户使用。
环境设置
用户设置bashrc配置文件,当bash shell被打开时,该文件被读取。
1 Alias 部分
alias 主要是设置一些别名,方便将一些长的命令和选项参数进行简化,以下是一些常用的 alias 命令,可以添加到.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 --color=auto' # 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'
2 PS 部分
Linux 系统中的 PS 变量用来控制命令行设置,其中 PS 即是 Prompt String,命令提示符的意思, 可以看到有 PS1,PS2,PS3,PS4 等。其中最重要的就是 PS1,PS2 用来设置二级提示符。 修改 PS 中的设置就可以对命令行进行个性化的设置。
# 个人命令行提示符设置
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\]"
Tip
在 macOS 中的 Zsh (.zshrc 文件) 中,某些转义序列与 Bash 中稍有不同。
# 个人命令行提示符设置(适用于 macOS Zsh)
PS1="%F{yellow}%n%f %F{magenta}%*%f %F{cyan}%~%f
%F{green}$ %f"
# 个人命令行提示符设置(适用于 macOS Zsh,带粗体)
PS1="%F{yellow}\e[1m%n\e[0m%f %F{magenta}\e[1m%*\e[0m%f %F{cyan}\e[1m%~\e[0m%f
%F{green}\e[1m$\e[0m %f"
# 个人命令行提示符设置(适用于 macOS 自带终端, 带粗体)
PS1="%F{yellow}%B%n%b%f %F{magenta}%B%*%b%f %F{cyan}%B%~%b%f
%F{green}%B$ %b%f"
3 export 部分
export 是最重要的一部分,这部分内容是修改系统一些默认变量的行为,例如敲 env 命令会 显示出当前账户所有环境变量,其中比较重要的就是 PATH 变量,export 之后,每次登录之 后,系统会重新配置默认环境变量。除了 PATH,也可以修改 perl 模块目录,python 模块 目录以及其他一些配置等。
修改 PATH 变量
PATH 变量中会包含多个软件路径,当在命令行输入命令时,例如 ls,软件会自动按顺序从 PATH 变量的路径下开始寻找同名的软件,如果找到直接运行;如果找不到,则到下一个目录查找,以此类推。当所有目录下都找不到的时候,则提示command not found...。修改 PATH 变量一定要小心,需要提前备份一份,如果设置错误,可以重新恢复。
#首先备份一下
cp ~/.bashrc ~/.bashrc.bak
#打开 vim 修改
vim ~/.bashrc
#将路径添加到 PATH 变量中,可以在一行中添加,也可以新建一行 export PATH="$PATH:./:/usr/bin:/ifs1/Software/bin/:$PATH" #刷新设置
source ~/.bashrc
基础配置
文本编辑器
Linux 系统提供了多种文本编辑器,适合不同的使用需求和用户偏好。常见的文本编辑器有vim
、nano
和emacs
等等。
我个人喜欢使用vim,建议直接使用neovim
,Neovim 是对 Vim 的重构,保持 Vim 的模式编辑理念,同时增强了代码功能和扩展性。
# Centos 安装 nvim #
# 1. 启用 EPEL 仓库
sudo yum install epel-release -y
# 2. 安装 nvim
sudo yum install neovim -y
# Ubuntu 中安装 Neovim #
# 添加 Neovim 官方 PPA 来安装最新版本
sudo add-apt-repository ppa:neovim-ppa/stable
sudo add-apt-repository ppa:neovim-ppa/unstable
sudo apt update
sudo apt install neovim -y
要将 nvim
设置为默认的命令行编辑器,可以在 .bashrc
或 .zshrc
中添加以下配置:
Neovim 的配置文件是 ~/.config/nvim/init.vim
。如果文件不存在,可以创建它:
在 init.vim
中可以进行自定义配置,以下是一些常用的配置示例:
" 启用语法高亮
syntax on
" 启用行号
set number
" 更好的缩进设置
set autoindent
set smartindent
set tabstop=4 " Tab 显示为 4 个空格
set shiftwidth=4 " 缩进 4 个空格
set expandtab " 将 Tab 替换为空格
" 设置相对行号,便于跳转
set relativenumber
" 启用鼠标支持
set mouse=a
" 启用括号匹配高亮
set showmatch
" 启用状态栏
set laststatus=2
" 搜索设置
set ignorecase " 搜索时忽略大小写
set smartcase " 智能大小写
set incsearch " 增量搜索
set hlsearch " 高亮搜索结果
" 显示当前行和列
set cursorline " 高亮当前行
set cursorcolumn " 高亮当前列
安装GCC
GCC 是一个开源编译器套件,它支持 C、C++、Fortran 等多种编程语言。生物信息学中的许多工具和库,如 SAMtools、BWA、HTSlib、FastQC 等,通常需要从源码编译,并且依赖于 GCC 来编译代码。
安装Autoreconf
autoreconf
是一个自动生成 configure
脚本的工具,通常在从源代码编译某些软件时使用。
安装压缩库
安装Bzip2 压缩库和 XZ 压缩库,一些生物信息学工具,特别是处理 **CRAM 文件**时需要用到一些压缩算法,在CentOS系统中通过以下方式安装
安装Git
安装 Git,以便能够从 GitHub 等代码仓库中克隆生物信息学相关的软件和工具。
自定义欢迎信息
在登录 Linux 系统时,通常可以通过自定义 "MOTD"(Message of the Day) 或 .bashrc
文件来设置登录后显示的欢迎信息。下面是如何自定义登录时的欢迎信息内容的几种方法。
修改 MOTD
编辑 /etc/motd
文件
====*====*====*====*====*====*====*====*====*====*====*====*====*====*====*====*====*====*====*====*====*====*====*===*====*
欢迎使用,京东云服务器计算平台
常用文档:
● 个人文档:https://ywu.info
● 登录:ip 116.198.236.130,port 22
● LSF使用:hpc.ncpgr.cn/cluster/016-LSF
● Linux基础:https://ywu.info/Linux/
● mamba代替conda:https://ywu.info/Software/Mamba/
修改 .bashrc
如果你只想为特定用户显示欢迎信息,可以修改该用户的 .bashrc
或 .bash_profile
文件。这些文件会在用户每次登录时执行。
在文件的末尾添加你希望显示的内容。例如: