소개
이 프로젝트에서는 /etc 디렉토리에서 10K 보다 큰 파일을 /tmp/etc 디렉토리로 복사하는 방법을 배우게 됩니다. 이때 디렉토리 구조를 유지합니다. 이는 Linux 시스템에서 파일을 관리하고 정리하는 데 유용한 기술입니다.
🎯 과제
이 프로젝트에서 다음을 배우게 됩니다:
- 파일 크기를 기반으로 파일을 복사하는 스크립트를 만드는 방법
- 특정 기준을 충족하는 파일을 찾기 위해
find명령어를 사용하는 방법 - 파일을 복사할 때 디렉토리 구조를 유지하는 방법
sudo를 사용하여 권한을 높여 스크립트를 실행하는 방법
🏆 성과
이 프로젝트를 완료하면 다음을 수행할 수 있습니다:
- 파일 크기를 기반으로 파일 복사 프로세스를 자동화할 수 있습니다.
- 파일을 복사할 때 디렉토리 구조를 유지할 수 있습니다.
- 특정 기준을 충족하는 파일을 효과적으로 찾기 위해
find명령어를 사용할 수 있습니다. - 보호된 파일 및 디렉토리에 접근하기 위해 권한을 높여 스크립트를 실행할 수 있습니다.
복사 스크립트 생성
이 단계에서는 /etc 디렉토리에서 10K 보다 큰 파일을 /tmp/etc 디렉토리로 복사하는 스크립트를 생성합니다.
- 텍스트 편집기를 사용하여
/home/labex/project디렉토리에서copy.sh파일을 엽니다. - 다음 코드를 파일에 추가합니다:
#!/bin/zsh
## This script copies files larger than 10K from a source directory to a target directory.
## Define the source directory and target directory
source_dir="/etc"
target_dir="/tmp"
## Create the target directory if it doesn't exist
mkdir -p "$target_dir"
## Use the find command to locate files larger than 10K and copy them to the target directory
find "$source_dir" -type f -size +10k -exec cp --parents --dereference "{}" "$target_dir" \;
echo "File copying complete."
- 파일을 저장합니다.
이 단계에서는 /etc 디렉토리에서 10K 보다 큰 파일을 /tmp/etc 디렉토리로 복사하고 디렉토리 구조를 유지하는 copy.sh 스크립트를 생성했습니다.
복사 스크립트 실행
이 단계에서는 copy.sh 스크립트를 실행하여 파일을 복사합니다.
- 터미널을 열고
/home/labex/project디렉토리로 이동합니다. - 다음 명령을 사용하여 스크립트를 실행합니다:
sudo sh copy.sh
이렇게 하면 권한을 높여 스크립트가 실행되므로, labex 사용자가 접근할 수 없는 파일도 복사할 수 있습니다.
- 스크립트가 완료될 때까지 기다립니다. 스크립트가 완료되면 "File copying complete." 메시지가 표시됩니다.
이 단계에서는 copy.sh 스크립트를 실행하여 /etc 디렉토리에서 10K 보다 큰 파일을 /tmp/etc 디렉토리로 복사했습니다.
복사된 파일 검증
이 단계에서는 파일이 올바르게 복사되었는지 확인합니다.
- 파일 관리자를 열고
/tmp/etc디렉토리로 이동합니다. - 디렉토리 구조와 복사된 파일을 확인합니다. 디렉토리 구조가 유지되었고, 10K 보다 큰 파일만 복사되었는지 확인할 수 있습니다.
- 터미널에서
ls -l명령을 사용하여/tmp/etc디렉토리의 파일과 크기를 나열할 수도 있습니다.
이 단계에서는 /etc 디렉토리에서 /tmp/etc 디렉토리로 파일이 올바르게 복사되었는지 확인했습니다.
축하합니다! /etc 디렉토리에서 /tmp/etc 디렉토리로 10K 보다 큰 파일을 복사하고 디렉토리 구조를 유지하는 프로젝트를 성공적으로 완료했습니다.
요약
축하합니다! 이 프로젝트를 완료했습니다. LabEx 에서 더 많은 랩을 연습하여 기술을 향상시킬 수 있습니다.



