1. !! - 쌍느낌표 (Double exclamation)

바로 직전에 사용한 명령어를 실행합니다.

$ cat file1
1111111111111111111111
22222222222222222
end
$ !!
cat file1 # 이전에 실행된 명령어를 보여줌
1111111111111111111111
22222222222222222
end

!!:^, !!:$, !!:* 응용

^, $, * 에 대한 설명은 아래에서 확인할 수 있습니다.

$ echo '1' '2' '3' 
1 2 3
$ echo !!:^ # !!= 이전명령어 , := ~의, ^= 첫 번째 argument 즉 이전명령어의 첫 번째 argument를 호출
echo '1'
1
$ echo !!:$ # !!= 이전명령어 , := ~의, $= 마지막 argument 즉 이전명령어의 마지막 argument를 호출
echo '3'
3
$ echo !!:* # !!= 이전명령어 , := ~의, *= 전체 argument 즉 이전명령어의 전체 argument를 호출
echo '1' '2' '3'
1 2 3

2. ! - 느낌표 (Exclamation)

!history의 고유번호

history 명령어를 입력하면 고유의 식별번호가 존재하는데 느낌표+식별번호를 입력하면 해당 번호의 명령어가 실행됩니다.

$ history
...
1721  sudo su
1722  ll
1723  cat file1
1724  history
 
$ !1723
cat file1 # 1723번에 존재하는 명령어 실행
1111111111111111111111
22222222222222222
end

!-history의 고유번호 순번

!-2의 의미는 마지막 명령어로부터 뒤로 두번 째 명령어를 재호출 한다는 의미입니다.

$ !-2
cat file1 # history의 마지막에서 두 번째 명령어 실행
1111111111111111111111
22222222222222222
end

!^, !$, !* 이전 명령어의 argument 실행

!^: 이전 명령어의 첫 번째 argument

!$: 이전 명령어의 마지막 argument

!*: 이전 명령어의 전체 argument

$ ls -la company
total 20
drwxr-xr-x 5 root root 4096 Dec 12 09:12 .
drwxr-xr-x 8 root root 4096 Mar 14 20:06 ..
drwxr-xr-x 2 root root 4096 Dec 12 09:12 bin
drwxr-xr-x 3 root root 4096 Jan 20 09:52 pkg
drwxr-xr-x 6 root root 4096 Jan 20 09:52 src
 
$ ls !*
ls -la company # 전체 argument 실행
total 20
drwxr-xr-x 5 root root 4096 Dec 12 09:12 .
drwxr-xr-x 8 root root 4096 Mar 14 20:06 ..
drwxr-xr-x 2 root root 4096 Dec 12 09:12 bin
drwxr-xr-x 3 root root 4096 Jan 20 09:52 pkg
 
$ ls !^
ls -la # 첫 번째 argument 실행
total 32912
drwxr-xr-x  8 root     root         4096 Mar 14 20:06 .
drwxr-xr-x 23 root     root         4096 Mar 14 13:28 ..
drwxr-xr-x  5 root     root         4096 Dec 12 09:12 company
-rw-r--r--  1 root     root     32976929 Jan 20 10:01 company.tar.gz
 
$ ls !$
ls company # 마지막 argument 실행
bin  pkg  src

![keyword] 이전 명령어의 keyword로 실행

keyword로 실행된 명령어 중 가장 최근 명령어를 찾아서 재 실행합니다.

$ ls company
bin pkg src
$ vi aaaa
...
$ !ls
bin pkg src

3. {} - 중괄호 (Brace)

커맨드라인에서 콤마는 파일명을 나열하고 명령에게 인수로 전달합니다. 

$ sudo mkdir test{1,2,3}
$ ll
...
drwxr-xr-x  2 root     root         4096 Mar 14 20:54 test1/
drwxr-xr-x  2 root     root         4096 Mar 14 20:54 test2/
drwxr-xr-x  2 root     root         4096 Mar 14 20:54 test3/

4. ? - 물음표 (Question)

파일명을 생성하게 하는 특수문자입니다. 이 문자는 기존의 파일명에 있는 문자 하나에 해당됩니다.

$ echo test?
test1 test2 test3

5. * - 별표 (Asterisk)

물음표와 비슷한 기능을 수행하지만 어떤 개수의 문자열에도 대응할 수 있습니다.

$ echo test*
test test1 test1123 test2 test3

6. [] - 대괄호 (Square bracket)

문자 주위를 둘러싼 괄호 기호 []는 각각의 문자를 포함하는 파일명을 검색하게 합니다.

$ echo test[13]
test1 test3
$ echo test[1-3]
test1 test2 test3 


'서버' 카테고리의 다른 글

[Linux] CPU 개수 확인하기  (0) 2017.03.15
[Linux] 용량 확인 명령어  (0) 2017.03.15
[Linux] 커맨드라인 특수문자 명령어  (0) 2017.03.14
[Linux] pushd, popd  (0) 2017.03.14
[Linux] Confluence WiKi 설치  (0) 2017.03.14
루프백 아이피  (0) 2017.03.08

+ Random Posts