[문제]
[풀이]
> ls -al 명령어로 data.txt 파일을 확인하였다.
> file 명령어를 통해 data.txt 가 text 형식임을 확인하였다.
> cat 명령어를 통해 data.txt 파일을 실행한 결과 16진수로 나열되어 있어 원하는 패스워드를 찾을 수 없다.
> mkdir 명령어를 통해 /tmp 디렉토리 아래에 myname123이라는 디렉토리를 형성하였다.
> cp 명령어를 통해 data.txt 파일을 새로 만든 myname123 디렉토리에 복사하였다.
> ls -al 명령어를 통해 /tmp/myname123 에 data.txt 파일이 들어있음을 확인할 수 있다.
> cd 명령어를 통해 /tmp/myname123 으로 이동하였다.
> xxd 명령어를 통해 16진수인 data.txt 파일을 바이너리 파일로 읽어 data 라는 새로운 파일에 저장하였다.
> ls -al 명령어를 통해 data 파일이 새롭게 만들어졌음을 확인할 수 있다.
> file 명령어를 통해 data의 파일 형식을 확인한 결과, gzip으로 압축되어 있는 것을 확인하였다.
> gzip 으로 압축된 파일을 해제하기 위해서는 반드시 파일의 확장자가 .gz으로 설정되어야 한다.
> data인 파일명을 data.gz으로 변경해야 한다.
> mv 명령어를 통해 data 파일이 data.gz로 변경하였고, ls -al 명령어를 통해 파일명이 변경된 것을 확인할 수 있다.
> gzip 명령어를 통해 data.gz 파일의 압축을 해제할 수 있다.
> 압축이 해제 되어 .gz 확장자는 사라지게 되었다.
> file 명령어로 data 파일의 형식을 확인한 결과, bzip2 로 압축되어 있는 것을 확인하였다.
> bzip2 명령어를 통해 data 파일의 압축을 해제한 결과, data.out 이라는 파일이 생성된 것을 확인할 수 있다.
> file 명령어를 통해 data.out 파일의 형태를 확인하니, gzip으로 압축되어 있었다.
> 앞선 과정과 동일하게 data.out 파일에 .gz 확장자를 붙여준 후 압축을 해제 하였다.
> file 명령어를 통해 data.out 파일의 형식을 확인하니 tar 아카이브로 묶여져 있음을 확인하였다.
> tar 명령어를 통해 data.out 파일의 묶음을 해제한 결과, data5.bin이라는 파일이 생성되었다.
> file 명령어를 통해 data5.bin 파일의 형태를 확인한 결과 tar 아카이브로 묶여져 있음을 확인하였다.
> 이를 앞선 과정과 동일하게 진행한 결과, data6.bin 파일이 생성되었고, file 명령어를 통해 bzip2 로 압축되어 있는 것을 확인하였다.
> bzip2 명령어를 통해 data6.bin 파일의 압축을 해제한 결과, data6.bin.out 이라는 파일이 생성된 것을 확인할 수 있다.
> file 명령어를 통해 data6.bin.out 파일의 형태를 확인하니, tar 아카이브로 묶여 있었고, tar 명령어를 통해 해제한 결과 data8.bin 파일이 생성되었다.
> file 명령어를 통해 data8.bin 파일의 형태를 확인한 결과, gzip으로 압축되어 있었다.
> gzip의 압축을 해제한 결과, data8.bin 파일이 생성되었음을 확인할 수 있다.
> file 명령어를 통해 data8.bin 파일의 형태가 text 형식임을 확인할 수 있다.
> cat 명령어를 통해 data8.bin 파일을 실행한 결과 패스워드를 획득할 수 있었다.
[핵심]
tar (Tape ARchiver)명령어
> 여러 개의 파일을 하나의 파일로 묶거나 풀 때 사용하는 명령
> 파일 저장 및 전송 시, 다수의 파일 존재할 경우 관리 복잡 -> 여러 파일을 하나로 합쳐 처리하기 위한 목적으로 만든 프로그램
Tape
: 과거 사용되었던 저장 장치
ARchiver
: 여러 개의 파일을 하나의 파일로 합치는 프로그램
--> 테이프에 파일을 백업하기 위해 만들어진 프로그램
> tar 자체는 파일 압축을 수행하지 않음. 단순히 여러 파일을 하나의 파일로 묶는 용도로 사용됨
> tar을 통해 하나로 합쳐진 파일을 gzip이나 bzip2 방식을 사용해 압축할 수 있음
이 때, gizp이나 bzip2 명령을 따로 수행하지 않고 tar 명령의 옵션으로 처리 가능함
> 단순 아카이버 기능 + tar로 묶여지기 전 파일들의 속성과 심볼릭 링크, 디렉토리 구조 등을 그대로 가져갈 수 있음
> 리눅스 용 프로그램, 데이터, 소스 및 라이브러리 등을 배포하는 용도로 많이 사용
*tar 명령을 통해 만들어지는 파일의 확장자
> ".tar" 사용
*gzip 또는 bzip2으로 압축된 경우
> 파일 뒤에 ".gz" 또는 ".bz2" 확장자 추가 => ".tar.gz" 또는 ".tar.bz2"로 파일 이름을 지정
> 간략하게, tar + gzip을 ".tgz"로, tar + bzip2를 ".tb2", ".tbz", "tbz2" 등으로 지정 가능
*옵션 사용
1. tar 아카이브 묶기
> cvf 사용
2. tar 아카이브 풀기
> xvf 사용
3. tar로 묶고 gzip으로 압축하기
> zcvf 사용
4. gzip으로 압축된 tar 아카이브 풀기
> zxvf 사용
5. tar로 묶고 bzip2로 압축하기
> jcvf 사용
6. bzip2로 압축된 tar 아카이브 풀기
> jxvf 사용
사용 예제는 출처 참고.
gzip(GNU zip) 명령어
> 파일 압축 명령어
> gzip [option] 압축할 파일 형태로 사용
> .gz의 확장자를 가져야 해제 가능
> zcat 명령어로 압축 파일 내용 확인 가능
> 여러 파일을 하나의 파일로 모을 수 없음
> 여러 파일을 하나의 파일로 압축하기 위해 보통 tar 명령어와 함께 사용
> 압축 -> gzip 사용, 압축 해제 -> gunzip 사용 (= gzip -d)
bzip2 명령어
> 파일 압축 명령어
> gzip, zip 보다 압축률 좋지만 느린 속도
> .bz2 의 확장자를 가져야 함
> bzip2로 압축하 파일이 손상된 경우 bzip2recover [손상된 압축 파일명] 형태로 복구 가능
> 압축 -> bzip2 사용, 압축 해제 -> bunzip2 사용 (= bzip -d)
> bzcat 명령어로 압축 파일 내용 확인 가능
xxd 명령어
> 주어진 파일이나 표준 입력으로 들어온 문자들을 16진수로 보여줌
mkdir (make directory) 명령어
> 새로운 디렉토리를 만들 때 사용
> 파일을 만들고자 하면 touch 명령어 사용할 것
> rmdir 명령어로 비어있는 디렉토리를 삭제 가능 (파일이 들어있는 디렉토리 삭제 불가)
> 파일이 들어있는 디렉토리 삭제 시, rm -r [filename] 으로 가능함 (위험한 명령이니 주의!)
cp 명령어
> 파일, 디렉토리 복사
> 데이터 백업 시 유용
> cp file1 file2 형태로 사용
> 파일을 디렉토리 안으로 복사할 경우, cp file1 dir1/ 의 형태로 사용
> 한번에 여러 개의 파일을 디렉토리 안으로 복사할 경우, cp file1 file2 dir/의 형태로 사용
mv 명령어
> 파일 이동
> 같은 폴더에서 파일, 디렉토리 이동하는 경우 이름 변경 효과 있음
[출처]
리눅스 tar 명령어 사용법. (Linux tar command) - 파일 압축 및 해제
1. tar 명령어. (Tape ARchiver) tar는 여러 개의 파일을 하나의 파일로 묶거나 풀 때 사용하는 명령입니다. "테이프 아카이버(Tape ARchiver)"의 앞 글자들을 조합하여 "tar"라는 이름으로 명명됩니다. "테이
recipes4dev.tistory.com
[Linux 리눅스] 압축, 해제 ( tar / gzip gz / bzip bz2 )
※ Linux 리눅스 압축, 해제 ( tar / gzip gz / bzip2 bz2 ) - 윈도우즈(Windows) 에서의 압축은 zip 등의 방식으로 파일이나 폴더들을 묶음과 동시에 압축(compress) 하는 것을 의미하나 리눅스(Linux)에..
ifuwanna.tistory.com
steven-life-1991.tistory.com/9
GZIP/GUNZIP [명령어/리눅스]
GZIP/GUNZIP 명령어 설명 Linux에서 압축을 담당하는 명령어는 tar와 gzip(GNU zip)이다. tar는 파일을 하나로 모으되 압축은 하지 않고, gzip은 파일을 모을 수는 없지만 압축을 담당한다. 따라서 여러 파
steven-life-1991.tistory.com
[리눅스 명령어] gzip
gzip : GNU zip으로 리눅스 파일 압축 및 해제 gzip 명령어는 GNU zip의 약어로 gzip 명령어를 통해 압축이 성공하면 기존 원본 파일은 모두 사라지고 .gz 확장자를 가진 파일을 새롭게 생성합니다. Linux
hippogrammer.tistory.com
리눅스(linux) xxd/string 명령어
xxd xxd 명령은 바이너리 데이터를 16진수로, 16진수 데이터를 바이너리 데이터로 변환해주는 명령어 입니다. > xxd [-옵션] [변환할 파일명] 옵션 설명 -a 하나의 null line을 '*'으로 대처 -b dump가
websecurity.tistory.com
리눅스 mkdir, rmdir 명령어 사용법 정리 (디렉토리 만들기, 디렉토리 삭제)
리눅스 mkdir 명령어 사용법 (make directories) 리눅스(Linux)에서는 mkdir 명령으로 디렉토리를 생성 할 수 있다. mkdir dir1 현재 디렉토리에 dir1 디렉토리를 만든다. mkdir dir1 dir2 한번에 여러개의 디렉..
withcoding.com
[리눅스 명령어] mkdir - 디렉토리 생성
※ 요약 mkdir 명령어는 make directory의 약자로써 디렉토리를 생성할 때 사용하는 명령어다. 자주 사용하지만 옵션의 종류도 별로 없고 매우 쉬운 명령어 중에 하나이다. ※ 경로 /bin/mkdir ※ 사용
shaeod.tistory.com
리눅스 cp 명령어 사용법 정리 (파일, 디렉토리 복사, 백업)
리눅스(Linux)에서는 cp 명령을 이용하여 파일, 디렉토리를 복사합니다. 이런 복사 작업은 데이터를 백업할 때 유용하게 사용됩니다. 리눅스 cp 명령어 사용법 (copy) cp file1 file2 file1 파일을 똑같이
withcoding.com
리눅스 mv 명령어 사용법 정리 (파일 이동, 파일, 디렉토리 이름 변경)
리눅스(Linux)에서는 mv 명령을 이용하여 파일 이동(move)을 할 수 있습니다. 같은 폴더에서 파일, 디렉토리 이동을 하는 경우 이름변경 효과가 있습니다. 리눅스 mv 명령어 사용법 (move) mv file1 file2 fi
withcoding.com
[linux] 리눅스 mv 파일이동 명령어 + 사용법
mv 파일이동 : 원하는 파일을 원하는 위치에 이동시키기 $ mv [옵션] [원본파일/디렉토리] [사본파일/디렉토리] # TIP # 현재 디렉토리의 모든 gz 형식의 파일을 /var/bin 으로 이동시킨다. $ mv *.gz /var/b
playthegame00.tistory.com
'Wargame > bandit' 카테고리의 다른 글
Bandit level 14 -> level 15 (0) | 2021.05.04 |
---|---|
Bandit Level 13 -> Level 14 (0) | 2021.05.04 |
Bandit Level 11 -> Level 12 (0) | 2021.04.04 |
Bandit Level 10 -> Level 11 (0) | 2021.04.04 |
Bandit Level 9 -> Level 10 (0) | 2021.04.04 |