Bash
mv 目錄覆蓋另一個
我可能會在這裡發瘋,但我正在嘗試將目錄移動到新位置,覆蓋內容(在 Linux 上,使用 bash)。
每次我嘗試它時,它都會響應“mv:無法將 `./src’ 移動到自身的子目錄”
例如。我有:
/src /new/dir/src /$ mv src/ new/dir/
如果我刪除目標目錄,那麼它可以工作。我知道我可以移動源目錄的內容來覆蓋目標,但是如果目標已經存在,我想使用相同的命令覆蓋目標,或者如果不存在則移動源。
嘗試提供每個目錄的絕對路徑。
IE
mv /src /new/dir/
此外,您可以查看
rsync
複製文件和刪除現有文件,等等。您還可以執行以下操作:
#!/bin/sh if [ -e /new/dir/src/ ]; then rm -rf /new/dir/src/ fi mv /src /new/dir/
除非您擔心將文件保存在 中
/new/dir/src/
,在這種情況下rsync
將是一個更好的選擇。