Ubuntu16.04远程操作cd /tensorflow1报错但目录存在的原因咨询
排查与解决:
cd /tensorflow1 提示不存在但ls可见的问题 遇到这种情况挺常见的,我帮你梳理几个可能的原因和对应的解决办法:
1. 混淆了绝对路径与相对路径
你输入的cd /tensorflow1/models/research是绝对路径(以/开头,代表从系统根目录开始查找),但如果tensorflow1目录其实在你的用户主目录下(比如~/tensorflow1,也就是/home/你的用户名/tensorflow1),或者在你当前所在的工作目录下,那用绝对路径自然找不到目标目录。
验证&解决方法:
- 先执行
pwd查看你当前所在的目录 - 如果执行
ls tensorflow1(不带开头的/)能看到目录,说明它在当前路径下,此时改用相对路径:cd tensorflow1/models/research - 如果目录在用户主目录下,直接用
cd ~/tensorflow1/models/research跳转
2. 目录名包含隐藏字符
有时候目录名可能不小心带了空格、制表符或者其他不可见字符(比如实际是tensorflow1 ,末尾有空格),ls默认显示时看不出差异,但输入的目录名和实际不匹配就会报错。
验证&解决方法:
- 执行
ls -b,这个命令会把所有隐藏字符显示出来(比如空格会显示为\) - 确认有隐藏字符后,要么用引号括起目录名跳转(比如
cd "./tensorflow1 "),要么输入开头几个字符后按Tab键自动补全——系统会帮你补全正确的目录名
3. 虚拟环境目录位置混淆
你提到创建了tensorflow1虚拟环境,不同工具创建的虚拟环境默认位置不一样:
- 用
virtualenv tensorflow1创建的话,虚拟环境会在当前目录下的tensorflow1文件夹 - 用
virtualenvwrapper的话,虚拟环境默认存在~/.virtualenvs/tensorflow1 - 用conda创建的话,默认在
~/anaconda3/envs/tensorflow1(或类似路径)
而你说的models/research应该是TensorFlow官方的models仓库,可能你是把仓库克隆到了非虚拟环境的目录?可以用find / -name "models" -type d(需要sudo权限,可能稍慢)来定位models目录的实际位置。
4. 权限问题(可能性较低)
如果是权限问题,报错通常是Permission denied,但也可以排查一下:
- 执行
ls -ld tensorflow1查看目录权限,确保你的用户有进入该目录的x权限 - 如果缺少权限,执行
sudo chmod +x tensorflow1添加权限
内容的提问来源于stack exchange,提问作者Lucie
相关产品推荐
相关产品推荐

