`sudo su` 和 `sudo fish` 的区别
Difference between `sudo su` and `sudo fish`
我 运行 fish (Friendly Interactive Shell) 作为我在 Ubuntu 14.04 中的标准终端,而不是 bash.
我注意到以下行为,但不知道其中是否是获得 root 访问权限的首选行为。
我可以输入命令sudo su
或sudo fish
,它们都会给我超级用户权限。(提示显示为root@ubuntu ~#
)
这些命令的行为有什么不同吗?
我唯一能理解的是,sudo su
使用位于 /root/.config/fish/
的 fish 配置,而 sudo fish
使用我的主目录 /home/uloco/.config/fish
中的 fish 配置。
是否可以使用 sudo fish
来加密我的系统?如果我使用它,是否会对我的主目录中的文件进行任何所有者更改?
- sudo su 以root用户的身份执行su,也就是说打开的shell就是/etc/passwd中用户的入口中给出的shell第6场。对于您的系统 root 用户,它可能是 /bin/fish。 shell 作为登录 shell 执行,因此执行 root 用户的 rc 脚本。
当您执行 sudo fish 时,应用程序 fish (shell) 就像您是 root 用户一样可执行,但在调用用户的环境中。这就是执行 fishs rc 脚本的原因。
你应该使用哪一个取决于你:
- 你想要root的环境就像你以root登录系统一样吗?然后调用 sudo su.
- 您想保留您的环境,如您的别名和 shells rc-scritps 中定义的此类内容吗?然后使用 sudo fish.
是否可以使用 sudo fish 来加密我的系统?
这只是环境,你不加密任何东西。
如果我使用它,我的主目录中的文件是否会发生任何所有者更改?
如果您不手动更改某些内容,则不会。
我 运行 fish (Friendly Interactive Shell) 作为我在 Ubuntu 14.04 中的标准终端,而不是 bash.
我注意到以下行为,但不知道其中是否是获得 root 访问权限的首选行为。
我可以输入命令sudo su
或sudo fish
,它们都会给我超级用户权限。(提示显示为root@ubuntu ~#
)
这些命令的行为有什么不同吗?
我唯一能理解的是,sudo su
使用位于 /root/.config/fish/
的 fish 配置,而 sudo fish
使用我的主目录 /home/uloco/.config/fish
中的 fish 配置。
是否可以使用 sudo fish
来加密我的系统?如果我使用它,是否会对我的主目录中的文件进行任何所有者更改?
- sudo su 以root用户的身份执行su,也就是说打开的shell就是/etc/passwd中用户的入口中给出的shell第6场。对于您的系统 root 用户,它可能是 /bin/fish。 shell 作为登录 shell 执行,因此执行 root 用户的 rc 脚本。
当您执行 sudo fish 时,应用程序 fish (shell) 就像您是 root 用户一样可执行,但在调用用户的环境中。这就是执行 fishs rc 脚本的原因。
你应该使用哪一个取决于你:
- 你想要root的环境就像你以root登录系统一样吗?然后调用 sudo su.
- 您想保留您的环境,如您的别名和 shells rc-scritps 中定义的此类内容吗?然后使用 sudo fish.
是否可以使用 sudo fish 来加密我的系统?
这只是环境,你不加密任何东西。
如果我使用它,我的主目录中的文件是否会发生任何所有者更改?
如果您不手动更改某些内容,则不会。