반응형
테스팅 파일 천 개 만들기
yes와 shuf 그리고 pwgen을 활용하여 천 개의 테스팅 파일을 순식간에 만드는 방법입니다. 생성된 파일은 '/usr/share/dict/words'의 줄 수가 104,334 줄이 되는 파일을 샘플로 택했기 때문에 각각 수많은 줄을 갖고 있는 쓸만한 테스팅 파일입니다.
명령어 분석
yes 'shuf -n $RANDOM -o $(pwgen -N1 10).txt /usr/share/dict/words' | head -n 1000 | bash
이 명령어는 여러 개의 명령어와 셸 기능을 결합하여 다음과 같은 작업을 수행합니다:
yes
명령어:yes 'shuf -n $RANDOM -o $(pwgen -N1 10).txt /usr/share/dict/words'
:yes
명령어는 지정된 문자열을 무한히 출력합니다.- 여기서는
'shuf -n $RANDOM -o $(pwgen -N1 10).txt /usr/share/dict/words'
명령어를 무한히 출력합니다.
head -n 1000
명령어:| head -n 1000
:- 파이프(
|
)를 사용하여yes
명령어의 출력을head
명령어로 전달합니다. head -n 1000
은 첫 1000개의 라인만 출력합니다.- 따라서,
'shuf -n $RANDOM -o $(pwgen -N1 10).txt /usr/share/dict/words'
명령어가 1000번 출력됩니다.
- 파이프(
bash
명령어:| bash
:- 파이프(
|
)를 사용하여head
명령어의 출력을bash
셸로 전달하여 실행합니다. - 결과적으로
'shuf -n $RANDOM -o $(pwgen -N1 10).txt /usr/share/dict/words'
명령어가 1000번 실행됩니다.
- 파이프(
전체 흐름 설명
pwgen -N1 10
:- 10자리 암호를 하나 생성합니다. 예를 들어
abcd1234ef
와 같은 문자열을 생성합니다.
- 10자리 암호를 하나 생성합니다. 예를 들어
$(pwgen -N1 10)
:- 명령어 치환으로
pwgen
명령어의 출력을 실행 시점에 삽입합니다. - 예를 들어,
abcd1234ef
라는 문자열을 삽입합니다.
- 명령어 치환으로
shuf -n $RANDOM -o abcd1234ef.txt /usr/share/dict/words
:/usr/share/dict/words
파일에서$RANDOM
개수만큼의 라인을 무작위로 선택하여abcd1234ef.txt
파일에 저장합니다.$RANDOM
은 셸에서 무작위 정수를 생성하는 변수입니다.
yes
명령어로 1000번 반복:yes
명령어는 위의shuf
명령어를 1000번 출력합니다.
bash
로 실행:- 1000번 출력된
shuf
명령어를bash
셸로 전달하여 실제로 실행합니다.
- 1000번 출력된
결과
결과적으로, 현재 디렉터리에 1000개의 파일이 생성되었으며, 각 파일은 /usr/share/dict/words
파일에서 무작위로 선택된 라인들을 포함하고 있습니다. 파일 이름은 무작위로 생성된 10자리 문자열입니다.
정리
yes
명령어와head
,bash
를 조합하여 명령어를 반복 실행할 수 있습니다.shuf
와pwgen
명령어를 사용하여 파일 이름을 무작위로 생성하고, 파일 내용을 무작위로 선택할 수 있습니다.- 이 명령어 조합을 통해 다수의 파일을 자동으로 생성할 수 있습니다.
이와 같이 yes
, head
, bash
명령어를 결합하여 다양한 자동화 작업을 수행할 수 있습니다.
반응형
'Linuxpia > 리눅스 사용 팁' 카테고리의 다른 글
[리눅스팁] 상황에 맞는 파일 빨리 찾는 요령 (32) | 2024.06.03 |
---|---|
[리눅스 팁] 개성 있는 파일 이름의 빈 테스팅 파일 천 개 만들기 (34) | 2024.06.01 |
[리눅스명령어] 리눅스명령어 yes (40) | 2024.05.30 |
[리눅스 팁] 테스팅용 파일 생성, shuf과 pwgen 활용 (33) | 2024.05.29 |
[리눅스 팁] 'sed' 명령에서 다양한 구분자(delimiter) (45) | 2024.05.26 |