[Linux]쉘 프롬프트를 더 빠르게 사용하는 8가지 방법
터미널(쉘 프롬프트)에서 작업할 때의 장점 중 하나는 대부분의 다른 인터페이스보다 빠르다는 것입니다. 터미널에서 시간을 최대한 절약하는 8가지 방법은 다음과 같습니다.
- 탭 완성 (Tab Completion) 기능 사용
- 파일이나 디렉터리의 이름을 입력할 때 탭 키를 누르면 자동 완성됩니다. 이는 명령어, 파일 경로, 디렉터리, 옵션 등을 빠르게 입력하는 데 도움이 됩니다.
- 예: 쉘 프롬프트에 ls를 입력하고 Tab키를 두 번 누르면 ls로 시작하는 명령어가 출력됩니다.
[root@oel7u8 ~]# ls ls lsblk lshw lsipc lslogins lsmd lsmod lsof lsscsi lsusb.py lsattr lscpu lsinitrd lslocks lsmcli lsmem lsns lspci lsusb
- Left/Right 화살표 키들을 이용하지 않고 이동하기
- 명령줄에서 명령을 실행하는 동안 처음 부분을 놓치거나 끝 부분에 특정 태그나 인수를 추가하는 것을 잊어버리는 경우가 있습니다. 사용자가 편집을 위해 명령 사이를 이동하려면 키보드의 왼쪽 및 오른쪽 화살표 키를 사용하는 것이 일반적입니다. 화살표 대신에 바로가기 키를 사용하면 쉽게 이동할 수 있습니다.
- Ctrl+A : 줄의 시작 부분으로 이동
- Ctrl+E : 줄의 끝 부분으로 이동
- Alt+F : 한 단어 앞으로 이동
- Alt+B : 한 단어 뒤로 이동
- Up/Down 화살표 키들을 사용하지 않고 이전 명령을 검색하고 실행하기
- 대부분의 사용자는 이전에 실행한 명령을 재사용하는 경향이 있습니다. 키보드의 위쪽 화살표 버튼을 사용하여 셸 기록을 탐색하는 방법을 배웠을 수도 있습니다 . 그러나 재사용하려는 명령이 과거의 여러 줄인 경우에는 원하는 명령을 찾을 때까지 위쪽 화살표를 반복해서 눌러야 합니다.
- Ctrl+R을 사용하고 반복하려는 명령의 처음 몇 글자를 입력하여 찾습니다.
(reverse-i-search)`':
- 백스페이스 키나 삭제 키를 사용하지 않고 문자 지우기
- 명령의 철자를 틀리는 것은 드문 일이 아닙니다. 키보드의 백스페이스 키나 삭제 키를 사용하여 문자를 삭제하는 데 익숙할 수 있습니다. 문자별로 삭제하는 대신 현재 커서 위치부터 줄의 시작 부분이나 끝 부분까지 모두 삭제할 수 있습니다.
- Ctrl+U : 현재 커서 위치부터 줄 시작 부분까지 모든 내용 삭제
- Ctrl+K : 현재 커서 위치부터 줄 끝까지 모든 내용 삭제
- 한 줄에 여러 명령 실행
- 때로는 한 번에 여러 명령을 실행하는 것이 편리할 때도 있습니다. 세미콜론(;)을 사용하여 한 줄로 연결한 다음 순서대로 실행합니다.
[root@oel7u8 ~]# ps -efl | grep "defunct" | grep -v "grep" ; top -b -n 1 | grep "zombie" Tasks: 223 total, 1 running, 152 sleeping, 0 stopped, 0 zombie [root@oel7u8 ~]#
- 명령 중 하나가 실패할 때 일련의 명령을 중지하려면 세미콜론(;) 대신 &&를 사용하십시오.
[root@oel7u8 ~]# ps -efl | grep "defunct" | grep -v "grep" && top -b -n 1 | grep "zombie" [root@oel7u8 ~]#
- 때로는 한 번에 여러 명령을 실행하는 것이 편리할 때도 있습니다. 세미콜론(;)을 사용하여 한 줄로 연결한 다음 순서대로 실행합니다.
- 자주 사용하는 명령어의 별칭(alias) 등록하기
- 일부 명령을 자주 실행하게 될 것입니다. 때로는 긴 명령일 수도 있고 동일한 인수를 가진 다른 명령의 조합일 수도 있습니다. 이러한 유형의 명령을 다시 입력하지 않기 위해 가장 자주 사용하는 명령에 대한 별칭을 만듭니다.
- 사용자 환경 설정 파일(~/.bashrc)에 등록하여 별칭을 사용할 수 있습니다.
- 예: SQLPLUS 접속을 위한 명령어 별칭을 등록하면 간단하게 접속할 수 있습니다.
[oracle@oel7u8 ~]$ vi ~/.bashrc# User specific aliases and functions alias sql='sqlplus "/as sysdba"'[oracle@oel7u8 ~]$ sqlSQL*Plus: Release 11.2.0.1.0 Production on 수 11월 29 09:14:58 2023 Copyright (c) 1982, 2009, Oracle. All rights reserved. 다음에 접속됨: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production With the Partitioning, OLAP, Data Mining and Real Application Testing options SQL>
- 직전에 작업하던 디렉터리로 이동하기
cd -
를 입력하면 바로 직전에 작업하던 디렉터리로 이동합니다.- 환경변수 “OLDPWD”에 바로 직전에 작업하던 디렉터리 정보가 저장되어 있습니다.:
echo $OLDPWD
- 이전 명령어의 마지막 인자를 사용하기
- $_ : 이전 명령어의 마지막 인자의 실제 값
- !$ : 이전 명령어의 마지막 인자로 입력된 단어
[root@rocky9 ~]# echo "$(date +%s)" 1701262739 [root@rocky9 ~]# echo $_ !$ "$(date +%s)" 1701262739 1701262768 1701262768 [root@rocky9 ~]# foo="a b c" [root@rocky9 ~]# echo "$foo" a b c [root@rocky9 ~]# echo $_ "/" !$ a b c / a b c [root@rocky9 ~]# echo $foo a b c [root@rocky9 ~]# echo $_ "/" !$ c / a b c
- 예:
mkdir
명령어로 생성한 디렉터리로 바로 이동하기[root@rocky9 ~]# mkdir -p ./dir1/dir2/dir3/dir4; cd $_ [root@rocky9 dir4]# pwd /root/dir1/dir2/dir3/dir4