
저는 기본 Unix 과정을 수강하고 있으며 지금은 터미널에 대해 배우고 있습니다. 내 지시 사항은 "Company"라는 디렉터리와 "Sales", "Accounting" 및 "Marketing"이라는 하위 디렉터리를 만드는 것이었습니다. 그래서 그것이 내가 한 일입니다.
mkdir company
cd company
mkdir sales
mkdir accounting
mkdir marketing
file1
그런 다음 이름이 , 및 내부인 file2
파일을 만듭니다.file3
company
touch file1
touch file2
touch file3
그런 다음 파일 1, 2 및 3을 내가 만든 3개의 하위 디렉터리에 복사했지만 첫 번째 디렉터리에 복사하는 데 멈췄습니다.
cp company/file1 company/file2 company/file3 company/sales
그런데 터미널에서 "cp: target 'company/sales'는 디렉토리가 아닙니다."라는 오류가 출력됩니다. 방금 sales라는 디렉토리를 생성했는데 회사 내부에 들어가면 sales 폴더가 나열되는데 무슨 일이 벌어지고 있는 걸까요?
cd company
ls
accounting file1 file2 file3 marketing sales
답변1
해당 디렉터리에 있는 경우 company
다음을 시도해 보세요.
cp file1 sales
cp file2 sales
또는
cp file1 sales; cp file2 sales
또는
cp file1 file2 file3 sales
마지막 방법은 가장 간단하며 한 줄로 모든 파일을 단일 하위 디렉터리에 복사할 수 있습니다. 작업을 완료하고 각 파일을 한 줄로 각 하위 디렉터리에 복사하려면 다음과 같이 두 번째와 세 번째 예를 결합합니다.
cp file1 file2 file3 sales; cp file1 file2 file3 accounting; cp file1 file2 file3 marketing
마지막 예는 다음과 같습니다.
for d in */; do cp file* "$d"; done
file*
현재 디렉터리에서 "file"로 시작하는 모든 항목을 찾아 모든 첫 번째 수준 하위 디렉터리에 복사합니다 .