맥이나 Linux 시스템을 사용하는 경우 Bash Shell을 많이 사용합니다.

간단한 커맨드의 경우 다시 키인해서 사용해서 사용해도 상관없지만 커맨드가 복잡하고 긴경우 과거에 입력했던 커맨드를 불러들여 재 사용하면 더욱 편할 것입니다.



"Ctrl + r" 를 사용하여 커맨드를 찾는 방법.

"Ctrl + r"를 이용하여 기존에 입력했던 커맨드의 일부를 입력해서 찾는 방법이 있는데 

"Ctrl + r"를 누르게되면 커맨드에 (reverse-i-search)`': 가 보여지면 일부 워드를 입력해주면 해당되는 커맨드 들을 찾아 커맨드라인에서 이용할 수 있도록 해줍니다.



일부 커맨드를 입력하고  상.하 방향키를 이용하여 찾는 방법.

이 방법이 "Ctrl + r"보다 보편화 된 방법 같은데요, 우선 이것을 위해서는 "/etc/inputrc" 파일에 

"\e[A":history-search-backward

"\e[B":history-search-forward

를 추가하는설정이 필요합니다.  


그리고 나서 커맨드 상에서 일부 커맨드를 입력하고 상.하 방향키를 누르게되면 해당 워드가 과거에 사용된 커맨드들을 보여주게됩니다.



커맨드상에서 알아두면 좋은 키.

Ctrl + d    : 현재 커서에 위치한 한 문자 삭제

Ctrl + -    : 방금 실행한 명령 취소

Ctrl + a    : 라인의 맨 처음으로 이동

Ctrl + e    : 라인의 맨 끝으로 이동

Ctrl + w    : 커서가 있는 위치에서 앞에있는 단어(스페이스로 구분된)단위로 삭제




다음은 샘플 inputrc 파일입니다.  

맥의 경우 inputrc파이 기본적으로 들어있지 않기때문에 /etc/inputrc 또는 사용자 홈 디렉토리에서 .inputrc로 파일을 생성해 줘야합니다.

# do not bell on tab-completion

#set bell-style none


set meta-flag on

set input-meta on

set convert-meta off

set output-meta on


# Completed names which are symbolic links to

# directories have a slash appended.

set mark-symlinked-directories on


$if mode=emacs


# for linux console and RH/Debian xterm

"\e[1~": beginning-of-line

"\e[4~": end-of-line

# commented out keymappings for pgup/pgdown to reach begin/end of history

#"\e[5~": beginning-of-history

#"\e[6~": end-of-history

"\e[5~": history-search-backward

"\e[6~": history-search-forward

"\e[3~": delete-char

"\e[2~": quoted-insert

"\e[5C": forward-word

"\e[5D": backward-word

"\e[1;5C": forward-word

"\e[1;5D": backward-word


# for rxvt

"\e[8~": end-of-line

"\eOc": forward-word

"\eOd": backward-word


# for non RH/Debian xterm, can't hurt for RH/DEbian xterm

"\eOH": beginning-of-line

"\eOF": end-of-line


# for freebsd console

"\e[H": beginning-of-line

"\e[F": end-of-line

$endif


"\e[A":history-search-backward

"\e[B":history-search-forward 




Posted by Steven J.S Min
,