diff --git a/Software/OperatingSystem/Linux/Modules/Shell/Linux_修改默认_Shell.md b/Software/OperatingSystem/Linux/Modules/Shell/Linux_修改默认_Shell.md new file mode 100644 index 0000000..ff7c877 --- /dev/null +++ b/Software/OperatingSystem/Linux/Modules/Shell/Linux_修改默认_Shell.md @@ -0,0 +1,29 @@ +# Linux 修改默认 Shell + +本文以将 bash 修改为 fish 为例进行说明。 + +## 确认 /etc/shells 文件 + +首先查看 fish 是否在 /etc/shells 中: + +```sh +# /etc/shells: valid login shells +/bin/sh +/bin/bash +/bin/rbash +/bin/dash +/usr/bin/tmux +/usr/bin/fish +``` + +这个文件说明了有效的登陆 shell。特别注意,有的 shell 路径在 /bin 下,有的在 /usr/bin 下。很多 shell 同时在这两个目录下都存在,但是在 /etc/shells 中只添加了其中一个路径,那么在接下来的操作中只能使用那个已经添加到 /etc/shells 中的这个路径。 + +## 修改 /etc/passwd 文件 + +该文件描述了用户的 home 目录和默认 shell,格式如下: + +```sh +username:x:1001:1001:groupname,,,:/home/username:/bin/bash +``` + +将 /bin/bash 修改为 /etc/shells 中的 /usr/bin/fish 即可。