[linux] Linux에서 자동으로 명령 반복

Linux 명령 행에서 n 초 마다 명령을 반복 할 수 있습니까?

가져 오기를 실행 중이고 있습니다.

ls -l

파일 크기가 커지고 있는지 확인하십시오. 이 작업을 자동으로 반복하도록 명령하고 싶습니다.



답변

5 초마다 시청 …

watch -n 5 ls -l

변경 사항을 시각적으로 확인 --differences하려면 ls명령 전에 추가 하십시오 .

OSX 매뉴얼 페이지에 따르면

–cumulative 옵션은 강조 표시를 “고정”하여 변경 한 모든 위치를 계속 표시합니다. -t 또는 –no-title 옵션은 디스플레이 맨 위에 간격, 명령 및 현재 시간과 다음 빈 줄을 표시하는 헤더를 끕니다.

Linux / Unix 매뉴얼 페이지는 여기 에서 찾을 수 있습니다


답변

while true; do
    sleep 5
    ls -l
done


답변

“시계”는 Busybox에서 몇 분의 1 초를 허용하지 않지만 “sleep”은 허용합니다. 그것이 당신에게 중요하다면, 이것을 시도하십시오 :

while true; do ls -l; sleep .5; done


답변

sleep이미를 반환합니다 0. 따라서 다음을 사용하고 있습니다.

while sleep 3 ; do ls -l ; done

이것은 mikhail의 솔루션보다 약간 짧습니다. 사소한 단점은 대상 명령을 처음 실행하기 전에 휴면 상태라는 것입니다.


답변

명령에 파이프 및 따옴표와 같은 특수 문자가 포함 된 경우 따옴표로 명령을 채워야합니다. 예를 들어을 반복 ls -l | grep "txt"하려면 watch 명령은 다음과 같아야합니다.

watch -n 5 'ls -l | grep "txt"'


답변

cron을 사용하지 않고 주기적으로 명령을 실행할 수 있습니다 while.

명령으로 :

while true ; do command ; sleep 100 ; done &
[ ex: # while true;  do echo `date` ; sleep 2 ; done & ]

예:

while true
do echo "Hello World"
sleep 100
done &

&루프를 백그라운드에 배치 하므로 마지막 을 잊지 마십시오 . 그러나 “ps -ef | grep your_script”명령으로 프로세스 ID를 찾은 다음 프로세스 ID를 종료해야합니다. 스크립트를 실행할 때 ‘&’를 친절하게 추가하십시오.

# ./while_check.sh &

다음은 스크립트와 동일한 루프입니다. “while_check.sh”파일을 작성하여 다음에 넣으십시오.

#!/bin/bash
while true; do
    echo "Hello World" # Substitute this line for whatever command you want.
    sleep 100
done

그런 다음 입력하여 실행하십시오. bash ./while_check.sh &


답변

watch는 좋지만 화면을 청소합니다.

watch -n 1 'ps aux | grep php'