Bandit

Bandit Level 7 -> Level 8 | 리눅스 특정 단어 찾기 vi, grep

developerYoung 2023. 8. 30. 23:02
반응형

문제

The password for the next level is stored in the file data.txt next to the word millionth.

풀이

data.txt 파일에 millionth라는 단어에 비밀번호가 숨겨져 있다!

  • 파일에 millionth라는 단어를 검색해보자!

이 문제는 생각보다 단순하게 접근할 수 있다고 생각했다.

특정 단어만 파일에서 찾으면 되어서 두가지로 접근해보려한다.

 

리눅스 vi 단어 찾기

리눅스의 vi 에디터에서는 특정 단어를 찾는 기능이 있다.

바로 명령모드에서 /[단어] 를 이용한 검색법이다.

 

이 단어를 사용한 예시는 아래 글에서 담고 있으니 필요하면 보도록 하자!

https://youngari.tistory.com/entry/Bandit-Level-5-Level-6-%EB%A6%AC%EB%88%85%EC%8A%A4-%ED%95%98%EC%9C%84-%ED%8F%B4%EB%8D%94-%ED%8C%8C%EC%9D%BC-%EC%B0%BE%EA%B8%B0

 

Bandit Level 5 -> Level 6 - 리눅스 하위 폴더 파일 찾기

문제 Level5. The password for the next level is stored in a file somewhere under the inhere directory and has all of the following properties: human-readable 1033 bytes in size not executable 풀이 inhere 디렉터리 어딘가에 3가지 조건을 만

youngari.tistory.com

한 번 적용해보면 vi data.txt를 들어간 후, 명령모드에서 아래처럼 쓴 다음에 엔터를 누르면 우리가 원하는 데이터가 사진처럼 나타날 것이다! 만약 여러 데이터가 있어서 다음으로 넘어가고 싶다면 영어 'n' 을 눌러 다음 단어로 넘어갈 수 있고, shift + n 을 누르면 이전 단어로 갈 수 있다! (참고하여 다음에 사용하자!)

vi data.txt

> 명령모드
/millionth

 

생각보다 쉽게 데이터를 찾았다!

 

리눅스 grep 단어 찾기

이번엔 grep으로 굳이 파일을 다 열어보지않고 한번에 찾는 방법을 알아보자! (선호!!)

간단하게 리눅스 grep의 사용법을 알아보고 문제를 풀어보도록 하자.

grep [옵션][패턴][파일명]

grep 옵션 종류

  • -c : 일치하는 행의 수를 출력한다.
  • -i : 대소문자를 구별하지 않는다.
  • -n : 포함된 행의 번호를 함께 출력한다.
  • -l :  패턴이 포함된 파일의 이름을 출력한다.
  • -r : 하위 디렉토리를 포함한 모든 파일에서 검색한다.

 

이제 문제를 풀기위해 우리는 리다이렉션을 사용하고, cat으로 파일을 읽어 millionth를 찾아보려한다!

아래의 grep을 사용 시에 파일명은 왜 없어요? 라고 할 수 있지만 파일명 자리에 앞의 cat의 출력값이 들어가는게 바로 리다이렉션이다!

cat data.txt | grep millionth
반응형

짠! 더 깔끔하게 나오는 것을 확인할 수 있다.

grep 뒤에 단어를 사용하여 특정 단어가 속한 라인만을 가져올 수 있음을 알아놓으면 좋다!

그러면 이제 다음 단계로 넘어가보자!

 

 

더보기를 눌러 비밀번호를 확인하세요!

더보기

비밀번호는 다음과 같다

TESKZC0XvTetK0S9xNwm25STk5iWrBvP

 

 

반응형