Linux

[Linux] Linux 기본 III - 특수문자(Meta character)

gangintheremark 2024. 3. 13. 23:22
728x90

프로세스 간 통신 (IPC, Inter-Process Communication)

프로세스들은 각자 독립적인 메모리 공간(가상 메모리 공간)을 사용하기 때문에 메모리 공간을 공유해서 통신하는 것은 불가능하다. 따라서 프로세스 간 통신을 위해서는 운영체제(커널)에서 지원하는 주요 프로세스 간 통신 기법을 이용해야 한다.

Pipe, shared Memory, Message Queue, Semaphore, Socket, Signal

파이프(Pipe) 및 파이프라인(Pipeline)

파이프 또는 파이프라인프로세스(명령)의 표준 출력을 다른 프로세스(명령)의 표준 입력으로 전달해주는 기능을 한다. 2개의 프로세스 사이에서 단방향으로 통신할 수 있도록 지원하는 특수 파일이다.

명령어의 실행 결과를 다른 명령어의 입력으로 전달하여 처리하도록 하는 기능으로 명령어와 명령어 사이에 파이프 기호 | 를 사용한다.

cat 명령어의 출력을 grep 명령의 입력으로 전달하여 root 문자열이 포함된 행만 출력한다.

ps 명령어(시스템 내 모든 프로세스 정보)의 출력을 grep 명령의 입력으로 전달하여 'vsftpd' 문자열이 포함된 행만 출력한다

grep -v 패턴 : 지정한 패턴을 포함하지 않은 행만 출력


특수 문자 (Meta character)

쉘 명령에서 일부 문자들은 사전에 정의된 특별한 기능이 있다. 이런 문자들을 쉘 특수 문자(메타 문자)라고 한다.

문자 정의 문자 정의
~ 홈 디렉터리 * 임의의 0개 이상 문자 대체
. 현재 디렉터리 ? 임의의 1개 문자 대체
.. 상위 디렉터리 ; 쉘 명령 구분자
# 주석 | 파이프
$ 쉘 변수 (e.g. $PATH) < 입력 재지정
& 백그라운드 모드로 실행 > 출력 재지정

 

 

~ 사용 예

  • cd ~ : 현재 사용자의 홈 디렉터리로 이동
  • cd ~계정명 : 지정한 계정의 홈 디렉터리로 이동

* 사용 예

  • ls *.dat : '.dat' 으로 끝나는 파일 목록 출력
  • ls a* : 'a'로 시작하는 파일 목록 출력

; 사용 예

  • date; whoami; id : 명령을 순서대로 실행하여 결과 출력
728x90