한 디렉터리에서 기존 디렉터리로 파일을 복사합니다.
bash에서는 다음을 수행해야 합니다.
디렉토리의 모든 파일을 가져옵니다.
기존 디렉토리에 복사합니다.
이거 어떻게 해요?나는 노력했다.cp -r t1 t2(t1과 t2 모두 기존 디렉토리이고 t1에는 파일이 있습니다.) 그러나 t2 내부에 t1이라는 디렉토리를 만들었습니다. 원하지 않습니다. t1에 있는 파일이 t2 내부에 직접 들어가야 합니다.이거 어떻게 해요?
원하는 것은 다음과 같습니다.
cp -R t1/. t2/
끝의 점은 디렉토리 자체가 아니라 현재 디렉토리의 내용을 복사하도록 지시합니다.이 방법에는 숨겨진 파일 및 폴더도 포함됩니다.
cp dir1/* dir2
또는 dir1에 복사할 디렉토리가 있는 경우에도 마찬가지입니다.
cp -r dir1/* dir2
한 디렉토리에서 현재 디렉토리로 복사하려면 다음과 같이 하십시오.
cp dir1/* .
숨겨진 파일을 복사하지 않는 것으로 가정합니다.
t1이 파일이 들어 있는 폴더이고 t2가 빈 디렉토리라고 가정합니다.당신이 원하는 것은 다음과 같습니다.
sudo cp -R t1/* t2/
첫 번째 예에서는 t1과 t2가 전체 경로 또는 상대 경로여야 합니다(현재 위치에 따라).원하는 경우 빈 폴더(t2)로 이동하여 다음을 수행할 수 있습니다.
sudo cp -R t1/* ./
또는 파일(t1)이 있는 폴더로 이동하여 다음을 수행할 수 있습니다.
sudo cp -R ./* t2/
참고: * 기호(또는 와일드카드)는 모든 파일과 폴더를 나타냅니다.-R 플래그는 재귀적으로(모든 것 안에 있는 모든 것)를 의미합니다.
cp -R t1/ t2
원본 디렉토리의 후행 슬래시는 의미론을 약간 변경하므로 내용을 복사하지만 디렉토리 자체는 복사하지 않습니다.또한 Bertrand의 답변에 따른 글로벌 파일과 보이지 않는 파일의 문제를 방지합니다(복사).t1/*'t1/* t1/'을(를) 복사하는 동안 보이지 않는 파일이 누락되었습니다.*' 원하지 않는 t1/. 및 t1/..를 복사합니다.)
일부 디렉토리 내의 경우, "folder1"에서 일부 디렉토리 내의 새 디렉토리 "folder2"로 모든 내용을 복사할 때 전체 내용이 사용됩니다.
$(pwd)는 현재 디렉토리의 경로를 가져옵니다.
folder1의 모든 내용을 가져오려면 folder1 뒤에 점(.)을 표시하십시오.
cp -r $(pwd)/folder1/. $(pwd)/folder2
2021년 11월 업데이트:
플래그가 "-R"인 이 코드는 "folder1"의 모든 내용을 기존 "folder2"에 완벽하게 복사합니다.
cp -R folder1/. folder2
플래그 "-R"은 심볼 링크도 복사하지만 플래그 "-r"은 심볼 링크를 건너뛰므로 플래그 "-R"이 플래그 "-r"보다 좋습니다.
- 최신 GNU Grep 3.7:
-R, --dereference-recursive
For each directory operand, read and process all files in that directory,
recursively, following all symbolic links.
-r, --recursive
For each directory operand, read and process all files in that directory,
recursively. Follow symbolic links on the command line, but skip symlinks
that are encountered recursively. Note that if no file operand is given,
grep searches the working directory. This is the same as the
‘--directories=recurse’ option.
일부 세부 정보에 따라 다음과 같은 작업을 수행해야 할 수 있습니다.
r=$(pwd)
case "$TARG" in
/*) p=$r;;
*) p="";;
esac
cd "$SRC" && cp -r . "$p/$TARG"
cd "$r"
... 기본적으로 SRC 디렉토리로 변경되어 대상에 복사한 다음 시작했던 위치로 돌아갑니다.
상대적인 목표나 절대적인 목표물을 다루는 것이 더 까다롭습니다.
(이것은 의 미묘한 의미론에 의존하지 않습니다cp소스 사양이 GNU를 넘어 안정적이고, 이식 가능하며, 신뢰할 수 있는지 잘 모르기 때문에 후행 여부와 관계없이 소스 사양을 처리하는 방법에 대해 명령합니다.cp을 사용하세요.
올바른 옵션은 다음과 같습니다.-T와 함께 사용합니다.-r이겁니다.
$ cp -r -T t1 t2
언급URL : https://stackoverflow.com/questions/3643848/copy-files-from-one-directory-into-an-existing-directory 입니다.
'programing' 카테고리의 다른 글
| 배치를 사용하여 xlsx 파일을 csv로 변환합니다. (0) | 2023.04.25 |
|---|---|
| angular2 제출 버튼을 누르지 않고 enter를 눌러 양식을 제출합니다. (0) | 2023.04.25 |
| 스위치 케이스와 폴스루요? (0) | 2023.04.25 |
| 내 Windows 응용 프로그램 아이콘의 아이콘 크기를 선택하십시오. (0) | 2023.04.25 |
| 이클립스는 다음과 같습니다.전체 작업 공간을 새로 고치려면 어떻게 해야 합니까?F5는 그렇지 않습니다. (0) | 2023.04.25 |