ubuntu自从15.04以及centos7起就开始使用systemd 来替代之前的init,所以用runlevel这个理念也就被target替代了
这是Runlevel 和target之间的映射
┌─────────┬───────────────────┐
│Runlevel │ Target │
├─────────┼───────────────────┤
│0 │ poweroff.target │
├─────────┼───────────────────┤
│1 │ rescue.target │
├─────────┼───────────────────┤
│2, 3, 4 │ multi-user.target │
├─────────┼───────────────────┤
│5 │ graphical.target │
├─────────┼───────────────────┤
│6 │ reboot.target │
└─────────┴───────────────────┘
现在如果你要修改为命令行模式的话(只对本次生效,对下次无效)
#在不重启的情况下,切换到运行级别mulit-user下,即runlevel 3;
sudo systemctl isolate multi-user.target
如果要修改为默认为命令行启动的话 你需要使用下面的代码
sudo systemctl enable multi-user.target
sudo systemctl set-default multi-user.target
runlevel的话会慢慢有点过时了,target 是主流
附加脚本示例:
version=$(uname -r | awk -F "." '{print $(NF-1)}' | cut -c3)
if [ $version -eq 7 ];then
systemctl set-default multi-user.target
#设置默认的运行级别为mulit-user,即runlevel 3;
systemctl isolate multi-user.target
#在不重启的情况下,切换到运行级别mulit-user下,即runlevel 3;
systemctl get-default
#获得当前的运行级别
else
sed -i 's/id:.*:/id:3:initdefault:/g' /etc/inittab
#设置默认的运行级别为3,即runlevel 3;
runlevel
#获得当前的运行级别
fi
echo -e "已修改:系统运行级别"