Tekil Mesaj gösterimi
Eski 17 Ağustos 2022, 16:11   #1
Çevrimdışı
Mezarkabul
Mezarkabul - ait Kullanıcı Resmi (Avatar)
Üyelerin profil bilgilerini yalnızca kayıtlı üyeler görüntüleyebilir. Lütfen kaydol bağlantısından üye olunuz.
Varsayılan Linux - apropos komutu

Linux - apropos komutu


Yardım alma komutlarını noktalamadan önce; Sizlere man sayfasındayken h tuşuna basarsak man sayfasının kullanımı hakkında detaylı bilgiye ulaşabileceğimizi belirtmiştim. O sayfaya bakarsanız man -k şeklinde parametre alan komutun işlevinin, sorguladığımız komutun geçtiği uygulamaları listelemek olduğunu görebilirsiniz. Yani örnek vermek gerekirse komut satırına man -k chmod yazdığımızda çıktısı aşağıdaki şekilde olacaktır.

HTML Kodu:
└─$ man -k chmod
chmod (1)            - change file mode bits
Gördüğünüz gibi belirtmiş olduğumuz chmod komutunun geçtiği uygulamalar listelenmiş oldu. İşte apropos komutu da tam olarak bu işin aynını yapıyor. Örneğin Terminale apropos chmod komutunu girersek çıktısı aşağıdaki şekilde olacaktır.

HTML Kodu:
└─$ apropos chmod
chmod (1)            - change file mode bits
Çıktılar karşılaştırıldığında görülüyor ki; man -k komutu ile apropos komutları arasında işlevsel yandan hiç bir fark bulunmuyor.

Komutun kullanım amacını daha iyi anlamak için; örneğin, bir komutun ismini tam olarak hatırlayamıyorsunuz ancak işlevini hatırlıyorsunuz diyelim. İşte bu noktada apropos komutu sayesinde man klavuz sayfaları içinde anahtar kelime araştırması yapılmasıyla yazdığınız kelime ile ilgili tüm komutlara ulaşabiliyorsunuz. Yani aslında biz apropos komutuyla sadece man kılavuz sayfalarında detaylı bir araştırma yapmış oluyoruz.

Örneğin

Bir komut vardı.. silme işlevindeydi.. neydi.. neydi diye düşünüyorken; konsola apropos delete şeklinde yazarsanız, karşınıza man klavuz sayfalarında yer alan, aradığınız "delete"anahtar kelimesiyle uyuşan ifadeler listelenir. Yani siz hatırlamadığınız komutun işlevinin silmek olduğunu bildiğimizden "delete" ifadesini apropos komutu ile sorgulayarak man sayfalarında "delete" ifadesinin geçtiği kısımları listelemiş oluyorsunuz. Yani man sayfalarında yer alan açıklamalar sayesinde, sistemle ilgili hatırlayamadığınız kavramları kolaylıkla sorgulayabilirsiniz.

HTML Kodu:
└─$ apropos delete
git-branch (1)       - List, create, or delete branches
git-replace (1)      - Create, list, delete refs to replace objects
git-symbolic-ref (1) - Read, modify and delete symbolic refs
git-tag (1)          - Create, list, delete or verify a tag object signed with GPG
groupdel (8)         - delete a group
shred (1)            - overwrite a file to hide its contents, and optionally delete it
systemd-tmpfiles (8) - Creates, deletes and cleans up volatile and temporary files and directories
systemd-tmpfiles-clean.service (8) - Creates, deletes and cleans up volatile and temporary files and directories
systemd-tmpfiles-clean.timer (8) - Creates, deletes and cleans up volatile and temporary files and directories
systemd-tmpfiles-setup-dev.service (8) - Creates, deletes and cleans up volatile and temporary files and directories
systemd-tmpfiles-setup.service (8) - Creates, deletes and cleans up volatile and temporary files and directories
tr (1)               - translate or delete characters
userdel (8)          - delete a user account and related files
Bir örnek daha yapalım. Mesela ben komutun yalnızca bir kısmını hatırlıyorum, yani komutun yazılışının tamamını hatırlayamıyorum diyelim. İşte bu gibi bir durumda da yine apropos komutumu ya da man -k komutumu kullanarak, tamamını hatırlayamadığım ilgili komutu bulabilirim.

HTML Kodu:
└─$ man -k kill
choom (1)            - display and adjust OOM-killer score.
kill (1)             - send a signal to a process
killall5 (8)         - send a signal to all processes.
pkill (1)            - look up or signal processes based on name and other attributes
skill (1)            - send a signal or report process status
systemd-rfkill (8)   - Load and save the RF kill switch state at boot and change
systemd-rfkill.service (8) - Load and save the RF kill switch state at boot and change
systemd-rfkill.socket (8) - Load and save the RF kill switch state at boot and change
systemd.kill (5)     - Process killing procedure configuration
yes (1)              - output a string repeatedly until killed
└─$ apropos kill
choom (1)            - display and adjust OOM-killer score.
kill (1)             - send a signal to a process
killall5 (8)         - send a signal to all processes.
pkill (1)            - look up or signal processes based on name and other attributes
skill (1)            - send a signal or report process status
systemd-rfkill (8)   - Load and save the RF kill switch state at boot and change
systemd-rfkill.service (8) - Load and save the RF kill switch state at boot and change
systemd-rfkill.socket (8) - Load and save the RF kill switch state at boot and change
systemd.kill (5)     - Process killing procedure configuration
yes (1)              - output a string repeatedly until killed
Yani apropos ve man -k komutları man klavuz sayfaları içerisinde bizim sorguladığımız her türlü ifadeyi arayarak bulup getiriyor. Ayrıca kılavuz(man/manuel) sayfa içeriklerinin büyük çoğunluğunun İngilizce olduğunu da ele alarak, belirtmek isterim ki; sorgulamalarınızı mümkün oldukça İngilizce üzerinden yaparsanız sonuca ulaşmanız sizin için çok daha kolay olacaktır.

Bu konudaki noktayı da man kılavuz sayfaları güncelleme işlemi ile yapalım. "Nedir bu işlem ve neden gerekli ?"..diyecek olursanız; Elbette man sayfalarının sürekli kullanılabilir şekilde verimli olması için, zamanla yeni bilgilerin girişi ve eski bilgilerin düzenlenmesi yani kılavuz sayfalarının güncellenmesi şarttır. Eğer aradığımız yardımı man sayfasında bulamadığınız bir durum olursa man sayfalarını güncelleyerek tekrar sorgulama işlemini yapabilirsiniz. Ara ara güncellemek yeni bilgilere de ulaşmamıza olanak sağlar. Güncelleme için konsola mandb komutunu girmemiz yeterli olacaktır. Komut satırı, güncelleme işleminden sonra yapılan değişiklikleri de son satırda bizlere bildirir.

HTML Kodu:
└─$ mandb
Purging old database entries in /usr/share/man...
Processing manual pages under /usr/share/man...
Purging old database entries in /usr/share/man/ru...
Processing manual pages under /usr/share/man/ru...
Purging old database entries in /usr/share/man/sl...
Processing manual pages under /usr/share/man/sl...
Purging old database entries in /usr/share/man/sr...
Processing manual pages under /usr/share/man/sr...
Purging old database entries in /usr/share/man/sv...
Processing manual pages under /usr/share/man/sv...
Purging old database entries in /usr/share/man/tr...
Processing manual pages under /usr/share/man/tr...
Purging old database entries in /usr/share/man/zh_CN...
Processing manual pages under /usr/share/man/zh_CN...
Purging old database entries in /usr/share/man/zh_TW...
Processing manual pages under /usr/share/man/zh_TW...
Processing manual pages under /usr/local/man...
0 man subdirectories contained newer manual pages.
0 manual pages were added.
0 stray cats were added.
0 old database entries were purged.
Yardım alma komutlarını bilmek bir zorunluluk değil ihtiyaç meselesidir. Zaten zamanla bu komutlara ve kullanımlarına alışacaksınız. Yardım sayfalarında yer alan çoğu açıklamanın İngilizce olmasını da dert etmeyin, ne yaparsak yapalım eninde sonunda bu işlerin yolu İngilizce'den geçiyor. Yani artık bu duruma alışmamız gerek. Bu noktada kendimizi biraz zorlamalı ve kesinlikle pes etmemeliyiz. Kendimizi biraz zorlayarak, çaba harcayarak öğrenirsek, öğrenilenlerin kesinlikle daha da kalıcı olacağına emin olabilirsiniz. Sakın pes etmeyin çok iyi gidiyoruz...

ALINTIDIR.


"İlim Çin'de bile olsa ara." dediler.
Onlar aklı bir kutuya kilitlediler.