NakedFlower 님의 블로그

리눅스실습_OverTheWire(2) 본문

CS/리눅스

리눅스실습_OverTheWire(2)

nakedflower 2025. 10. 4. 22:20

Level 7 -> Level 8

 

grep 주요 옵션

옵션 동작설명
-b 검색 결과의 각 행 앞에 검색된 위치의 블록 번호를 표시합니다. (디스크 상의 위치 파악에 유용)
-c 패턴과 일치하는 행의 총 개수(수)를 출력합니다.
-h 여러 파일을 검색할 때, 결과 행 앞에 파일 이름을 출력하지 않습니다.
-i 검색 시 대소문자를 구분하지 않습니다. (ignore case)
-I (대문자 i) 바이너리 파일은 검색에서 제외합니다.
-l (소문자 L) 패턴이 포함된 파일의 이름만 출력합니다.
-n 패턴이 포함된 행을 행 번호와 함께 출력합니다.
-s 존재하지 않거나 읽을 수 없는 파일에 대한 에러 메시지를 출력하지 않습니다.
-v 패턴과 일치하지 않는 행만 출력합니다. (invert match)
-w 단어(word)와 완전히 일치하는 행만 출력합니다.
-x 전체 라인(line)이 패턴과 정확히 일치하는 행만 출력합니다.
-r 현재 디렉토리 및 모든 하위 디렉토리를 포함하여 재귀적으로 검색합니다.
-m 숫자 지정한 숫자만큼의 결과만 찾으면 검색을 중단합니다.
-E 찾을 패턴을 확장 정규 표현식(Extended Regular Expression)으로 해석하여 검색합니다.
-F 찾을 패턴을 정규 표현식이 아닌 일반 문자열(Fixed String)로 해석하여 검색합니다.

Level 8 -> Level 9

Sort 명령어

sort 명령어는 텍스트 파일의 내용을 행 단위로 정렬하거나, 이미 정렬된 여러 파일을 병합하는 데 사용됩니다.

옵션 설명
-n 숫자를 기준으로 정렬합니다. (Numeric sort)
-r 결과를 역순(내림차순)으로 정렬합니다. (Reverse)
-f 정렬 시 알파벳의 대소문자를 구분하지 않습니다. (Fold case)
-b 각 행의 맨 앞에 있는 공백을 무시하고 정렬합니다.
-t [구분자] 필드를 구분할 문자를 지정합니다. (기본값은 공백)
-m 이미 정렬된 파일들을 병합합니다.
-u 정렬 후 중복되는 행은 하나만 남기고 제거합니다.
-o [파일명] 정렬 결과를 화면이 아닌 지정한 파일에 저장합니다.

Uniq 명령어

uniq 명령어는 연속으로 중복되는 행을 찾아 하나만 남기고 제거합니다. 따라서 전체 파일의 중복을 제거하려면 반드시 sort 명령어로 정렬한 후에 사용해야 합니다.

옵션 설명
-c 각 행이 몇 번 중복되었는지 횟수를 함께 표시합니다. (Count)
-d 중복된 행들만 출력합니다. (Duplicated)
-u 중복되지 않은 유일한 행들만 출력합니다. (Unique)
-i 중복 비교 시 대소문자를 구분하지 않습니다. (Ignore case)
-f [숫자] 지정한 숫자만큼의 필드(field)를 건너뛰고 비교합니다.
-s [숫자] 지정한 숫자만큼의 문자(character)를 건너뛰고 비교합니다.
-w [숫자] 각 행의 앞부분부터 지정한 숫자만큼의 문자만 비교합니다.

파이프라인 (Pipeline) |

파이프라인(|)은 두 개 이상의 명령어를 연결하는 역할을 합니다. 왼쪽 명령어의 실행 결과(Standard Output)를 오른쪽 명령어의 입력(Standard Input)으로 전달합니다.

Level 9 -> Level 10

 

 

Level 10 -> Level 11

 

파일 인코딩

base64 [파일명]

 

 

파일 디코딩

base64 --decode [파일명]

..

Level 11 -> Level 12

 

 

 

rotate 13이 의미하는 것을 시각화하면 위와 같다.

Level 12 -> Level 13

이 레벨에서는 문제 풀은 코드보다 파일 압축, 압축해제 코드를 정리해놓는 것이 훨씬 좋을 것 같다.

일단 문제에서 제시한대로

mktemp -d

를 통해서 temp파일을 하나 생성하고 그 아래에 data.txt를 cp해서 옮긴다


while(파일 == 압축파일){

data.txt를 
```
file data.txt
```
해서 확인해보면 어떤 방식으로 압축되어 있는지 확인할 수 있다.
그럼 해당 방식의 파일 확장명으로 mv해서 변경시켜주고 파일 압축해제를 해주면 된다.

}

 

이때 활용한 파일 압축 해제 명령어는 아래 3가지다.

 

tar -xvf [압축파일] .tar

bunzip2 [압축파일].bz2
gzip -d [압축파일].gz

Level 13 -> Level 14

이번 단계에서는 bandit13 안에 있는 private key 파일을 통해서 bandit14로 접속해야한다.

특히, 이때 ssh 통신을 이용해야 하는데 bandit 서버는 2220번 포트를 이용해야 한다는 것을 알아야 한다.

이후 명령어를 입력하여 bandit14로 접속했다면이후부터는 기본 문제 수준!

'CS > 리눅스' 카테고리의 다른 글

리눅스실습_OverTheWire(4)  (0) 2025.10.04
리눅스실습_OverTheWire(3)  (0) 2025.10.04
리눅스 실습_OverTheWire  (0) 2025.10.04