su - root:表示人以root身份登录
just like login as root,then the shell is login shell,which mean it will expericene a login process,usually .bash_profile and .bashrc will be sourced
su root:表示与root建立一个链接,通过root执行命令
like you open an interactive shell in root name,then only .bashrc will be sourced.
/ 是目录层的分隔、表示符。只有一个 / 表明是 root, /etc/ 表明是根目录下面的 etc 目录(当然目录最后不需要 / ,但有 / 直接表明他是目录,没有末尾的 / ,那么 /etc 需要检测一下确定是目录还是文件,虽然习惯上 /etc 绝对是目录)
~ 是一个代位符,表明的是个人目录的地址,因为每个用户都有自己的个人目录地址,所以用 ~ 作为统一替代这个根据用户不同而不同但有规可循的地址,来保证某些情况下的兼容问题。