sudo cd为什么不能够执行?
1.问题描述
我想要
cd
到/etc/docker
,但是它给我一个权限不够
的错误,然后,我想到使用sudo cd /etc/docker
时,它告诉我sudo: cd:找不到命令
。
2.问题分析
cd
不是一个应用程序而是Linux内建的命令,而sudo
仅仅只对应用程序起作用。
sudo foo
只意味着以root权限运行foo程序
所以,sudo cd /etc/docker
会报sudo: cd:找不到命令
。
1 > type cd 2 cd is a shell builtin 3 4 #注意,关于cd是不是内建命令,OS X 10.8中cd不是内建命令(可以参考what-is-the-point-of-the-cd-external-command),具体其他的版本的OS X我就不清楚了,大部分的Linux系列(Ubuntu、CentOS和ArchLinux)中cd都是内建命令
3.问题解决
- 使用sudo -i命令提升用户权限
1 > sudo -i 2 > cd /etc/docker
- 使用sudo -s命令打开特殊shell
1 > sudo -s 2 > cd /etc/docker
上面都可以使用exit命令退出,也可以使用Ctrl+D快捷键退出