2016년 10월 20일 목요일

[Bash] 배시 기본 {03} - 역슬래시, Ctrl

특수 문자와 인용부호

< > | & * ? [ ] 문자 같은 것 들은 특수 문자이다. 특수 문자를 특수 문자로 사용하지 않고 보통 문자로 표현하려면 인용부호(quoting)를 사용한다.

$ echo 2 * 3 > 5 is a valid inequality

위 명령을 실행하면 5 라는 새 파일이 만들어지고, 이 파일 안에는 2, 현재 디렉토리의 모든 파일(*) 그리고 3 is a valid inequality가 씌여진다. 이 경우 * 와 > 를 작은따옴표로 감싸주면 된다.

$ echo '2 * 3 > 5 is a valid inequality'

혹은

$ echo 2 '* 3 >' 5 is a valid inequality

역슬래시-이스케이프 제어

특수 문자 앞에 역슬래시(\ or \) 문자를 입력하는 방법도 있다. 이를 역슬래시 이스케이프 제어(backslash-escaping)라고 한다.

$ echo 2 \* 3 \> 5 is a valid inequality

인용부호로 묶었을 때 와일드카드 문자를 그대로 인식하는 명령어들이 있다. 예를 들면 find 명령의 경우

$ find . -name '*.c'

현재 디렉토리와 그 하위 디렉토리(.)에서 .c로 끝나는 모든 파일을 찾는다. 와일드카드 문자가 포함된 파일 이름을 찾으려면 역슬래시를 사용한다.

$ find . -name '*\*.c'

위 명령은 *.c로 끝나는 모든 파일을 찾는다.

한 줄이 넘는 명령 입력하기

역슬래시나 인용문자(작은따옴표)를 이용한다.

$ echo hello ildelusion \
> virtualization \
> sleepy.

$ echo 'hello ildelusion
> virtualization
> sleepy.'

컨트롤(Ctrl) 키

일종의 특수문자로 Ctrl 키와 다른 키를 동시에 눌러서 실행시킨다.

Ctrl-M : 엔터
Ctrl-C : 현재 명령 중지
Ctrl-D : 입력의 끝
Ctrl-\ : Ctrl-C가 동작하지 않을 경우 현재 명령 중지. Ctrl-C 먼저 사용해야 파일이나 다른 자원의 상태에 문작 발생하지 않는다.
Ctrl-S : 화면 출력 정지
Ctrl-Q : 화면 출력 다시 시작
Ctrl-? : 지운 문자를 다시 되돌린다.
Ctrl-U : 전체 명령행 삭제
Ctrl-Z : 현재 명령 일시 중단


댓글 없음:

댓글 쓰기