Command-Line-Interface
Ubuntu命令行,也無法辨識常見命令和權限錯誤
我面臨一個非常奇怪的問題,只是無法解決。
我正在將我的網站從共享託管遷移到 AWS LightSail 上的自我管理 VPS。我將(共享主機)源站點上的整個
public_html
目錄打包,並將其 scp’d 到我的目標 VPS。目標 VPS 正在執行 Ubuntu 18.04。在 VPS 端,我解壓縮
tar xvf website.tar.gz
了網站根目錄中public_html
的<website_root>
存檔(但是當我嘗試將目錄的內容移動
<website_root>/public_html
到<website_root>/
目錄時,它給了我一個permission denied
錯誤。但是當我嘗試 sudo 並像這樣輸入它時:
$ sudo cd public_html/
它說:
cd:找不到命令。
我什至嘗試將 public_html 目錄的內容移動到根文件夾中,如下所示:
$ sudo mv public_html/* .
它給我的錯誤是:
mv: cannot stat ‘public_html/*’: 沒有這樣的文件或目錄。
在我的智慧盡頭,我無法弄清楚我要去哪裡錯了。
您不能使用
sudo cd
進入您無權訪問的目錄。cd
是內置的 shell,而不是執行的二進製文件。如果您無權訪問該目錄,則也無法在其中列出文件,這就是您
No such file or directory.
使用mv public_html/*
.成為 root 並在之後移動文件。
sudo -i cd public_html mv * /to/target/dir/ logout
或者,您可以更改該目錄的權限,以便您可以閱讀它(
chmod a+r public_html
當您不再需要它時不要忘記恢復它)或使用以下輸出sudo ls
:sudo ls public_html |xargs -I "{}" sudo mv {} /to/target/dir/
如果您有大量文件或帶有空格的文件,它會變得更加複雜。