内容: 今天在查看docker的挂载目录时出现了cd: command not found,记录一下问题
问题的引发:
准备进入docker里面的image目录下查找东西,结果提示没有权限:
使用sudo依旧不行:
错误提示:cd: command not found
原因:cd这一类内建命令并不能直接使用sudo来获取root权限运行
错误分析:
1、shell是一个命令解析器,是一个交互式的应用程序。
shell执行外部命令时,是通过fork/exec一个子进程去执行这个程序。
2、sudo的作用是:用于提升用户的权限,在linux中输入sudo就是调用sudo这个程序提升权限
sudo的原理是:以别人的权限起一个进程去运行你的程序
3、cd是shell的内部命令。也就是由本shell直接运行,并不会再起一个进程去运行
综上:
在当前进程里不能提升当前进程的权限,否则极其危险,所以不能用sudo cd。