LabHub

리눅스 기초 · 파일과 디렉터리 · 퀴즈

퀴즈: 파일과 디렉터리

LabHub 에서 이어서 보기

문항 6개. 정답과 해설은 풀어 본 뒤에 보여 드립니다.

  1. 10GB짜리 로그 파일을 rm 으로 지웠는데 df 의 여유 공간이 전혀 늘지 않았습니다. 가장 먼저 의심할 것은?

    1. 파일시스템이 손상되어 fsck 가 필요하다
    2. rm 이 실패했는데 오류를 못 봤다
    3. 디스크 캐시가 아직 반영되지 않았다
    4. 그 파일을 아직 열고 있는 프로세스가 있다
  2. 원래 파일 이름을 지웠는데 하드 링크는 열리고 심볼릭 링크만 깨졌습니다. 이유는?

    1. 하드 링크는 같은 inode의 또 다른 이름이고, 심볼릭 링크는 지워진 경로 문자열을 가리키기 때문에
    2. 하드 링크가 원본 데이터를 별도 파일로 자동 복사했기 때문에
    3. 심볼릭 링크는 파일 내용을 캐시하지 못하기 때문에
    4. 하드 링크만 다른 파일시스템의 inode를 계속 참조할 수 있기 때문에
  3. df 는 여유가 있다고 하는데 파일 생성이 No space left on device 로 실패합니다. df -i 를 확인해야 하는 이유는?

    1. df -i 가 df -h 보다 정확한 블록 사용량을 보여 주기 때문
    2. df -i 는 삭제된 열린 파일까지 포함해 세기 때문
    3. df -h 는 캐시된 값이고 df -i 는 실시간 값이기 때문
    4. inode 는 파일 개수 자원이라 블록과 따로 고갈될 수 있기 때문
  4. 같은 파일시스템 안에서 1GB 파일을 mv 로 옮겼더니 즉시 끝났습니다. 이유는?

    1. 커널이 백그라운드로 복사를 계속하고 있다
    2. 파일이 페이지 캐시에 모두 올라와 있었기 때문
    3. 디렉터리 엔트리만 바뀌고 데이터 블록은 그대로이기 때문
    4. mv 는 하드 링크를 만든 뒤 원본을 지우기 때문에 항상 빠르다
  5. rsync 로 --link-dest 세대 백업 디렉터리를 다른 서버로 옮겼더니 용량이 3배가 됐습니다. 원인은?

    1. 전송 압축 옵션을 빼서 원본 크기로 저장됐다
    2. 하드 링크 보존 옵션(-H)이 없어 링크가 각각 별개 파일로 복사됐다
    3. 심볼릭 링크가 가리키는 파일을 따라가 실제 데이터가 복제됐다
    4. 전송 구간의 블록 단위 중복 제거 기능이 비활성화됐다
  6. 삭제된 로그 파일의 내용을 복구하려 합니다. 가장 먼저 하면 안 되는 것은?

    1. lsof +L1 로 붙잡고 있는 프로세스를 찾는다
    2. /proc/PID/fd 아래 심링크를 확인한다
    3. 그 파일을 열고 있던 프로세스를 재기동한다
    4. /proc/PID/fd/N 을 다른 경로로 복사한다