생성 후에는 그러한 디렉터리가 없습니다.

생성 후에는 그러한 디렉터리가 없습니다.

저는 기본 Unix 과정을 수강하고 있으며 지금은 터미널에 대해 배우고 있습니다. 내 지시 사항은 "Company"라는 디렉터리와 "Sales", "Accounting" 및 "Marketing"이라는 하위 디렉터리를 만드는 것이었습니다. 그래서 그것이 내가 한 일입니다.

mkdir company
cd company
mkdir sales
mkdir accounting
mkdir marketing

file1그런 다음 이름이 , 및 내부인 file2파일을 만듭니다.file3company

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"로 시작하는 모든 항목을 찾아 모든 첫 번째 수준 하위 디렉터리에 복사합니다 .

관련 정보