Linux 명령어 · 1 min read · Jan 11, 2026

초보자를 위한 Linux shuf 명령어 튜토리얼 (예제 포함)

카드 게임을 해본 적이 있다면, 셔플(shuffling)이라는 용어에 익숙할 것입니다. 상상하기 어려울 수 있지만, 파일의 줄을 셔플하는 Linux 명령어 도구가 있습니다. 이 튜토리얼에서는 이해하기 쉬운 몇 가지 예제를 사용하여 ‘shuf’ 명령어의 기본을 설명하겠습니다.

하지만 그 전에, 여기의 모든 예제는 Ubuntu 18.04 LTS 머신에서 테스트되었다는 점을 언급할 가치가 있습니다.

Linux shuf 명령어

Linux의 shuf 명령어는 무작위 순열을 생성할 수 있게 해줍니다. 다음은 그 구문입니다:

shuf [OPTION]... [FILE]

그리고 이 도구의 매뉴얼 페이지는 다음과 같이 설명합니다:

입력 줄의 무작위 순열을 표준 출력으로 작성합니다.

다음은 shuf 명령어가 어떻게 작동하는지에 대한 더 나은 아이디어를 제공하는 Q&A 스타일의 예제입니다.

Q1. shuf 명령어를 어떻게 사용하나요?

기본 사용법은 매우 간단합니다. 파일 이름을 입력으로 전달하기만 하면 됩니다. 다음은 예제입니다:

shuf test.txt

이제 test.txt 파일에는 다음과 같은 줄이 포함되어 있습니다:

1  
2  
3  
4  
5  
6  
7  
8  
9

하지만 위의 shuf 명령어는 다음과 같은 출력을 생성했습니다:

3  
4  
6  
5  
1  
8  
2  
7  
9

따라서 줄이 셔플된 것을 볼 수 있습니다.

Q2. 출력의 줄 수를 제한하려면 어떻게 하나요?

shuf 출력의 줄 수를 제한하려면 -n 명령줄 옵션을 사용하십시오. 이 옵션은 출력에서 원하는 최대 줄 수를 나타내는 숫자를 전달해야 합니다.

예를 들어:

shuf -n 3 test.txt

위의 명령어는 다음과 같은 출력을 생성했습니다:

6  
4  
9

Q3. 출력에서 줄의 반복을 허용하려면 어떻게 하나요?

입력 파일에 9줄이 포함되어 있지만, shuf가 출력에서 그보다 더 많은 줄을 생성하도록 하려면 (위에서 논의한 -n 옵션을 사용하여) -r 옵션을 사용해야 합니다.

-r, --repeat  
              출력 줄은 반복될 수 있습니다.

따라서 shuf가 출력에서 25줄을 생성하도록 하려면 다음 명령어를 실행하십시오:

shuf -r -n 25 test.txt

이 명령어가 생성한 출력은 다음과 같습니다:

6  
8  
4  
5  
9  
3  
3  
1  
2  
5  
7  
5  
9  
5  
8  
5  
2  
8  
8  
7  
4  
4  
8  
5  
3

Q4. shuf가 입력 인수를 줄로 처리하도록 하려면 어떻게 하나요?

이를 위해 -e 명령줄 옵션을 사용하십시오. 다음은 예제입니다:

shuf -e 1 2 3 4 5 6 7 8 9

이 명령어가 생성한 출력은 다음과 같습니다:

9  
1  
7  
8  
6  
2  
3  
5  
4

결론

동의합니다, shuf는 매일 필요로 하는 도구는 아니지만, 이 유틸리티에 대해 배우는 것은 해롭지 않습니다. 특히 학습 곡선이 그리 가파르지 않기 때문입니다. 여기서 논의한 내용을 연습한 후에는 도구의 매뉴얼 페이지로 가서 더 많은 정보를 알아보세요.

Share: X/Twitter LinkedIn

새 게시물을 받은 편지함에서 받기

스팸은 없습니다. 언제든지 구독 해지 가능합니다.