我剛剛遇到了這個奇怪的事情:我想做相當於將一個目錄拖到另一個目錄中(移動它)。 GUI 的繁瑣日常任務。
這是我的樹:
.
├── assemble.py
├── Basic Information Retrieval.ipynb
├── Basic Information Retrieval.tex
├── Book
│ ├── book.aux
│ ├── book.log
│ ├── Book_master.tex
│ ├── book.out
│ ├── book.pdf
│ ├── book.tex
│ ├── book.toc
│ ├── build.sh
│ ├── chapter_0.tex
│ ├── chapter_1.tex
│ ├── chapter_2.tex
│ ├── chapter_3.tex
│ ├── chapter_4.tex
│ ├── chapter_5.tex
│ ├── Cosine Similarity_files
│ │ ├── Cosine Similarity_17_0.png
│ │ └── Cosine Similarity_22_0.png
│ ├── Language Models_files
│ │ └── Language Models_5_0.png
│ └── nb_preamble.tex
├── convert_to_latex.sh
├── convert_to_pdf.sh
├── corpus_zika
├── Cosine Similarity_files
│ ├── Cosine Similarity_17_0.png
│ └── Cosine Similarity_22_0.png
├── Cosine Similarity.ipynb
├── Cosine Similarity.tex
├── Dicionario_zika.dict
├── Language Models_files
│ └── Language Models_5_0.png
├── Language Models.ipynb
├── Language Models.tex
├── Probabilistic Text Models.ipynb
├── Probabilistic Text Models.tex
├── README.md
├── Topic Modeling.ipynb
└── Topic Modeling.tex
我想進入Cosine Similarity_files
,Book/
最終覆蓋它(如果它已經存在)。我發出自然的命令:
mv Cosine\ Similarity_files Book/
我收到訊息Directory not empty
WTF!但如果我要求它更深入一層,情況會更好:
mv Cosine\ Similarity_files Book/Cosine\ Similarity_files
它盡責地做了以前不會做的事情!它將來源目錄寫入目標目錄! WTF²!
這是為什麼?這有什麼意義嗎?
答案1
當您執行時,mv Cosine\ Similarity_files Book/
沒有任何反應,因為目錄中存在同名且不為空的目錄Book
。
正如 don_crissti 在上面的評論中所述,當您執行時mv Cosine\ Similarity_files Book/Cosine\ Similarity_files
,它Cosine\ Similarity_files
移至Book/Cosine\ Similarity_files/Cosine\ Similarity_files
如果您想要覆蓋正在移動的目錄中的任何現有文件,則必須使用-f
或-i
選項。
-f
--force
Remove existing destination files and never prompt the user.
-i
--interactive
Prompt whether to overwrite each existing destination file,
regardless of its permissions. If the response does not begin
with `y' or `Y', the file is skipped.
例子:mv -f Cosine\ Similarity_files Book/
注意:-f
不會覆蓋或合併您嘗試移動的目錄中的目錄。它只會覆蓋檔案。
如果要合併或覆蓋目錄,可以使用rsync
和 --remove-source-files
選項。欲了解更多信息,請查看此答案。