Linux Shell(리눅스) 특수 문자 정리

솔루션 구매 및 의뢰 문의
010-7262-9288
mrkjm@nate.com
JS/Jquery/Ajax 팁

Linux Shell(리눅스) 특수 문자 정리

머니버그 0 487

매번 어떤 의미인지도 모르면서 그대로 따라만 하다 보니 늘지 않는 것 같아

우선은 리눅스에서 사용하는 특수문자에 대해 정리해 보려고 합니다.

1. 표준 출력

표준 출력을 뜻하는 특수 문자는 >입니다. 이 특수문자를 사용하면 다음과 같은 명령이 가능해집니다.

# '>' 표준 출력 (new)
$ ls > test.txt # 표준 출력을 파일에 기록합니다.

ls 명령어를 통해 출력된 내용을 test.txt 파일에 기록합니다.

다만 test.txt 파일은 업데이트가 아닌 새로 기록을 하게 되므로 주의해야 합니다.

그 외에도 표준 출력을 두번 연속 >>으로 사용하게 되면 다음처럼 기록하겠다는 겁니다.

# '>' 표준 출력 (append)
$ ls >> test.txt # 표준 출력을 test.txt 파일 내용 끝에 추가로 덧붙여 기록합니다.

ls 명령어를 통해 출력된 내용을 test.txt 파일 내용 끝에 추가로 덧붙여서 기록합니다.


2. 표준 입력

표준 입력을 뜻하는 특수 문자는 <입니다. 이 특수문자를 사용하면 다음과 같은 명령이 가능해집니다.

# '<' 표준 입력
$ cat < test.txt # test.txt 파일에서 표준 입력으로 읽어 들입니다.

test.txt 파일의 내용을 cat 명령어로 읽어 들인 후 화면에 출력합니다.


3. 와일드 카드

명령어 중 여러가지로 조합할 수 있는 특수문자들입니다. *, ? 가 있습니다.

두가지의 차이점은 일치하는 문자의 개수 입니다. * 특수 문자는 모든 문자와 일치하는 와일드 카드 특수 문자이며, ? 문자는 하나의 문자와 일치하는 특수 문자입니다.

명령어로는 다음처럼 나타낼 수 있다.

# '*' 모든 문자와 일치하는 와일드 카드 문자
$ ls tes* # test.txt, tes/123.txt 등 일치하는 모든 파일/디렉토리(내부)가 출력됩니다.
# '?' 하나의 문자와 일치하는 와일드 카드 문자
$ ls test.tx? # test.txt, test.txx 등 하나가 일치한 파일을 출력됩니다.


4. 파이프 문자

어떠한 프로세스의 표준 출력을 다른 프로세스의 표준 입력으로 보내는 문자 |을 주로 파이프 문자라고 불립니다.

# 파이프 문자 예제
# ps 명령어를 통한 표준 출력을 프로세스 정보 중 "tomcat"이 들어간 프로세스를 찾기 위해 표준 입력을 삽입합니다.
$ ps -ef | grep tomcat


5. 명령 문자

해당 부분은 주로 명령(Command)에 관련된 문자로 다음과 같습니다.

; # 명령의 끝을 나타냅니다.
|| # 이전의 명령이 실패하면 실행하는 조건문 문자입니다.
&& # 이전의 명령이 성공하면 실행하는 조건문 문자입니다.
& # 명령을 백그라운드에서 실행합니다.
$ # 변수에 접근할 수 있는 문자입니다.

이 외에도 # 문자를 쓰게 되면 주석 처리가 가능합니다.


6. 변수 접근 기호

위의 특수 문자들을 이용하면 조금 더 응용 가능한 쉘 커맨드가 가능해집니다.

그 전에 변수에 접근 할 수 있는 특수 문자가 있는데 다음과 같습니다.

0 # stdin (표준 입력)
1 # stdout (표준 출력)
2 # stderr (에러 출력)

위와 같은 문자와 변수 접근 문자를 합치면 &1, &2 같은 명령도 가능해집니다. 다음과 같은 커맨드도 가능합니다.

# 표준 에러 리다이렉션 (stderr 만 출력)
$ ./test.sh >> ./test.log 2>&1

위처럼 test.sh을 실행하면서 나온 표준 에러를 test.log 파일에 덧붙여 쓸 수도 있습니다.

그러나 log 파일이 필요 없을 경우 다음 처럼 쓸 수도 있습니다.

# 표준 출력이 필요 없을 때
$ ./test.sh >> /dev/null 2>&1

 

, , , , , , ,

0 Comments
TIP
글이 없습니다.
010.7262.9288
월-금 : 10:00 ~ 22:00, 토/일/공휴일 휴무
브레이크타임 : 16:30 ~ 19:00

Bank Info

국민은행 078501-04-057514
예금주 강준모
State
  • 현재 접속자 5 명
  • 오늘 방문자 14 명
  • 어제 방문자 45 명
  • 최대 방문자 2,476 명
  • 전체 방문자 51,081 명
  • 전체 게시물 102 개
  • 전체 댓글수 0 개
  • 전체 회원수 9 명