[Bandit-OverTheWire] Level 2 -> Level 3

두비니

·

2020. 9. 17. 15:29

 

 

 

 

다양한 방법으로 풀어보겠습니다.

 

1. tab(자동완성) 이용하기

 

리눅스에서 일정 파일 이름을 치고 tab키를 누르면 디렉토리 안에 있는 파일 이름으로 자동완성됩니다. 따라서 spa까지 치고 tab을 치면 자동으로 파일이름을 완성시켜주기 때문에 이걸 가지고 풀 수 있습니다.

bandit2@bandit:~$ ls
spaces in this filename
bandit2@bandit:~$ cat spaces\ in\ this\ filename 
UmHadQclWmgdLOKQ3YNgjWxGoRMb5luK

 

1-2. \(역슬래시) 이용하기

 

사실 1번이랑 같아서 1-2로 뺐는데, 이 문제를 기본적인 지식으로 풀 수 없는 이유가 기본적으로 리눅스는 스페이스를 기준으로 명령어를 나누기 때문에 파일 이름을 cat spaces in this file name같이 실행시킬 수 없습니다.

이건 그냥 간단히 c언어에서처럼 스페이스 앞에 \(역슬래시)를 붙여서 실행시키면 됩니다.

 

bandit2@bandit:~$ ls
spaces in this filename
bandit2@bandit:~$ cat spaces\ in\ this\ filename 
UmHadQclWmgdLOKQ3YNgjWxGoRMb5luK

 

2. ""(큰따옴표) 쓰기

이거 그냥 큰따옴표로 싸서 보내도 됩니다. 별다른 설명이 필요없어서..

bandit2@bandit:~$ cat "spaces in this filename"
UmHadQclWmgdLOKQ3YNgjWxGoRMb5luK

 

그냥 궁금해서 작은따옴표도 해봤는데 잘 되네요.

bandit2@bandit:~$ cat 'spaces in this filename'
UmHadQclWmgdLOKQ3YNgjWxGoRMb5luK

 

 

3. 와일드카드 쓰기

 

일단 와일드카드라는걸 알아야겠죠? 밑에 글 잘 보면 와일드카드에 대해서 잘 설명되어있습니다.

참고 : eunguru.tistory.com/91

 

[UNIX / Linux] 특수 문자(Shell Metacharacter)

특수 문자 = 메타 문자(Metacharacter) - 쉘 메타 문자: 쉘 명령에서 사용하는 문자들 중 사전에 정의된 특별한 기능대로 동작하는 일부 문자 - 사전 정의 된 특수 문자 특수 문자  사전 정의  ~  홈 �

eunguru.tistory.com

 

근데 사실상 제일 많이 쓰이는거는 특정 문자열 뒤에 *(문자열 와일드카드)를 붙여서 작성하는 방식입니다.

예를 들어서 다음과 같이 사용합니다.

dubini0@ubuntu:~$ ls test*
test1  test2  test3  test.py
dubini0@ubuntu:~$ rm test*
dubini0@ubuntu:~$ ls test*
ls: cannot access 'test*': No such file or directory

 

test관련된 파일들이 다음과 같이 있으면, rm test* 의 뜻은 test로 시작하는 파일들을 모두 삭제하라는 뜻입니다. 따라서 ls test* 로 test로 시작하는 파일들을 찾았을 때, 아무런 파일을 찾을 수 없는 것 또한 확인할 수 있습니다.

 

그래서 아무튼 결론은

bandit2@bandit:~$ cat spa*
UmHadQclWmgdLOKQ3YNgjWxGoRMb5luK

 

와! 이렇게 하면 잘 된다는거

 

 

 

password : UmHadQclWmgdLOKQ3YNgjWxGoRMb5luK