Linux의 mv 여러 파일과 Mac의 mv 여러 파일

Linux의 mv 여러 파일과 Mac의 mv 여러 파일

Linux에서 여러 파일을 이동하려면 다음을 사용할 수 있습니다.

mv -t DESTINATION file1 file2

macOS에서는

mv file1 file2 DESTINATION

왜 그런 차이가 있습니까? 이것은 Bash 대 Zsh 문제입니까, 아니면 이전 구문 대 새 구문의 문제입니까, 아니면 무엇입니까?

답변1

첫 번째 예에서는 다음 mv을 사용합니다.GNU 확장 -t( --target-directory) 그리고 거기에특별한 이유.

두 번째 예는표준 POSIXmv솔루션이며 모든 플랫폼 제품 (GNU를 사용하여 구현된 제품 포함 ) 에서 사용할 수 있습니다 mv.

두 번째 버전을 사용하고 있고 대상이 이미 존재하는 디렉터리임을 보장하려면 접미사 에 /. mv(후행이 없으면 /대상이 존재하지 않거나 디렉토리가 아닌 경우 mv에만 이름 바꾸기 역할을 합니다.)

답변2

아니요, 이것은 쉘(bash 대 zsh)과는 아무런 관련이 없습니다 mv. Linux 시스템에는 .암소 비슷한 일종의 영양mvLinux 시스템은 종종 GNU 유틸리티를 사용하여 구축되기 때문입니다. 반면에 MacOS에는BSD대신 유틸리티. 이는 많은 공통 명령줄 유틸리티가 동일한 작업을 수행하지만 다른 조정을 사용하도록 설계된 다른 구현이기 때문에 다르게 동작한다는 것을 의미합니다.

따라서 오래된 것과 새로운 것이 아니라 동일한 작업을 수행하도록 설계되었지만 다른 디자인을 선택한 다른 사람들이 작성한 도구일 뿐입니다. 자동차의 경우에도 마찬가지입니다. 모든 자동차에는 조향, 제동, 가속 등의 방법이 있습니다. 그러나 자동차 제조업체마다 서로 다른 요소(에어컨, 라디오, 열선 시트 등)를 추가하고 이러한 요소도 서로 다른 방식으로 설계됩니다. GNU와 BSD가 mv여전히 자동차 인 것처럼 둘 다 여전히 자동차이지만 mv기본 기능을 넘어서는 고유한 특징과 특이성을 가지고 있습니다.


이 표준은 mv file1 file2 dir/Linux mv및 Mac에 적용됩니다. 어떤 구현을 사용하고 있는지 확실하지 않은 경우 구문을 사용하면 mv file1 file2 dir/모든 mv.

관련 정보