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