我在 Debian 9 上以 sudo 用户身份登录。当我这样做ls
时,它会显示有一个名为vars
如果我cd /vars
这样做我会得到错误bash: cd: /vars: No such file or directory
如果我sudo cd /vars
这样做我会得到错误sudo: cd: command not found
我如何进入该目录,因为我想编辑其中的文件,/vars/www
但无法进入其中。
编辑2
命令结果ls -l
如下:
-rw-r--r-- 1 myuser myuser 104857600 Feb 28 2005 100mb.test
-rw-r--r-- 1 userali myuser 200000000 Aug 22 2014 200MB.test
-rw-r--r-- 1 myuser myuser 200000000 Aug 22 2014 200MB.test.1
-rw-r--r-- 1 myuser myuser 200000000 Aug 22 2014 200MB.test.2
-rw-r--r-- 1 root root 10686 Jan 10 2018 client.ovpn
-rw-r--r-- 1 root root 10916 Jul 6 13:40 mainclient.ovpn
-rwxr-xr-x 1 root root 24682 Jul 6 13:37 openvpn-install.sh
-rw-r--r-- 1 myuser myuser 2884191 Dec 21 2017 s_.sql
-rw-r--r-- 1 myuser myuser 10127189 Dec 15 2017 123___.tar.gz
-rw-r--r-- 1 root root 30 Dec 27 2017 vars
答案1
看起来这vars
不是一个目录,它可以是文件或任何东西,所以它会给你错误vars is not directory
。
而且您还写了错误的命令。从您的图像来看,您似乎位于主目录和此目录中认为你有一个目录foo
。但是您的命令cd /foo
将搜索foo
根目录中不存在的目录。
将目录更改为foo
仅写入命令cd foo
而不是cd /foo
。并且我假设您有权进入该目录。
答案2
根据ls -l
输出,vars
是一个常规文件,而不是目录。这意味着你不能cd
进入它。
如果它是当前目录的子目录,您将习惯cd vars
进入它。
我想你可能会参考/var/www
,并且你可能只是对文件称vars
你正在看到,但我不能 100% 确定。
如果你的意思是/var/www
,那么使用
cd /var/www
如果vars
它是当前目录中的一个目录,并且您没有进入它的权限,sudo cd vars
则不会有任何帮助,因为它是内置的 shell(不是外部实用程序),但在 Linux 上cd
无法执行。sudo
在 Unix 系统上,如果cd
有可用的外部实用程序,sudo cd vars
将以 root 身份进入目录,然后sudo
终止,将您留在启动的目录中,以您自己的身份(而不是 root)。