반복문은 특정 조건이 충족될 때까지 코드를 반복 실행하는 구조이다. 쉘 스크립트에서 기본적인 반복문은 다음과 같다.
리스트나 범위를 순회하면서 반복 실행할 때 사용한다.
for 변수 in 값1 값2 값3; do
실행할 명령어
done
for colour in red blue green; do
echo "색상: $colour"
done
색상: red
색상: blue
색상: green
{start..end..step})for i in {1..10..2}; do
echo "숫자: $i"
done
숫자: 1
숫자: 3
숫자: 5
숫자: 7
숫자: 9
(( )))for ((i = 1; i <=5; i++)); do
echo "반복 횟수: $i"
done
반복 횟수: 1
반복 횟수: 2
반복 횟수: 3
반복 횟수: 4
반복 횟수: 5
주어진 조건이 참(true)인 동안 반복 실행된다.
while [ 조건 ]; do
실행할 명령어
done
숫자가 5보다 작을 때까지 증가
num=1
while [ "$num" -le 5 ]; do
echo "현재 숫자: $num"
num=$((num + 1))
done
현재 숫자: 1
현재 숫자: 2
현재 숫자: 3
현재 숫자: 4
현재 숫자: 5
while과 반대로 조건이 거짓(false)일 동안 반복한다.
until [ 조건 ]; do
실행할 명령어
done
num1
until [ "$num" -gt 5 ]; do
echo "현재 숫자: $num"
num=$((num + 1))
done
출력은 while 예제와 동일하다.
break: 반복문을 즉시 종료continue: 현재 반복을 건너뛰고 다음 반복으로 이동for i in {1..5}; do
if [ "$i" -eq 3 ]; then
echo "반복문 종료 (break)"
break
fi
echo "현재 숫자: $i"
done
현재 숫자: 1
현재 숫자: 2
반복문 종료 (break)
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 [옵션] [아카이브 파일명] [대상 파일/디렉터리]
| 옵션 | 설명 |
|---|---|
-c | 아카이브 파일 생성 (Create) |
-x | 압축 해제 (Extract) |
-v | 진행 과정 출력 (Verbose) |
-f | 파일 지정 (File) |
-z | gzip 압축 사용 (Compress) |
-j | bzip2 압축 사용 (Compress) |
-J | xz 압축 사용 (Compress) |
-t | 아카이브 파일 내용 보기 (List) |
tar -cvf archive.tar file1.txt file2.txt
file1.txt, file2.txt를 archive.tar 파일로 묶음
tar -cvf backup.tar /home/user/
/home/user/ 디렉터리를 backup.tar로 묶음
.tar.gz)tar -czvf archive.tar.gz file1.txt file2.txt
파일을 .tar.gz 형태로 압축
.tar.bz2)tar -cjvf archive.tar.bz2 file1.txt file2.txt
tar -xvf archive.tar
archive.tar 파일의 내용을 현재 디렉터리에 풀기
.tar.gz)tar -xzvf archive.tar.gz
tar -xvf archive.tar file1.txt
tar -tvf archive.tar
archive.tar 파일의 내용을 출력만 함
for: 리스트 또는 범위를 순회while: 조건이 참일 동안 반복until: 조건이 거짓일 동안 반복break: 반복문 종료continue: 현재 반복 건너뛰기tar -cvf archive.tar files/: 파일을 tar로 묶기tar -czvf archive.tar.gz files/: gzip 압축 추가tar -xvf archive.tar: tar 파일 해제tar -tvf archive.tar: 내용 보기