bash에서 나는 이것을해야한다 :
디렉토리의 모든 파일을 가져옵니다
기존 디렉토리에 복사
어떻게해야합니까? 나는 시도했다 cp -r t1 t2
(t1과 t2는 기존 디렉토리이고, t1은 파일을 가지고 있음) t2 안에 t1이라는 디렉토리를 만들었지 않기를 원하지 않는다. 어떻게해야합니까?
bash에서 나는 이것을해야한다 :
디렉토리의 모든 파일을 가져옵니다
기존 디렉토리에 복사
어떻게해야합니까? 나는 시도했다 cp -r t1 t2
(t1과 t2는 기존 디렉토리이고, t1은 파일을 가지고 있음) t2 안에 t1이라는 디렉토리를 만들었지 않기를 원하지 않는다. 어떻게해야합니까?
답변:
당신이 원하는 것은 :
cp -R t1/. t2/
끝에있는 점은 디렉토리 자체가 아니라 현재 디렉토리의 내용을 복사하도록 지시합니다. 이 방법에는 숨겨진 파일과 폴더도 포함됩니다.
mv
. 아무도 이유를 알고 있습니까?
한 디렉토리에서 현재 디렉토리 로 무언가를 복사하려면 다음을 수행하십시오.
cp dir1/* .
이것은 숨겨진 파일을 복사하지 않으려는 것으로 가정합니다.
cp dir1/* dir2
또는 dir1 안에 복사하려는 디렉토리가있는 경우
cp -r dir1/* dir2
dir1/.*
는 dir1 /.을 복사하므로 좋지 않습니다 (예 : 실제로 복사하려는 디렉토리의 부모). 또한 dir1 /을 복사합니다. 이미 (대부분) 복사되어 있다는 것을 제외하고는 괜찮습니다. 따라서 작업을 두 번 수행하고 있습니다.
dir1/.*
/ hidden files 문제는 복사하려는 디렉토리로 cd 한 다음로 참조하여 해결할 수 있습니다 .
. 따라서 숨겨진 파일을 포함하여 모든 파일을 디렉토리에서 기존 디렉토리로 복사하려는 경우 다음을 수행 할 수 있습니다. cd [source dir]
, cp . [path to destination dir, with no trailing slash]
.
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 / ..을 복사하지 않음).
$ mkdir t1
$ mkdir t2
$ touch t1/one
$ touch t1/two
$ touch t1/.three
$ cp -R t1/ t2
$ ls t2/
t1
(주석 유감없이 codeformat에서이 읽을 수 pastebin.com/yszSxV6G )
일부 세부 사항에 따라 다음과 같이해야 할 수도 있습니다.
r=$(pwd)
case "$TARG" in
/*) p=$r;;
*) p="";;
esac
cd "$SRC" && cp -r . "$p/$TARG"
cd "$r"
... 이것은 기본적으로 SRC 디렉토리로 변경되어 대상에 복사 한 다음 시작한 시점으로 되돌아갑니다.
추가 소란은 상대 또는 절대 목표를 처리하는 것입니다.
(이것은 미묘한 의미에 의존하지 않는 cp
나는 확실히 그 아니에요 안정, 휴대용이기 때문에 / ... 명령 자체 ... 그것은 또는 후행하지 않고 소스 사양을 처리하는 방법에 대한, 그리고 신뢰성을 넘어 단지 GNU cp
와 I 앞으로도 계속 그렇게 될지 모르겠습니다).
일부 디렉토리 내부에서는 "folder1"의 모든 내용을 일부 디렉토리 내의 새 디렉토리 "folder2"로 복사하므로 전체 사용됩니다.
$ (pwd)는 현재 디렉토리의 경로를 가져옵니다.
folder1 뒤에있는 점 (.)을 확인하여 folder1 내의 모든 내용을 가져옵니다.
cp -r $(pwd)/folder1/. $(pwd)/folder2
cp
질문은bash
프로그래밍 언어 인 질문으로 잘 보일 수 있습니다. 파일 복사에 대한 파이썬 질문이 닫히는 것을 본 적이 없습니다.