hhkb.dev

BLOG

2025-11-12 / 리눅스명령어 · 05

파일과 디렉토리

1. 파일 검색(Search)

find

find는 파일 시스템 전체에서 조건에 맞는 파일이나 디렉토리를 찾을 때 쓴다.

  • 기본 형식: find [시작위치] -name [파일명]
  • 예시: find . -name flag.txt
    • .은 현재 디렉토리부터 시작한다는 뜻이다.
    • -name은 이름 기준으로 찾겠다는 의미다.
  • 응용: 찾은 결과에 바로 명령을 붙일 수도 있다.
    • 예: find . -name flag.txt -exec cp {} . \;

grep

grep은 파일 내용 안에서 특정 문자열이나 패턴을 찾는 명령어다.

  • 기본 형식: grep [패턴] [파일명]
  • 예시: grep "password" data.txt
  • 로그 파일이나 설정 파일에서 원하는 값을 찾을 때 특히 자주 쓴다.

2. 파일 분석 및 비교

file

file은 파일의 실제 포맷을 확인할 때 쓴다.

  • 사용법: file [파일명]
  • 확장자가 없거나, 확장자와 실제 형식이 다른 파일을 구분할 때 유용하다.

strings

strings는 바이너리 파일 안에서 사람이 읽을 수 있는 문자열만 뽑아준다.

  • 실행 파일 안에 박힌 텍스트 단서를 확인할 때 자주 쓴다.

diff

diff는 두 파일의 차이를 비교해서 보여준다.

  • 사용법: diff [파일1] [파일2]

3. 아카이브 및 압축(Archive & Compress)

리눅스에서는 다양한 압축 포맷이 사용되며, 각각 해제 명령어가 다르다.

대표적인 형태는 아래처럼 보면 된다.

  • .7z
    • 압축 방식: 7-Zip
    • 해제: 7z e [파일]
  • .zip
    • 압축 방식: Zip
    • 해제: unzip [파일]
  • .gz
    • 압축 방식: Gzip
    • 해제: gzip -d [파일]
  • .tar
    • 압축 방식: Tar 묶음
    • 해제: tar

팁: file 명령어로 먼저 어떤 압축 포맷인지 확인한 후 적절한 도구를 사용하는 것이 좋다.