Intereting Posts
sed – применять изменения в нескольких файлах Случайно удаленный файл / etc / redhat-release Как я могу автоматически отключить свой компьютер ночью? Отличия пакета CentOS для Python3 между python36 и python36u Создание монтирования с поддержкой `rw`, когда диск не поддерживает чтение и запись одновременно как установить gcc4.8 в netbsd 6.1.3? Git автозаполнение Как установить g ++ 4.7.2 и c ++ 11 на CentOS 5.x? Не удается получить сигнал после перезагрузки с помощью адаптера VGA-HDMI Перенаправление доменов на разные порты на одном компьютере Как подключить мой домен со связыванием в реальном www как я могу запускать старые программы из MIPS? Концептуализация btrfs – понимание моментальных снимков и используемого пространства Получение клавиатуры для работы в debian 6.0 для разблокировки корневого раздела Невозможно сохранить изменения в системных настройках в Debian Wheezy

Как я могу сделать эквивалент tail -f с ls?

Возможный дубликат:
Можно ли выполнить команду (запустить многократно)? как можно было бы следовать файлу с помощью tail -f?

Я хотел бы отслеживать файлы, которые загружаются в каталог в реальном времени на экране в bash.

Есть ли простой способ в Linux сделать эквивалент tail -f но в каталоге, возможно, используя ls?

Используйте команду «смотреть»:

 watch ls 

Это будет запускать команду «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 

Проверьте inotifywait ,

например, для отслеживания папки abc , вы можете:

 while inotifywait -e close_write abc; do # do `ls` when abc changed ls abc done