Mv

僅使用 mv 將目錄移動到另一個目錄中

  • June 7, 2016

我剛剛遇到了這種奇怪的情況:我想做相當於將一個目錄拖到另一個目錄中(移動它)。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 emptyWTF!?但如果我要求它更深一層,它會變得更好:

mv Cosine\ Similarity_files Book/Cosine\ Similarity_files

它盡職盡責地做了以前不會做的事情!它將源目錄寫入目標目錄!!WTF²!?!

這是為什麼?這有什麼意義嗎?

當您執行時,mv Cosine\ Similarity_files Book/沒有任何反應,因為目錄中存在同名的非空Book目錄。

正如上面評論中所說的don_crissti,當你執行時mv Cosine\ Similarity_files Book/Cosine\ Similarity_files,它移動Cosine\ Similarity_filesBook/Cosine\ Similarity_files/Cosine\ Similarity_files

如果要覆蓋要移動的目錄中的任何現有文件,則必須使用-for-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選項。有關更多資訊,請查看此答案

引用自:https://unix.stackexchange.com/questions/288034