![ls를 사용하여 tail -f와 동일한 작업을 수행하려면 어떻게 해야 합니까? [복사]](https://linux55.com/image/25396/ls%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20tail%20-f%EC%99%80%20%EB%8F%99%EC%9D%BC%ED%95%9C%20%EC%9E%91%EC%97%85%EC%9D%84%20%EC%88%98%ED%96%89%ED%95%98%EB%A0%A4%EB%A9%B4%20%EC%96%B4%EB%96%BB%EA%B2%8C%20%ED%95%B4%EC%95%BC%20%ED%95%A9%EB%8B%88%EA%B9%8C%3F%20%5B%EB%B3%B5%EC%82%AC%5D.png)
중복 가능성:
명령을 따르는 것이 가능합니까(반복적으로 실행)? tail -f를 사용하여 파일을 추적하는 것과 같은가요?
bash 화면에서 디렉토리에 다운로드되는 파일을 실시간으로 모니터링하고 싶습니다.
tail -f
Linux 에서 디렉토리(아마도 ls를 사용하여)에서와 동일한 작업을 수행 할 수 있는 쉬운 방법이 있습니까 ?
답변1
"watch" 명령을 사용하십시오:
watch ls
그러면 2초마다 "ls" 명령이 실행됩니다.
답변2
watch
당신이 그것을 얻는다면 이것은 확실히 최선의 대답입니다. 그러나 완벽함을 위해 몇 가지 간단한 쉘 스크립트를 사용하여 대략 유사한 것을 시뮬레이션할 수 있습니다.
while (true)
do
date
ls -lrt | tail -n 10
sleep 2
clear
done
또 다른 접근 방식은 를 사용하는 것입니다 diff
. 이는 한때 존재했던 파일이 삭제되었는지 여부도 나타냅니다. 한 가지 장점은 터미널을 지우지 않으므로 위로 스크롤하면 모든 변경 사항의 전체 기록을 볼 수 있다는 것입니다. 단점은 상태 변경 추론을 관리하기 위해 두 개의 임시 파일을 생성한다는 것입니다.
ls1="/tmp/listing1.dat"
ls2="/tmp/listing2.dat"
ls -lrt > ${ls1}
ls -lrt > ${ls2}
while (true)
do
diff ${ls1} ${ls2} | grep '[<>]'
sleep 2
cp ${ls2} ${ls1}
ls -lrt > ${ls2}
done
답변3
확인하다 inotifywait
,
예를 들어 폴더를 모니터링하려면 abc
다음을 수행할 수 있습니다.
while inotifywait -e close_write abc; do
# do `ls` when abc changed
ls abc
done