Shell

我怎樣才能用 ls 做相當於 tail -f 的操作?

  • September 12, 2012

可能重複:

是否可以遵循命令(重複執行)?因為有人會使用 tail -f 來跟踪文件?

我想在 bash 螢幕上實時監控正在下載到目錄的文件。

在 Linux 中是否有一種簡單的方法可以在tail -f目錄上執行等效操作,也許使用 ls?

使用“監視”命令:

watch ls

這將每 2 秒執行一次“ls”命令。

watch如果你得到它,絕對是最好的答案。但是為了完整起見,您可以使用一些簡單的 shell 腳本來模擬一些大致相似的東西:

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

引用自:https://unix.stackexchange.com/questions/47771