리눅스에서 제일 많이 사용하는 출력 명령어인 echo 명령어에 대해 echo 명령어 기본 사용법, echo 명령어 옵션, echo 명령어 옵션 사용법, echo 명령어 옵션을 이용하여 이스케이프 문자를 활용하는 방법 등에 관한 리눅스 echo 명령어 옵션 총정리입니다.
※ 목차 구성
1) 리눅스 echo 명령어란?
2) 리눅스 echo 명령어 사용법
2-1) echo 명령어 기본 사용법
2-2) echo 명령어 특수문자 사용
2-3) echo 명령어 리다이렉션 파일 생성
2-4) echo 명령어 환경변수 확인
2-5) 쉘 스크립트 echo 명령어 활용
3) 리눅스 echo 옵션
3-1) 리눅스 echo 이스케이프(escape) 문자 옵션
4) 리눅스 echo 옵션 사용법
4-1) 리눅스 echo -n 옵션
4-1) 리눅스 echo -E 옵션
4-1) 리눅스 echo -e 옵션
리눅스 echo 명령어란?
- C언어의 printf함수에 준하는 화면 출력을 담당하는 명령어입니다.
- 유닉스 및 유닉스 계열(리눅스) 운영체제에서 지정한 문자열 또는 텍스트를 터미널에 출력하는 명령어입니다.
- 일반적으로 터미널 프롬프트 명령이나 쉘 스크립트, 배치파일에서 화면이나 파일로 상황을 알리는 문자열을 출력할 때 사용됩니다.
- 문자열과 함께 개행 문자를 덧붙여서 출력이 가능합니다.
- 쉘 스크립트의 변수나 터미널의 환경변수나 변수를 확인할 경우 주로 사용됩니다.
리눅스 echo 명령어 사용법
echo 명령어 기본 사용법
리눅스 echo 명령어는 리눅스에서 출력 명령어로 자주 쓰는 명령어이며 옵션 없이 사용할 수 있고 다양한 옵션과 이스케이프 문자의 옵션을 이용하여 여러 가지 방식으로 출력을 표현할 수 있습니다.
echo [옵션] [텍스트 및 문자열]
리눅스 echo 명령어는 큰따옴표 없이도 문자를 출력할 수 있습니다.
root@server # echo My name is Kim
My name is Kim
echo 명령어 특수문자 사용
리눅스 echo 명령어는 특수 문자를 사용 시 또는 긴 문자를 표현할 때 "큰 따옴표"를 사용합니다.
root@server # echo (My name is Kim)
-bash: syntax error near unexpected token `My'
root@server # echo "(My name is Kim)"
(My name is Kim)
echo 명령어 리다이렉션 파일 생성
리눅스 echo 명령어는 리다이렉션을 이용하여 파일을 생성할 수 있습니다.
- echo "내용" > {파일명}
- 해당 경로에 파일명이 존재하지 않으면 ehco 출력 내용으로 새로 파일을 생성합니다.
- 해당 경로에 파일명이 존재한다면 echo 출력 내용으로 파일을 덮어쓰기로 저장됩니다. - echo "내용" >> {파일명}
- 해당 경로에 파일명이 존재하지 않으면 ehco 출력 내용으로 새로 파일을 생성합니다.
- 해당 경로에 파일명이 존재한다면 echo 출력 내용으로 파일을 이어쓰기로 저장됩니다.
root@server # ls -l
total 0
root@server # echo "My name is Kim" > file1.txt
root@server # ls -l
total 4
-rw-r--r-- 1 root root 15 Apr 4 14:57 file1.txt
root@server # cat file1.txt
My name is Kim
root@server # echo "My name is Hong" >> file1.txt
root@server # cat file1.txt
My name is Kim
My name is Hong
echo 명령어 환경변수 확인
리눅스 echo 명령어를 이용하여 전역 변수 및 환경변수의 값을 확인할 수 있습니다.
변수 선언 후 echo 명령어로 확인
user@server # A=123
user@server # B="My name is choi"
user@server # echo $A
123
user@server # echo $B
My name is choi
환경변수를 echo 명령어로 확인
echo 명령어를 이용하여 user계정이 사용하는 shell의 정보 및 인코딩 정보 등 지정된 다양한 환경변수를 확인할 수 있습니다.
user@server # echo $SHELL
/bin/bash
user@server # echo $LANG
en_US.UTF-8
쉘 스크립트 echo 명령어 활용
쉘 스크립트를 만들고 테스트로 실행할 때 echo 명령어를 이용해 명령줄을 실제로 실행하지 않고 echo 명령을 붙여 쉘 스크립트가 제대로 실행되는지 출력으로 확인할 수 있습니다.
user@server # ls -l
total 4
-rwxr-xr-x 1 user user 57 Apr 4 15:13 file1.sh
user@server # cat file1.sh
#!/bin/bash
echo "rm /home/user/user/testdir/file1.sh"
user@server # ./file1.sh
rm /home/test/user/testdir/file1.sh
file1.sh 파일에는 file1.sh를 지우는 명령이 있는데 echo 명령어로 큰따옴표로 묶고 실제로 실행하면 rm 명령어가 실행되는 것이 아닌 echo명령어가 실행되고 rm 명령 라인은 텍스트로 출력이 됩니다.
리눅스 echo 옵션
리눅스 echo 명령어 옵션 총정리
번호 | 옵션 | long 옵션 | 설명 |
1 | -n | - | 마지막에 따라오는 개행 문자(newline) 문자를 출력하지 않는다. |
2 | -e | - | 문자열에서 백슬래시와 이스케이프문자를 인용 부호(")로 묶어 인식하도록 합니다. |
3 | -E | - | 문자열에서 백슬래시와 이스케이프문자를 비활성화 합니다. (default) |
4 | - | --help | echo 명령어에 대한 사용법을 출력합니다. |
5 | - | --version | echo 명령어에 대한 버전을 출력합니다. |
리눅스 echo 이스케이프(escape) 문자 옵션
echo 이스케이프(escape) 문자 총정리
- 아래의 이스케이프 문자는 echo 명령어에 -e 옵션을 같이 사용해야 이스케이프 문자 옵션들을 사용할 수 있습니다.
문자 | 설명 |
\\ | 역슬래시 문자를 사용합니다. |
\a | 경고음 소리를 출력합니다. |
\b | backspace의 약자로 백스페이스의 역할을 합니다. |
\c | 지정한 문자열 부터 출력하지 않습니다. (마지막 개행 문자를 출력 안함) |
\e | \e 또는 \033은 ANSI escape code를 시작과 끝으로 지정시 이스케이프문자로 포맷팅을 설정합니다. |
\f | form feed의 약자로 폼 피트 형식으로 프린터 용지바꿈으로 출력 또는 터미널에서 지정한 문자 이후로 출력 |
\n | newline의 약자로 새로운 라인으로 줄바꿈을 합니다. |
\r | carriage return의 약자로 문자의 새 줄을 시작하는데 쓰입니다. |
\t | tab의 약자로 수평으로 tab의 간격을 출력합니다. |
\v | vertical tab의 약자로 수직으로 tab의 간격을 출력합니다. |
\0NNN | ASCII CODE가 NNN(8진수)인 문자를 출력합니다. |
\xHH | ASCII CODE가 HH(HEX[16진수])인 문자를 출력합니다. |
※ 이스케이프 문자는 모니터나 프린터의 속성 등을 제어하기 위해 장치에 보내는 특수 문자열을 의미합니다.
리눅스 echo 옵션 사용법
리눅스 echo -n 옵션
echo -n 옵션은 마지막에 따라오는 개행 문자(newline) 문자를 출력하지 않는 옵션입니다. 쉽게 말해 echo 명령어 -n옵션은 아래 예시와 같이 새로운 줄 바꿈을 출력하지 않습니다.
user@server # echo "This is Linux"
This is Linux
user@server # echo -n "This is Linux"
This is Linux
user@server #
리눅스 echo -E 옵션
echo -E 옵션은 문자열에서 백 슬래시와 이스케이프 문자를 비활성화합니다. 이 옵션은 -E옵션을 쓰지 않아도 기본으로 적용되는 default값입니다.
user@server # echo "\tThis is Linux"
\tThis is Linux
user@server # echo -E "\tThis is Linux"
\tThis is Linux
user@server # echo -e "\tThis is Linux"
This is Linux
리눅스 echo -e 옵션
echo -e 옵션은 백 슬래시와 이스케이프 문자를 인용 부호("")로 묶어 인식하도록 합니다. 즉 백 슬래시와 이스케이프 문자를 사용할 수 있는 옵션입니다.
user@server # echo "This is Linux"
This is Linux
### 이스케이프 \\ 사용
user@server # echo "\\This \\is \\Linux"
\This \is \Linux
### 이스케이프 \a 사용
user@server # echo -e "\aThis is Linux"
This is Linux
### 이스케이프 \b 사용
user@server # echo -e "Th\bis is L\binux"
Tis is inux
### 이스케이프 \c 사용
user@server # echo -e "This is L\cinux"
This is L
### 이스케이프 \e 미사용
user@server # echo -e "[1m This is Linux [m"
[1m This is Linux [m
### 이스케이프 \e 사용
user@server # echo -e "\e[1m This is Linux \e[m"
This is Linux
### 이스케이프 \f 사용 (터미널에서는 clear명령어 처럼 새로운 페이지로 넘어갑니다)
user@server # echo -e "This is Linux"
This is Linux
user@server # echo -e "This \fis Linux"
This
is Linux
### 이스케이프 \n 사용
user@server # echo -e "This is \nLinux"
This is
Linux
### 이스케이프 \r 사용
user@server # echo -e "This \ris Linux"
is Linux
### 이스케이프 \t 사용
user@server # echo -e "This \tis Linux"
This is Linux
### 이스케이프 \v 사용
user@server # echo -e "This \vis Linux"
This
is Linux
### 이스케이프 \0NNN 사용
user@server # echo -e "\0141"
a
user@server # echo -e "\0041"
!
### 이스케이프 \xHH 사용
user@server # echo -e "\x61"
a
user@server # echo -e "\x21"
!
※ 이스케이프 \0NNN 8진수와 \xHH 16진수는 'ASCII CODE' 표를 참고하여 출력하시면 됩니다.
'IT > 리눅스 명령어' 카테고리의 다른 글
[Linux] 리눅스 mv 명령어, mv 명령어 옵션 총정리, 리눅스 기본명령어 (1) | 2022.04.10 |
---|---|
[Linux] 리눅스 cat 명령어, cat 옵션 종류 총정리 (0) | 2022.04.08 |
[Linux] 리눅스 rmdir 명령어, rmdir 옵션 및 사용법 (0) | 2022.04.04 |
[Linux] 리눅스 pwd 명령어, pwd 옵션 총정리 및 환경변수 (1) | 2022.03.31 |
리눅스 touch 명령어, touch 옵션 총정리 리눅스 파일 만들기 (1) | 2022.03.30 |
댓글