mv를 사용하여 단순히 디렉토리를 다른 디렉토리로 이동

mv를 사용하여 단순히 디렉토리를 다른 디렉토리로 이동

방금 이상한 점을 발견했습니다. 디렉토리를 다른 디렉토리 안으로 끌어오는 것과 동일한 작업을 수행하고 싶습니다(이동). 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_filesBook/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 사용할 수 있습니다 .자세한 내용은 이 답변을 참조하세요..

관련 정보