Shell是用户与操作系统内核之间的接口,提供一种命令行界面,可以输入命令执行特定的操作。登录到系统时,系统会自动分配一个默认的shell,这个默认的shell可以通过修改用户的配置文件来更改。
Changing shell for root 意为更改root用户的默认shell.
Mac查看与修改系统默认shell
查看所有shell
cat /etc/shells
输出:
# List of acceptable shells for chpass(1).
# Ftpd will not allow users to connect who are not using
# one of these shells.
/bin/bash
/bin/csh
/bin/dash
/bin/ksh
/bin/sh
/bin/tcsh
/bin/zsh
表示目前系统下有7种版本的shell可以用
查看当前窗口使用的shell版本(不要被一个叫 $SHELL 的单独的环境变量所迷惑,它被设置为你的默认 shell 的完整路径。因此,这个变量并不一定指向你当前使用的 shell。例如,即使你在终端中调用不同的 shell,$SHELL 也保持不变)
echo $SHELL
输出:
/bin/bash
查看系统用户默认shell
cat /etc/passwd | grep sh
输出:
root:*:0:0:System Administrator:/var/root:/bin/sh
_sshd:*:75:75:sshd Privilege separation:/var/empty:/usr/bin/false
_update_sharing:*:95:-2:Update Sharing:/var/empty:/usr/bin/false
_mbsetupuser:*:248:248:Setup User:/var/setup:/bin/bash
表示root账户用的是sh,其他用的是bash
输出当前使用的shell
echo $0
修改系统默认shell为bash
chsh -s /bin/bash
修改完重启terminal生效
Linux终端的重启命令
在新的Linux发行版中,systemctl实用程序替换可旧版中使用的大多数电源管理命令sysvinit。鉴于兼容性,旧的reboot和shutdown命令是系统的别名,systemctl仅在较新的系统中可用。
systemctl和shutdown命令必须root用户或具有sudo特权的用户身份运行。
systemctl命令使用方法
系统重新启动
sudo systemctl reboot
阻止重新启动命令,可使用--no-wall选项运行命令发送消息
sudo systemctl --no-wall reboot
自定义消息说明重启启动原因,可使用--message=选项
sudo systemctl --message="Hardware upgrade" reboot
该消息将显示在日志中:system is rebooting(Hardware upgrade)
shutdown命令使用方法
使用带有选项shutdown命令-r
sudo shutdown -r
默认情况下,系统将在一分钟后重新启动。
时间参数可以使用两种不同的格式,可以是绝对时间,也可以是格式中的HH:MM相对时间,+m其中m是从现在开始的分钟数。
示例:
计划在上午8点重启系统
sudo shutdown -r 08:00
计划在5分钟内重启系统
sudo shutdown -r +5
立即关闭系统
sudo shutdown -r now
或
sudo shutdown -r +0
自定义消息在时间参数后输入
sudo shutdown -r +10 "Hardware upgrade"
取消计划重启,可运行shutdown带有以下-c选项的命令:
sudo shutdown -c
取消重启说明原因
sudo shutdown -c "Canceling the reboot"
以上就是Mac上查看/更改shell命令和Linux重启的两种方式。