Linux Bash shell script

Bash Shell Script 파일 생성, 삭제, 복사 (touch, rm, cp, mv)

임베디드 친구 2025. 1. 29. 10:20
반응형

Linux Bash Shell에서 파일 관리는 기본적이면서도 매우 중요한 작업입니다. 이 글에서는 touch, rm, cp, mv 명령어를 사용해 파일을 생성하고, 삭제하며, 복사 및 이동하는 방법을 살펴보겠습니다. 각 명령어에 대한 사용법과 간단한 스크립트 예제를 통해 실습할 수 있습니다.


1. 파일 생성: touch

touch 명령어

touch 명령어는 새 파일을 생성하거나 기존 파일의 수정 시간을 업데이트하는 데 사용됩니다.

사용법

# 새로운 파일 생성
$ touch 파일이름

# 기존 파일의 수정 시간 업데이트
$ touch 기존파일

예제

다음은 touch 명령어를 사용하여 파일을 생성하는 간단한 스크립트입니다.

#!/bin/bash

# 새로운 파일 생성
echo "새로운 파일을 생성합니다."
touch newfile.txt

echo "파일 생성 완료: newfile.txt"

실행 결과

$ ./create_file.sh
새로운 파일을 생성합니다.
파일 생성 완료: newfile.txt

2. 파일 삭제: rm

rm 명령어

rm 명령어는 파일이나 디렉토리를 삭제하는 데 사용됩니다. 주의하지 않으면 데이터가 복구 불가능하게 삭제될 수 있으므로 신중하게 사용해야 합니다.

사용법

# 파일 삭제
$ rm 파일이름

# 디렉토리 삭제 (내용 포함)
$ rm -r 디렉토리이름

# 삭제 확인 옵션 추가
$ rm -i 파일이름

예제

다음은 rm 명령어를 사용하여 파일을 삭제하는 간단한 스크립트입니다.

#!/bin/bash

# 삭제할 파일 확인
echo "삭제할 파일 이름을 입력하세요:"
read filename

# 파일 삭제
echo "$filename 파일을 삭제합니다."
rm -i "$filename"

echo "파일 삭제 완료."

실행 결과

$ ./delete_file.sh
삭제할 파일 이름을 입력하세요:
temp.txt
삭제하시겠습니까? (y/n) y
파일 삭제 완료.

3. 파일 복사: cp

cp 명령어

cp 명령어는 파일이나 디렉토리를 복사하는 데 사용됩니다. 원본 파일은 그대로 유지되며 새 파일이 생성됩니다.

사용법

# 파일 복사
$ cp 원본파일 대상파일

# 디렉토리 복사
$ cp -r 원본디렉토리 대상디렉토리

예제

다음은 cp 명령어를 사용하여 파일을 복사하는 간단한 스크립트입니다.

#!/bin/bash

# 복사할 파일과 대상 이름 입력 받기
echo "복사할 파일 이름을 입력하세요:"
read source

echo "대상 파일 이름을 입력하세요:"
read destination

# 파일 복사
echo "$source 파일을 $destination(으)로 복사합니다."
cp "$source" "$destination"

echo "파일 복사 완료."

실행 결과

$ ./copy_file.sh
복사할 파일 이름을 입력하세요:
sample.txt
대상 파일 이름을 입력하세요:
backup_sample.txt
sample.txt 파일을 backup_sample.txt(으)로 복사합니다.
파일 복사 완료.

4. 파일 이동: mv

mv 명령어

mv 명령어는 파일이나 디렉토리를 이동하거나 이름을 변경하는 데 사용됩니다. 복사와 달리 원본 파일은 이동 후 삭제됩니다.

사용법

# 파일 이동
$ mv 원본파일 대상파일

# 파일 이름 변경
$ mv 원본파일 새이름

# 디렉토리 이동
$ mv 원본디렉토리 대상디렉토리

예제

다음은 mv 명령어를 사용하여 파일을 이동하거나 이름을 변경하는 스크립트입니다.

#!/bin/bash

# 이동할 파일과 대상 이름 입력 받기
echo "이동할 파일 이름을 입력하세요:"
read source

echo "대상 파일 이름 또는 디렉토리를 입력하세요:"
read destination

# 파일 이동
echo "$source 파일을 $destination(으)로 이동 또는 이름 변경합니다."
mv "$source" "$destination"

echo "작업 완료."

실행 결과

$ ./move_file.sh
이동할 파일 이름을 입력하세요:
report.txt
대상 파일 이름 또는 디렉토리를 입력하세요:
archived_report.txt
report.txt 파일을 archived_report.txt(으)로 이동 또는 이름 변경합니다.
작업 완료.

5. 종합 예제: 파일 관리 스크립트

다음은 위 명령어들을 조합하여 파일을 생성, 삭제, 복사, 이동하는 스크립트입니다.

#!/bin/bash

# 파일 관리 스크립트
echo "파일 관리 작업을 선택하세요:"
echo "1. 파일 생성"
echo "2. 파일 삭제"
echo "3. 파일 복사"
echo "4. 파일 이동"
read choice

case $choice in
  1)
    echo "생성할 파일 이름을 입력하세요:"
    read filename
    touch "$filename"
    echo "$filename 파일이 생성되었습니다."
    ;;
  2)
    echo "삭제할 파일 이름을 입력하세요:"
    read filename
    rm -i "$filename"
    echo "$filename 파일이 삭제되었습니다."
    ;;
  3)
    echo "복사할 파일 이름을 입력하세요:"
    read source
    echo "대상 파일 이름을 입력하세요:"
    read destination
    cp "$source" "$destination"
    echo "$source 파일이 $destination(으)로 복사되었습니다."
    ;;
  4)
    echo "이동할 파일 이름을 입력하세요:"
    read source
    echo "대상 파일 이름 또는 디렉토리를 입력하세요:"
    read destination
    mv "$source" "$destination"
    echo "$source 파일이 $destination(으)로 이동되었습니다."
    ;;
  *)
    echo "잘못된 선택입니다."
    ;;
esac

실행 결과

$ ./file_manager.sh
파일 관리 작업을 선택하세요:
1. 파일 생성
2. 파일 삭제
3. 파일 복사
4. 파일 이동
1
생성할 파일 이름을 입력하세요:
testfile.txt
testfile.txt 파일이 생성되었습니다.

이 포스팅에서는 touch, rm, cp, mv 명령어의 기초적인 사용법과 간단한 스크립트 예제를 살펴보았습니다. 파일 관리는 Linux 시스템 운영에서 필수적인 작업이므로 직접 연습하며 익혀보세요!

반응형