본문 바로가기
Engineering WIKI/Linux

[Linux] tr 문자 변환 사용법 뿌수기 / tr 옵션으로 랜덤 패스워드 생성 방법 정리

by wonos 2024. 3. 23.

tr 문자 변환 

 

핵심 개념

  • tr 명령어는 지정한 문자를 변환하거나 삭제하는 명령어
  • 특정한 문자를 다른 문자로 변환하거나 특정 문자를 제거하는데 사용됨

사용법

tr [옵션] 문자열1 [문자열2]

-d 문자열 1에서 지정한 문자를 삭제
-s 문자열 2에서 반복되는 문자를 삭제
-t 문자열 1을 문자열 2의 길이로 자름

 

명령어 예제

  1. 소문자를 대문자로 변경 > tr 'a-z' 'A-Z'
  2. 소문자는 대문자로, 대문자는 소문자로 변경 > tr 'a-zA-Z' 'A-Za-z'
  3. -d 옵션을 사용하여 숫자 제거 > tr -d '0-9'
  4. -s 옵션을 사용하여 숫자를 '*'로 표시 > tr -s '0-9' '*'
    1. tr 명령어의 -s 옵션은 연속된 중복 문자를 하나의 문자로 축소하는 역할을 합니다. 여기서 "중복된 문자"란 같은 문자가 연속해서 나오는 경우를 의미합니다.

 

 

 

 

 

 

 

 

 

응용 개념

  • 랜덤패스워드 생성 방법
testuser@localhost:~$ < /dev/urandom tr -dc A-Za-z0-9 | head -c32; echo
u5etCB4B9oGr9wJbtjqFMoNcwEwEChsw
  • < /dev/urandom 
    • /dev/urandom 파일에서 무작위로 데이터를 읽음
  • tr -dc A-Za-z0-9 
    •  tr 명령어는 문자를 변환하거나 삭제하는 데 사용됨.
    •  -dc 옵션은 지정된 문자 집합(A-Za-z0-9) 외의 모든 문자를 삭제(-d)하고, 지정된 문자 집합 내의 문자만 보존(-c)함.
    • 이는 입력된 무작위 데이터에서 영숫자 문자만 남기고 나머지를 삭제하는 역할을 함
  • | head -c32
    •  tr 명령어의 출력을 head 명령어로 파이프(|)함.
    •  head 명령어는 기본적으로 입력의 첫 10줄을 출력하지만, -c32 옵션을 사용하여 첫 32개의 문자만 출력함.
    • 이는 최종 출력을 32개의 영숫자 문자로 제한합니다.
  • ; echo
    • 명령어 실행 후 echo 명령어를 실행 함

Reference URL