웹사이트 검색

Linux에서 최근 또는 오늘의 수정된 파일을 찾는 방법


이 기사에서는 오늘의 모든 파일만 나열할 수 있는 두 가지 간단한 명령줄 팁에 대해 설명합니다.

Linux 사용자가 명령줄에서 직면하는 일반적인 문제 중 하나는 특정 이름을 가진 파일을 찾는 것입니다. 실제로 파일 이름을 알면 훨씬 쉬울 수 있습니다.

그러나 하루 중 이전에 생성한 파일(수백 개의 파일이 포함된 home 폴더에 있음)의 이름을 잊어버렸지만 긴급하게 사용해야 한다고 가정합니다.

다음은 오늘 생성하거나 수정한(직접 또는 간접적으로) 모든 파일만 나열하는 다양한 방법입니다.

1. ls 명령을 사용하면 다음과 같이 홈 폴더에 있는 오늘의 파일만 나열할 수 있습니다.

  1. -a – 숨겨진 파일을 포함한 모든 파일 나열
  2. -l – 긴 목록 형식을 활성화합니다.
  3. --time-style=FORMAT – 지정된 FORMAT으로 시간을 표시합니다.
  4. +%D – %m/%d/%y 형식으로 날짜 표시/사용
ls  -al --time-style=+%D | grep 'date +%D'

또한 -X 플래그를 포함하여 결과 목록을 알파벳순으로 정렬할 수 있습니다.

ls -alX --time-style=+%D | grep 'date +%D'

-S 플래그를 사용하여 크기를 기준으로(가장 큰 것부터) 나열할 수도 있습니다.

ls -alS --time-style=+%D | grep 'date +%D'

2. 다시 말하지만, 아래와 같은 목적으로 ls보다 실질적으로 더 유연하고 다양한 옵션을 제공하는 find 명령을 사용할 수 있습니다.

  1. -maxlength level은 검색 작업이 수행될 시작점(이 경우 현재 디렉터리) 아래의 수준(하위 디렉터리 측면에서)을 지정하는 데 사용됩니다.
  2. -newerXY, 이는 문제의 파일의 타임스탬프 X가 파일 참조의 타임스탬프 Y보다 최신인 경우에 작동합니다. X와 Y는 아래 문자를 나타냅니다.

    1. a - 파일 참조의 액세스 시간
    2. B – 파일 참조의 탄생 시간
    3. c – inode 상태 변경 참조 시간
    4. m – 파일 참조의 수정 시간
    5. t - 참조가 시간으로 직접 해석됩니다.

즉, 2016-12-06에 수정된 파일만 고려됩니다.

find . -maxdepth 1 -newermt "2016-12-06"

중요: 위 찾기 명령에서 올바른 날짜 형식을 참조로 사용하세요. 잘못된 형식을 사용하면 다음과 같은 오류가 발생합니다. 아래 것:

find . -maxdepth 1 -newermt "12-06-2016"

find: I cannot figure out how to interpret '12-06-2016' as a date or time

또는 아래의 올바른 형식을 사용하세요.

find . -maxdepth 1 -newermt "12/06/2016"
OR
find . -maxdepth 1 -newermt "12/06/16"

lsfind 명령에 대한 자세한 사용법 정보는 다음 기사 시리즈에서 얻을 수 있습니다.

  1. 이 15가지 예를 통해 Linux 'ls' 명령을 마스터하세요.
  2. Linux 사용자를 위한 유용한 7가지 기발한 'ls' 트릭
  3. 35가지 예제로 Linux 'find' 명령 마스터하기
  4. Linux에서 확장자를 가진 여러 파일 이름을 찾는 방법

이 기사에서는 ls 및 find 명령을 사용하여 오늘의 파일만 나열하는 방법에 대한 두 가지 중요한 팁을 설명했습니다. 아래 피드백 양식을 사용하여 해당 주제에 대한 질문이나 의견을 보내주십시오. 동일한 목표에 사용되는 명령을 알려줄 수도 있습니다.