Information Security

03-1 쉘(Shell)의 특징 본문

Linux

03-1 쉘(Shell)의 특징

leeeeye321 2017. 9. 12. 00:55

쉘(Shell) : 명령어 해석기. 사용자가 입력한 명령어를 커널에 전달

Bash(Bourne Again Shell) : 본쉘(Bourne Shell)을 개량하여 만든 것이다. 대부분 리눅스에서 배시 쉘 제외한 쉘들은 사용하지 않는다.

 

Bash Shell의 특징

 

(1) 탭 완성(tab completion)

-사용하려는 명령의 일부만 입력 후 tab 키 이용하여 자동 완성

-이 기능을 사용하면 빠르고 편리하게 명령어 입력을 할 수 있다.

타이핑 실수도 줄어든다.

 

vi /etc/sysconfig/network-scripts/ifcfg-eth0

저번 시간에 사용했던 위의 명령어를 tab 키를 이용하여 완성시켜 보겠습니다.

 

먼저 e만 쓰고 tab 키를 누른다.

 

/etc/ 까지 자동완성

 

s만 쓰고 tab 키를 누른다.

그러면 자동완성이 되지 않는다.

이런 경우에는 tab 키를 한번 더 누른다.

 

중복되는 문자열들이 출력된다.

이것을 보고 최소 입력해야 할 내용을 알 수 있다.

 

sysco 까지 쓰고 tab 키를 누른다.

 

자동완성

 

나머지도 같은 방법으로 입력한다.

 

(2) 명령행 히스토리(history)

-키보드 방향키 위(↑) 아래(↓)를 이용하여 이전에 실행했던 명령어를 불러낼 수 있다.

-잘 못 입력한 명령어도 다시 불러와 잘못된 곳만 수정할 수 있다.

 

관련 명령어

history : 이전에 실행했던 명령어를 확인할 수 있다.

※ 아직 배운 명령어가 없으므로 아무 말이나 썼습니다.

 

!! : 가장 최근에 실행한 명령어가 실행된다.

 

![히스토리번호] : history 명령어 출력값 중에서 입력한 번호의 명령어가 실행된다.

 

(3) Alias

-자주 사용하는 명령어에 별칭을 지정하여 사용할 수 있다.

 #alias [이름]="명령어" : alias 설정

 #unalias [이름] : alias 해제

 

 

clear 명령어는 자주 사용하므로 별칭을 지정하여 사용해 보겠습니다.

-clear 명령어 : 화면의 내용을 지워준다. (프롬프트를 위로 올림)

 

#alias : 현재 시스템에서 설정된 alias 확인

 

지정한 별칭 "c"를 입력

 

clear 명령어가 실행되었다.

 

이제 alias를 해제 시켜보겠습니다.

 

alias 목록에서 사라진 것을 확인

 

더이상 "c"로 명령어가 실행되지 않는다.

 

(4) 중괄호 확장(brace expansion)

-괄호를 기반으로 명령어를 확장할 문자열을 콤마(,)로 구분해서 기술하고 중괄호 앞뒤에는 치환되지 않는 패턴을 적는다.

 

-echo 명령어 : 입력한 내용이 화면에 출력된다.

 

(5) 반복문

-명령어를 여러 번 실행할 때나 증가하는 패턴을 처리할 때 유용한 기능

 

(6) 줄 편집(Line-editing)

-쉘에서 사용하는 단축키

-명령줄을 편집

 

Ctrl + A : 커서 맨 왼쪽으로 이동

Ctrl + E : 커서 맨 오른쪽으로 이동

Ctrl + D : 현재 커서에 위치한 글자 지움,

(아무것도 입력되지 않은 상태에서 사용하면 로그아웃, 연결해제 되므로 주의)

Ctrl + L : clear 명령어와 같은 역할, 화면의 내용 모두 지움

Ctrl + C : 강제 취소

 

(7) 역 점진 탐색(reverse increment search)

-Ctrl + R을 누르면 프롬프트가  로 변한다.

프롬프트가 변하면 예전에 사용했던 명령어를 한 글자씩 입력하며 찾을 수 있다.

'Linux' 카테고리의 다른 글

03-3 기본 명령어(pwd, ls, cd)  (0) 2017.09.12
03-2 리눅스 구조  (0) 2017.09.12
02-3 리눅스 소개, 구조  (0) 2017.09.09
02-2 컴퓨터 시스템(Computer System)  (0) 2017.09.09
02-1 원격접속 설정  (0) 2017.09.09