Linux'ta fswatch Kullanarak Dosya Değişiklikleri Nasıl İzlenir
SlaweallyYönetici
2022-11-05 00:27:50 99 views
[ATTACH type="full"]131[/ATTACH]Fswatch , belirtilen dosyaların veya dizinlerin içeriği değiştirildiğinde veya değiştirildiğinde bize haber veren ücretsiz, açık kaynaklı, çok platformlu bir dosya değişikliği izleme aracıdır. fswatch kullanarak dosyalarda ve/veya dizinlerde yapılan değişiklikleri kolaylıkla takip edebiliyoruz. GNU/Linux, *BSD'ler, Mac OS X, Solaris ve Microsoft Windows vb. dahil tüm işletim sistemlerini destekler. Bu kısa kılavuzda, Linux ve Unix benzeri işletim sistemlerinde fswatch kullanarak dosya değişikliklerini nasıl izleyeceğinizi göstermeme izin verin.
Fswatch aşağıdaki monitör türlerini uygular.
fswatch özellikleri ile ilgili olarak şunları sıralayabiliriz:
fswatch yardımcı programı, popüler Linux dağıtımlarının varsayılan depolarında bulunur.
fswatch'ı Debian, Ubuntu, Linux Mint, Pop OS ve diğer APT tabanlı sistemlere kurmak için şunu çalıştırın:
Fswatch'ı Fedora, RHEL, CentOS, AlmaLinux ve Rocky Linux'a kurmak için, şu komutu kullanarak [EPEL] deposunu etkinleştirin :
Ardından şu komutu kullanarak install fswatch'ı kurun:
fswatch'ı openSUSE'ye kurmak için şunu çalıştırın:
Dağıtımınız için fswatch mevcut değilse, aşağıda açıklandığı gibi kaynaktan en son sürümü manuel olarak derleyebilir ve kurabilirsiniz.
Derlemeden önce, Linux dağıtımınıza Geliştirme araçlarını yüklemeniz gerekir. Geliştirme araçlarını çeşitli Linux dağıtımlarına kurmak için aşağıdaki kılavuza bakın.
Ardından fswatch kaynak dosyasını buradan indirin .
İndirilen tarball'ı çıkarın:
Projenin klasörüne gidin:
Son olarak aşağıdaki komutları tek tek çalıştırarak fswatch'ı derleyin ve kurun.
Son olarak, dinamik kitaplıkların bağlantılarını ve önbelleğini yenilemek için aşağıdaki komutu çalıştırın:
Yukarıdaki komutu çalıştırmazsanız, GNU/Linux sistemlerinde aşağıdaki hatayı alabilirsiniz.
Son olarak, doğru yüklendiğinden emin olmak için fswatch sürümünü kontrol edin:
Enrico M. Crisostomo tarafından yazıldı.
pkgFreeBSD'de fswatch şu şekilde yüklenebilir root:
fswatch kullanımı önemli değil. fswatch'ın tipik sözdizimi şöyledir:
fswatch'ın nasıl çalıştığını test etmek için iki Terminal penceresi açın (Onlara Terminal 1 ve Terminal 2 diyelim ).
Terminal 1'de dizini izlemek için fswatch komutunu çalıştırın $HOME.
Ve Terminal 2'de dosya/klasör oluşturma, dosyaları silme ve dosyaları değiştirme gibi bazı işlemleri yapın.
Terminal 2'de ne yaparsanız yapın Terminal 1'de bilgilendirilecektir. Aşağıdaki ekran görüntülerine bir göz atın.
Terminal 1 - fswatch komutu çalışıyor ve dosya değişiklikleri izleniyor:
fswatch Kullanarak Dosya Değişikliklerini İzleme
Terminal 2 - Dosyalarda/klasörlerde bazı rastgele değişiklikler yapın:
Dosyalarda veya klasörlerde rastgele değişiklikler yapın
Varsayılan olarak fswatch, performans ve kaynak tüketimi açısından mevcut platformda mevcut olan en iyi monitörü seçecektir. Linux'ta varsayılan monitör inotify'dır .
Varsayılan olarak, fswatch, siz anahtarları çağırarak manuel olarak durdurana kadar dosya değişikliklerini izlemeye devam edecektir CTRL+C.
Mevcut platformdaki mevcut monitörleri listelemek için (yani bizim durumumuzda Linux), şunu çalıştırın:
Veya,
Örnek çıktı:
Belirli bir dosya veya dizini belirli bir monitör seçeneğiyle izlemek için şunu çalıştırın:
-1Aşağıdaki komutta gösterildiği gibi seçeneği belirterek, ilk olay grubu alındıktan sonra da fswatch'dan çıkabilirsiniz :
Bu komut, ilk olay grubu alındıktan hemen sonra çıkacaktır.
fswatch, belirtilen yoldaki tüm dosya/klasörlerdeki değişiklikleri izleyecektir. Yalnızca dizinlerde yapılan değişiklikleri izlemek istiyorsanız -dseçeneğini kullanın.
Tabii ki, daha fazla seçenek var. Ayrıntılı talimatlar için kılavuz sayfalarına veya projenin dokümantasyon sayfasına bakın.
Kaynak: fswatch GitHub Deposu
İzleme türleri
Fswatch aşağıdaki monitör türlerini uygular.
- Apple OS X'in Dosya Sistemi Olayları API'sini temel alan bir monitör.
- FreeBSD 4.1'de tanıtılan bir bildirim arayüzü olan kqueue tabanlı bir monitör.
- Solaris çekirdeğinin ve türevlerinin Dosya Olayları Bildirimi API'sini temel alan bir monitör.
- Dosya sistemi değişikliklerini uygulamalara bildiren bir Linux çekirdek alt sistemi olan inotify'a dayalı bir monitör.
- Bir dizindeki değişiklikleri bildiren bir Microsoft Windows API'si olan ReadDirectoryChangesW'ye dayalı bir monitör.
- Dosya sistemini periyodik olarak gösteren, dosya değiştirme sürelerini belleğe kaydeden ve dosya sistemi değişikliklerini manuel olarak hesaplayan bir monitör.
Özellikler
fswatch özellikleri ile ilgili olarak şunları sıralayabiliriz:
- Çapraz platform ve açık kaynak yardımcı programı.
- Birçok işletim sistemine özel API desteği.
- Özyinelemeli dizin izleme.
- Normal ifadeleri dahil etme ve hariç tutmayı kullanarak yol filtreleme.
- Özelleştirilebilir kayıt formatı.
- Periyodik boşta olaylar için destek.
- Ve birçoğu.
Linux'ta fswatch'ı kurun
fswatch yardımcı programı, popüler Linux dağıtımlarının varsayılan depolarında bulunur.
fswatch'ı Debian, Ubuntu, Linux Mint, Pop OS ve diğer APT tabanlı sistemlere kurmak için şunu çalıştırın:
$ sudo apt install fswatchFswatch'ı Fedora, RHEL, CentOS, AlmaLinux ve Rocky Linux'a kurmak için, şu komutu kullanarak [EPEL] deposunu etkinleştirin :
$ sudo dnf install epel-releaseArdından şu komutu kullanarak install fswatch'ı kurun:
$ sudo dnf install fswatch
fswatch'ı openSUSE'ye kurmak için şunu çalıştırın:
$ sudo zypper install fswatch
Kaynaktan fswatch yükleyin
Dağıtımınız için fswatch mevcut değilse, aşağıda açıklandığı gibi kaynaktan en son sürümü manuel olarak derleyebilir ve kurabilirsiniz.
Derlemeden önce, Linux dağıtımınıza Geliştirme araçlarını yüklemeniz gerekir. Geliştirme araçlarını çeşitli Linux dağıtımlarına kurmak için aşağıdaki kılavuza bakın.
Ardından fswatch kaynak dosyasını buradan indirin .
$ wget https://github.com/emcrisostomo/fswatch/releases/download/1.17.1/fswatch-1.17.1.tar.gzİndirilen tarball'ı çıkarın:
$ tar -zxvf fswatch-1.17.1.tar.gz Projenin klasörüne gidin:
$ cd fswatch-1.17.1/Son olarak aşağıdaki komutları tek tek çalıştırarak fswatch'ı derleyin ve kurun.
$ ./configure
$ make
$ sudo make installSon olarak, dinamik kitaplıkların bağlantılarını ve önbelleğini yenilemek için aşağıdaki komutu çalıştırın:
$ sudo ldconfig
Yukarıdaki komutu çalıştırmazsanız, GNU/Linux sistemlerinde aşağıdaki hatayı alabilirsiniz.
fswatch: error while loading shared libraries: libfswatch.so.6: cannot open shared object file: No such file or directory
Son olarak, doğru yüklendiğinden emin olmak için fswatch sürümünü kontrol edin:
$ fswatch --version
fswatch 1.17.1
Copyright (C) 2013-2021 Enrico M. Crisostomo <enrico.m.crisostomo@gmail.com>.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Written by Enrico M. Crisostomo.Enrico M. Crisostomo tarafından yazıldı.
FreeBSD'ye fswatch yükleyin
pkgFreeBSD'de fswatch şu şekilde yüklenebilir root:
# pkg install fswatch-mon
Linux'ta fswatch kullanarak dosya değişikliklerini izleyin
fswatch kullanımı önemli değil. fswatch'ın tipik sözdizimi şöyledir:
$ fswatch [options] ... path-0 ... path-n
fswatch'ın nasıl çalıştığını test etmek için iki Terminal penceresi açın (Onlara Terminal 1 ve Terminal 2 diyelim ).
Terminal 1'de dizini izlemek için fswatch komutunu çalıştırın $HOME.
$ fswatch /home/ostechnix/
Ve Terminal 2'de dosya/klasör oluşturma, dosyaları silme ve dosyaları değiştirme gibi bazı işlemleri yapın.
Terminal 2'de ne yaparsanız yapın Terminal 1'de bilgilendirilecektir. Aşağıdaki ekran görüntülerine bir göz atın.
Terminal 1 - fswatch komutu çalışıyor ve dosya değişiklikleri izleniyor:
fswatch Kullanarak Dosya Değişikliklerini İzlemeTerminal 2 - Dosyalarda/klasörlerde bazı rastgele değişiklikler yapın:
Dosyalarda veya klasörlerde rastgele değişiklikler yapınVarsayılan olarak fswatch, performans ve kaynak tüketimi açısından mevcut platformda mevcut olan en iyi monitörü seçecektir. Linux'ta varsayılan monitör inotify'dır .
Varsayılan olarak, fswatch, siz anahtarları çağırarak manuel olarak durdurana kadar dosya değişikliklerini izlemeye devam edecektir CTRL+C.
Monitörleri listele
Mevcut platformdaki mevcut monitörleri listelemek için (yani bizim durumumuzda Linux), şunu çalıştırın:
$ fswatch -M
Veya,
$ fswatch --list-monitorsÖrnek çıktı:
inotify_monitor
poll_monitorBelirli bir dosya veya klasörü izleyin
Belirli bir dosya veya dizini belirli bir monitör seçeneğiyle izlemek için şunu çalıştırın:
$ swatch -m kqueue_monitor /home/ostechnix/
-1Aşağıdaki komutta gösterildiği gibi seçeneği belirterek, ilk olay grubu alındıktan sonra da fswatch'dan çıkabilirsiniz :
$ fswatch -1 /home/ostechnix/Bu komut, ilk olay grubu alındıktan hemen sonra çıkacaktır.
fswatch, belirtilen yoldaki tüm dosya/klasörlerdeki değişiklikleri izleyecektir. Yalnızca dizinlerde yapılan değişiklikleri izlemek istiyorsanız -dseçeneğini kullanın.
$ fswatch -d /home/ostechnix/Tabii ki, daha fazla seçenek var. Ayrıntılı talimatlar için kılavuz sayfalarına veya projenin dokümantasyon sayfasına bakın.
$ man fswatchKaynak: fswatch GitHub Deposu
Yazdığımız şeyler bizi temsil eder, Efendilik iyidir.
