作者:crane-yuan 日期:2017-04-21
問題描述
我想要
cd
到/etc/docker
,但是它給我一個權限不夠
的錯誤,然後,我想到使用sudo cd /etc/docker
時,它告訴我sudo: cd:找不到命令
。
於是,鬱悶的我就去上網找了下原因。
問題分析
cd
不是一個應用程序而是Linux內建的命令,而sudo
僅僅只對應用程序起作用。
sudo foo
只意味着以root權限運行foo程序
所以,sudo cd /etc/docker
會報sudo: cd:找不到命令
。
驗證
> type cd
cd is a shell builtin
注意,關於cd是不是內建命令,OS X 10.8中cd不是內建命令(可以參考what-is-the-point-of-the-cd-external-command),具體其他的版本的OS X我就不清楚了,大部分的Linux系列(Ubuntu、CentOS和ArchLinux)中cd都是內建命令
解決方法
- 使用
sudo -i
命令提升用戶權限
> sudo -i
> cd /etc/docker
- 使用
sudo -s
命令打開特殊shell
> sudo -s
> cd /etc/docker
上面都可以使用exit命令退出,也可以使用Ctrl+D快捷鍵退出