리눅스는 표준 출력에 메시지를 출력하는 데 사용되는 여러 가지 명령어를 제공한다. 각 명령어는 고유한 장점과 사용 목적을 가지고 있으며, 리눅스 배우기, 디버깅, 쉘 스크립트 작성 또는 단순히 사용자와 대화하는 데 매우 중요하다.
echo : 간단한 텍스트를 표준 출력에 출력한다.
printf : 포맷팅된 텍스트를 표준 출력에 출력한다.
yes : 반복되는 텍스트를 표준 출력에 출력한다.
seq : 숫자 시퀀스를 표준 출력에 출력한다.
clear : 화면 또는 창을 지운다.
echo 명령어
echo 명령어는 간단하게 입력받은 문자열을 출력하는 명령어이지만, 알아두어야 할 몇 가지 중요한 사항이 있다.
표준 입력/출력과 파일 :
- echo는 일반적으로 표준 입력(stdin)에서 데이터를 읽지 않고, 사용자가 입력한 문자열 (arguments)만 출력한다.
- 파일 출력은 리다이렉션 연산자를 사용하여 파일로 보낼 수 있다. (예: echo hello > myfile.txt)
여러 echo 명령어 :
- 시스템에는 일반적으로 두 가지 echo 명령어가 존재한다.
- /bin/echo: 기본적인 echo 명령어 (보통 사용되지 않음)
- 쉘 내장 echo: 대부분의 쉘에서 기본적으로 사용되는 echo 명령어 (좀 더 강력)
- type echo 명령어를 실행하여 현재 사용하고 있는 echo가 어떤 것인지 확인할 수 있다.
printf 명령어
printf 명령어는 향상된 echo 명령어라고 할 수 있다. 표준 출력(stdout)에 문자열을 원하는 형식대로 출력하는 역할을 한다. C 프로그래밍 언어의 printf 함수와 비슷하게 작동하며, 형식 문자열과 인수들을 조합하여 특정 형태의 출력을 만들어낸다.
예시 :
printf "사용자 %s는 %d 세 입니다.\n" sandy 29
사용자 sandy는 29 세 입니다.
위 예시에서 첫 번째 인수인 "사용자 %s는 %d 세 입니다.\n" 은 형식 문자열이다. 이 문자열에는 두 개의 형식 지정자(%s, %d)가 포함되어 있다. 뒤에 오는 sandy와 29는 실제 데이터값이며, printf 명령어가 이들을 형식 문자열에 삽입하여 출력한다. 형식 지정자는 소수점 숫자와 같은 더 복잡한 데이터 타입도 다룰 수 있다.
예시 :
printf "그 금액은 $%0.2f 입니다, 고객님.\n" 3.14159
그 금액은 $3.14 입니다, 고객님.
yes 명령어
yes 명령어는 "y" 문자열 또는 사용자가 지정한 문자열을 한 줄씩 끝없이 출력한다. 처음에는 쓸모 없어 보일지도 모르지만, yes 명령어는 프로그램 실행 시 계속 진행하도록 질문하는 경우 매우 유용하다. yes 명령어의 출력을 원하는 프로그램의 입력으로 파이프 연결하면 자동으로 모든 질문에 "예"라고 답변할 수 있다.
예시 :
yes | any_interactive_command
위 명령어에서 yes 명령어의 출력은 파이프 (|) 를 통해 any_interactive_command 명령어의 입력으로 들어간다. 따라서 any_interactive_command 실행 시 "y" 문자열이 입력되며, 사용자가 직접 입력하지 않고도 프로그램을 진행할 수 있다. any_interactive_command가 종료되면 yes 명령어도 함께 종료된다.
seq 명령어
seq 명령어는 다른 프로그램에 파이프로 연결하여 사용하기 좋은 정수 또는 실수 시퀀스를 출력한다. 세 가지 형태의 인수를 지원한다.
- 단일 숫자 : 최대값을 지정합니다. seq는 1부터 시작하여 해당 숫자까지 센다.
- 예시 : seq 3 -> 출력: 1 2 3
- 두 개의 숫자 : 최소값과 최대값을 지정한다. seq는 첫 번째 숫자부터 시작하여 두 번째 숫자를 넘지 않고 최대까지 센다.
- 예시 : seq 2 5 -> 출력: 2 3 4 5
- 세 개의 숫자 : 최소값, 증가값, 최대값을 지정한다. seq는 첫 번째 숫자부터 시작하여 두 번째 숫자(증가값)만큼씩 증가하며 세 번째 숫자(최대값)을 넘지 않고 최대까지 센다.
- 예시 : seq 1 .3 2 -> 출력: 1 1.3 1.6 1.9
음의 증가값을 사용하여 감소하는 시퀀스도 만들 수 있다.
- 예시 : seq 5 -1 2 -> 출력: 5 4 3 2
문서 참조
https://www.oreilly.com/library/view/linux-pocket-guide/9781098157951
'Linux' 카테고리의 다른 글
Linux 네트워크 관련 명령어 (0) | 2024.07.22 |
---|---|
Linux 디스크와 파일 시스템 명령어 (0) | 2024.07.22 |
Linux 패키지 설치 명령어 (0) | 2024.07.22 |
LinuxLinux 파일 속성 관련 명령어 #2 (0) | 2024.07.21 |
Linux 사용자 그룹 관리 명령어 (0) | 2024.07.21 |