시스템 소프트웨어 | 쉘 스크립트 반복문

Faithful Dev·2025년 1월 29일

컴퓨터 공학

목록 보기
61/81

반복문 (Loops)

반복문은 특정 조건이 충족될 때까지 코드를 반복 실행하는 구조이다. 쉘 스크립트에서 기본적인 반복문은 다음과 같다.

for문

리스트나 범위를 순회하면서 반복 실행할 때 사용한다.

리스트 기반 for문

for 변수 in 값1 값2 값3; do
	실행할 명령어
done
예제
for colour in red blue green; do
	echo "색상: $colour"
done
출력
색상: red
색상: blue
색상: green

범위 기반 for문 ({start..end..step})

for i in {1..10..2}; do
	echo "숫자: $i"
done
출력
숫자: 1
숫자: 3
숫자: 5
숫자: 7
숫자: 9

C 스타일 for문 ((( )))

for ((i = 1; i <=5; i++)); do
	echo "반복 횟수: $i"
done
출력
반복 횟수: 1
반복 횟수: 2
반복 횟수: 3
반복 횟수: 4
반복 횟수: 5

while문

주어진 조건이 참(true)인 동안 반복 실행된다.

while [ 조건 ]; do
	실행할 명령어
done

예제

숫자가 5보다 작을 때까지 증가

num=1
while [ "$num" -le 5 ]; do
	echo "현재 숫자: $num"
    num=$((num + 1))
done
출력
현재 숫자: 1
현재 숫자: 2
현재 숫자: 3
현재 숫자: 4
현재 숫자: 5

until문

while과 반대로 조건이 거짓(false)일 동안 반복한다.

until [ 조건 ]; do
	실행할 명령어
done

예제

num1
until [ "$num" -gt 5 ]; do
	echo "현재 숫자: $num"
    num=$((num + 1))
done

출력은 while 예제와 동일하다.


반복문 제어 (break & continue)

  • break: 반복문을 즉시 종료
  • continue: 현재 반복을 건너뛰고 다음 반복으로 이동

break 예제

for i in {1..5}; do
	if [ "$i" -eq 3 ]; then
    	echo "반복문 종료 (break)"
        break
	fi
    echo "현재 숫자: $i"
done
출력
현재 숫자: 1
현재 숫자: 2
반복문 종료 (break)

continue 예제

for i in {1..5}; do
	if [ "$i" -eq 3 ]; then
    	echo "3은 건너뜀 (continue)"
        continue
	fi
    echo "현재 숫자: $i"
done
출력
현재 숫자: 1
현재 숫자: 2
3은 건너뜀 (continue)
현재 숫자: 4
현재 숫자: 5

tar (파일 압축 및 해제)

tar 명령어는 여러 개의 파일을 하나의 아카이브로 묶거나 압축하는 데 사용된다.

tar 기본 사용법

tar [옵션] [아카이브 파일명] [대상 파일/디렉터리]

주요 옵션

옵션설명
-c아카이브 파일 생성 (Create)
-x압축 해제 (Extract)
-v진행 과정 출력 (Verbose)
-f파일 지정 (File)
-zgzip 압축 사용 (Compress)
-jbzip2 압축 사용 (Compress)
-Jxz 압축 사용 (Compress)
-t아카이브 파일 내용 보기 (List)

tar 파일 생성

단순 아카이브 생성

tar -cvf archive.tar file1.txt file2.txt

file1.txt, file2.txtarchive.tar 파일로 묶음

디렉터리 포함하여 압축

tar -cvf backup.tar /home/user/

/home/user/ 디렉터리를 backup.tar로 묶음

gzip 압축 추가 (.tar.gz)

tar -czvf archive.tar.gz file1.txt file2.txt

파일을 .tar.gz 형태로 압축

bzip2 압축 (.tar.bz2)

tar -cjvf archive.tar.bz2 file1.txt file2.txt

tar 압축 해제

일반 tar 파일 해제

tar -xvf archive.tar

archive.tar 파일의 내용을 현재 디렉터리에 풀기

gzip 압축 해제 (.tar.gz)

tar -xzvf archive.tar.gz

특정 파일만 해제

tar -xvf archive.tar file1.txt

tar 파일 목록 확인

tar -tvf archive.tar

archive.tar 파일의 내용을 출력만 함


정리

반복문

  • for: 리스트 또는 범위를 순회
  • while: 조건이 참일 동안 반복
  • until: 조건이 거짓일 동안 반복
  • break: 반복문 종료
  • continue: 현재 반복 건너뛰기

tar 명령어

  • tar -cvf archive.tar files/: 파일을 tar로 묶기
  • tar -czvf archive.tar.gz files/: gzip 압축 추가
  • tar -xvf archive.tar: tar 파일 해제
  • tar -tvf archive.tar: 내용 보기
profile
Turning Vision into Reality.

0개의 댓글