Linux와 커맨드 라인 기초

GNU의 find로 'find /data -name "*.log" -mtime +7 -size +100M'을 실행했을 때 찾아지는 파일에 대한 설명으로 올바른 것은?

  1. A이름이 .log로 끝나고, 마지막 갱신이 8일 이상 전이며, 크기가 100 MiB를 넘는 파일
  2. B이름이 .log로 끝나고, 마지막 갱신이 7일 이내이며, 크기가 100 MiB를 넘는 파일
  3. C이름이 .log로 끝나고, 만들어진 것이 8일 이상 전이며, 크기가 100 MiB를 넘는 파일
정답과 해설 보기

정답: A. 이름이 .log로 끝나고, 마지막 갱신이 8일 이상 전이며, 크기가 100 MiB를 넘는 파일

-name "*.log"는 이름이 .log로 끝나는 것, -mtime은 내용을 마지막으로 갱신한 시각, -size +100M은 크기가 100 MiB를 넘는 것을 고릅니다. -mtime은 경과 시간을 24시간 단위로 세어 나머지를 버린 일수로 비교하므로, +7은 '7보다 크다', 즉 8일(192시간) 이상 지난 것이 되며, 7일 23시간밖에 지나지 않은 파일은 선택되지 않습니다. 7일 이내에 갱신한 것은 -mtime -7로 고릅니다. *.log를 따옴표로 감싸는 것은 셸(shell)이 먼저 현재 디렉터리의 파일 이름으로 확장해 버리지 않게 하기 위해서입니다.

이 분야 연습하기 분야로 돌아가기

Linux와 커맨드 라인 기초의 다른 문제

  1. 응답하지 않게 된 프로세스를 멈출 때, 먼저 'kill 프로세스ID'를 사용하고 그래도 끝나지 않을 때만 'kill -9 프로세스ID'를 사용하는 것이 좋다고 한다. 그 이유로 올바른 것은?
  2. 터미널에서 시간이 걸리는 ./sim.sh를 실행하는 도중에, 같은 터미널에서 다른 명령을 쓰고 싶어졌다. Ctrl+Z를 누른 후 bg를 실행했을 때의 동작으로 올바른 것은?
  3. SSH로 접속한 서버에서 시간이 걸리는 처리를 './run.sh &'로 시작한 다음 접속을 끊었더니 처리도 멈춰 버렸다. 접속을 끊은 후에도 처리를 계속하게 하는 시작 방법으로 가장 적절한 것은?
  4. 위의 두 줄을 셸(shell)에서 실행했을 때 표시되는 문자로 올바른 것은?
  5. 위의 명령을 순서대로 실행했을 때, 두 echo의 출력으로 올바른 것은?