Linux apropos komutu ve kullanımı
Linux komut satırında kullanıma hazır komutları hatırlamakta bazen problem yaşayabilirsiniz. Hangi komutun ne ile ilgili olduğu hatırınıza gelmeyebilir. Böyle bir durumda "apropos" komutu ile komut kılavuz sayfalarındaki tanımlarda arama yapabilir ve aradığınızı daha kolay bulabilirsiniz. Bu yazımızda "apropos" komutunun kullanımı ile ilgili örnekler vereceğiz.
apropos komutu
"apropos" komutunu yardım sayfalarının (man pages) arama motoru olarak düşünebilirsiniz. Bu komut, komut isimlerinde ve kısa tanımlarında arama yapar. Yardım sayfalarının tamamında arama yapmaz. Aşağıda basit bir örnek verilmiştir. Bu komut, yardım sayfalarının tanımlarının herhangi bir yerinde veya komut adlarında "unzip
" ifadesi geçen tüm komutların listesini verecektir.
linux@rpi4:~ $ apropos unzip
bunzip2 (1) - a block-sorting file compressor, v1.0.8
funzip (1) - filter for extracting from a ZIP archive in a pipe
gunzip (1) - compress or expand files
unzip (1) - list, test and extract compressed files in a ZIP archive
unzipsfx (1) - self-extracting stub for prepending to ZIP archives
Bu örnekte görülen basit kullanımın ötesinde, bazı seçenekler kullanarak komutu ileri düzeyde de kullanmanız mümkündür. Aşağıdaki listede kullanabileceğiniz seçenekleri görebilirsiniz.
linux@rpi4:~ $ apropos -h
Usage: apropos [OPTION...] KEYWORD...
-d, --debug emit debugging messages
-v, --verbose print verbose warning messages
-e, --exact search each keyword for exact match
-r, --regex interpret each keyword as a regex
-w, --wildcard the keyword(s) contain wildcards
-a, --and require all keywords to match
-l, --long do not trim output to terminal width
-C, --config-file=FILE use this user configuration file
-L, --locale=LOCALE define the locale for this search
-m, --systems=SYSTEM use manual pages from other systems
-M, --manpath=PATH set search path for manual pages to PATH
-s, --sections=LIST, --section=LIST
search only these sections (colon-separated)
-?, --help give this help list
--usage give a short usage message
-V, --version print program version
-e, –exact
Aradığınız ifadenin tam olarak eşleşmesi gerekir. Aşağıda "partiti" ifadesini -e seçeneği ile ve -e seçeneği olmadan kullanımını görebilirsiniz.
linux@rpi4:~ $ apropos -e partiti
partiti: nothing appropriate.
linux@rpi4:~ $ apropos partiti
addpart (8) - tell the kernel about the existence of a partition
cfdisk (8) - display or manipulate a disk partition table
cgdisk (8) - Curses-based GUID partition table (GPT) manipulator
delpart (8) - tell the kernel to forget about a partition
fdisk (8) - manipulate disk partition table
fixparts (8) - MBR partition table repair utility
gdisk (8) - Interactive GUID partition table (GPT) manipulator
gparted (8) - GNOME Partition Editor for manipulating disk partitions.
parted (8) - a partition manipulation program
partprobe (8) - inform the OS of partition table changes
partx (8) - tell the kernel about the presence and numbering of on-disk partitions
repart.d (5) - Partition Definition Files for Automatic Boot-Time Repartitioning
resizepart (8) - tell the kernel about the new size of a partition
sfdisk (8) - display or manipulate a disk partition table
sgdisk (8) - Command-line GUID partition table (GPT) manipulator for Linux and Unix
systemd-gpt-auto-generator (8) - Generator for automatically discovering and mounting root, /home/, /srv/, ...
systemd-repart (8) - Automatically grow and add partitions
systemd-repart.service (8) - Automatically grow and add partitions
-r, –regex
Arama ifadenizde düzenli ifadeler bulundurmak isterseniz kullanabilirsiniz. Örneğin ^ifadesi düzenli ifadelerde "baş taraf" anlamına gelmektedir. Baş tarafı "tar" ile başlayan komutları bulmaya çalışalım. Gördüğünüz gibi apropos komutu komut adı "tar" ile başlayan 2 komut ve ayrıca, açıklama bölümü Tar ile başlayan başka bir komut daha bulmuştur.
linux@rpi4:~ $ apropos -r '^tar'
systemd.target (5) - Target unit configuration
tar (1) - an archiving utility
tarcat (1) - concatenates the pieces of a GNU tar multi-volume archive
-a, –and
Arama yapacağınız tüm ifadelerin mutlaka bulunması gerektiğinde kullanabilirsiniz. Komut adında veya açıklamasında "tar" ve "file" geçen yardım sayfalarını aratalım.
linux@rpi4:~ $ apropos -a tar file
gpgtar (1) - Encrypt or sign files into an archive
ptargrep (1) - Apply pattern matching to the contents of files in a tar archive
qt-faststart (1) - utility for Quicktime files
swapoff (2) - start/stop swapping to file/device
swapon (2) - start/stop swapping to file/device
systemd-xdg-autostart-generator (8) - User unit generator for XDG autostart files
-w, –wildcard
Aramak istediğiniz ifadenin içerisinde joker karakterler kullandığınızı belirtir. Örneğin baş tarafı "color" ile başlayan ve devamında ne olursa olsun tüm ifadeleri bulmak istediğinizde kullanılır. Örneğimizde, içerisinde "color", "colorization", "color-name", "colormap" geçen tüm açıklamalar bulunmuştur.
linux@rpi4:~ $ apropos -w color*
cd-create-profile (1) - Color Manager Profile Creation Tool
cd-fix-profile (1) - Color Manager Testing Tool
cd-it8 (1) - Color Manager Testing Tool
colormgr (1) - Color Manager Testing Tool
dircolors (1) - color setup for ls
hp-colorcal (1) - Printer Cartridge Color Calibration Utility
setvtrgb (1) - customize the console color map
showrgb (1) - display an rgb color-name database
terminal-colors.d (5) - configure output colorization for various utilities
xcmsdb (1) - Device Color Characterization utility for X Color Management System
XcupGetReservedColormapEntries (3) - list colormap entries reserved by the system
XcupStoreColors (3) - initialize shareable colormap entries at specific locations
xstdcmap (1) - X standard colormap utility
Bu yazımızda "apropos" komutu ve sıklıkla kullanılan seçenekleri açıkladık. Daha detaylı bilgi için "man apropos" komutu ile yardım sayfalarına bakabilirsiniz.