차이점은 무엇입니까?
cp -R /a/* /b
그리고
cp -R /a/. /b
초기 아이디어는 /a 폴더의 모든 내용을 /b 폴더로 복사하는 것입니다.
답변1
유일한 차이점은 첫 번째 명령입니다.
cp -R /a/. /b
두 번째 명령은 에서 /a
로 숨겨진 파일과 디렉터리를 복사합니다 ./b
cp -R /a/* /b
하지 않을 것입니다.
두 번째 명령이 숨겨진 파일을 복사하지 않는 이유는 ( 쉘 옵션이 설정되어 있지 않거나 사용되는 쉘에서 동등한 옵션이 설정되지 않은 경우)에 *
있는 숨김되지 않은 모든 이름이 확장되기 때문입니다./a
dotglob
bash
-r
대신 원래 질문에 사용된 두 번째 명령은 다음과 같습니다 -R
.
이전 버전과의 호환성을 위해 이 플래그는 -r
일부 구현 cp
( cp
예: GNU)에서 유지됩니다. 이는 command 에 대한 비표준 플래그이며 cp
이를 포함하는 구현에서는 다음과 같습니다.비슷한도착하다 -R
.
GNU와 AIX에서는 cp
및 -r
가 -R
동일합니다. 일부 역사적 구현에서는 cp
FIFO 및 소켓과 같은 특수 파일을 다르게 처리했습니다. Solaris 구현은 FIFO( 재생성, 읽기) cp -r/-R
에 대해서만 다릅니다 . 무료 BSD에는 구현 이 없습니다 .-R
-r
-r
cp
답변2
cp -R
원본 파일 형식을 반복적으로 복사하고 복사합니다. 이는 POSIX 표준에서 언급된 유일한 재귀 방법입니다.
cp -r
재귀 복사를 위한 기록 옵션입니다. 모든 파일을 열고 내용을 읽은 다음 읽은 내용을 사용하여 일반 파일을 만듭니다. 이것은 유서 깊은 UNIX 재귀 옵션입니다. 최신 구현에서는 사용하지 못할 수도 있습니다.
바라보다http://pubs.opengroup.org/onlinepubs/9699919799/utilities/cp.htmlPOSIX 매뉴얼 페이지.