Az Bilinen Linux Komutları

Linux komut satırı, bir çok linux severin hoşuna giden bir araç. Normal bir kullanıcı günlük işlerini halledebileceği kabaca 50-60 kelimelik komut bilir. Aslında komut satırında linux kullanıcıları, programcılar ve sistem yöneticileri için bir hazine vardır. Bunlardan bazı az bilinen ve çok yararlı olanları sizlere anlatacağız.

1. “sudo !!” Komutu

sudo komutuyla yazılmadan çalıştırılmak istenen bazı görevlerde yetki hatası alabilirsiniz. Bunun için sudo’yu komutun başına eklemeniz gerekiyor. Tabi sudo’yu komutun başına ekledikten sonra tüm komutu aynen yazmanıza gerek yok. “sudo !!” yazdığınız zaman son komutu aynen yazmış oluyorsunuz.

$ apt-get update

E: Could not open lock file /var/lib/apt/lists/lock – open (13: Permission denied)
E: Unable to lock directory /var/lib/apt/lists/
E: Could not open lock file /var/lib/dpkg/lock – open (13: Permission denied)
E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?

$ sudo !!

sudo apt-get update
[sudo] password for server:

..
Fetched 474 kB in 16s (28.0 kB/s)
Reading package lists… Done
server@localhost:~$

2. “mtr” Komutu

Çoğumuz ping ve traceroute gibi komutlara aşinayızdır. mtr komutu bunların ikisini bir arada yapan bir komut. Eğer mtr sisteminizide yüklü değilse apt ve yum komutlarını kullanarak yükleyebilirsiniz.

sudo apt-get install mtr (Debian tabanlı sistemler için)
yum install mtr (Red Hat atbanlı sistemler için)

Şimdi de aşağıdaki komutu yazarak mtr komutunun çalıştırıldığı sistem ile google.com arasındaki ağ bağlantısını incelemeye bakalım.

mtr google.com

3. “Ctrl+x+e” Komutu

Bu komut sistem yöneticileri ve geliştiriciler için çok yararlı. Sistem yöneticileri günlük işlerini halletmek için vi, vim, nano vs gibi editörleri kullanmak zorundalar. Komutumuz ise bu işi biraz hızlandırıyor.

Şimdi terminali açın ve “ctrl-x-e” aynı anda basın. Editör açılacaktır.

4. “nl” Komutu

nl komutu bir dosyadaki satırları numaralandırıyor. “dosya.txt” dosyasının içeriğini listelemek için:

cat dosya.txt

komutu

içeriğindeki satırların sayılandırması için:

nl dosya.txt

komutu kullanılır.

5. “shuf” Komutu

“shuf” komutu ile de bir klasör içinden rastgele bir klasörü ya da dosyayı seçebilirsiniz. İlk önce ls komutu ile klasörün içeriğini listeleyin:

# ls Desktop Documents Downloads Music Pictures Public Templates Videos
# ls | shuf (shuffle Input) Music Documents Templates Pictures Public Desktop Downloads Videos
Aşağıdaki komut ile klasörden 1 tane dosyayı rastgele seçebilirsiniz.
# ls | shuf -n1 Videos
# ls | shuf -n1 Templates
# ls | shuf -n1 Downloads
n1 yazan yeri isteğinize göre n2, n3 yapabilirsiniz. Bu belirttiğiniz sayılar kaç tane dosyanın rastgele seçileceğini gösterir. Örneğin n4 derseniz 4 tane klasör ya da dosya rastgele seçilecektir. 6. "ss" Komutu "ss" komutu soket istatistiklerini gösterir. Bu komut soketleri inceler ve netstat komutuna benzer şekilde bazı bilgileri gösterir.
# ss State Recv-Q Send-Q Local Address:Port Peer Address:Port ESTAB 0 0 192.168.1.198:41250 *.*.*.*:http CLOSE-WAIT 1 0 127.0.0.1:8000 127.0.0.1:41393 ESTAB 0 0 192.168.1.198:36239 *.*.*.*:http ESTAB 310 0 127.0.0.1:8000 127.0.0.1:41384 ESTAB 0 0 192.168.1.198:41002 *.*.*.*:http ESTAB 0 0 127.0.0.1:41384 127.0.0.1:8000
7. "last" Komutu last komutu ile bilgisayara en son giriş yapan kullanıcıları görüntüleyebilirsiniz. Bu komut “/var/log/wtmp” dizinini arar ve giriş ve çıkış yapan kullanıcıları gösterir.
# last server pts/0 :0 Tue Oct 22 12:03 still logged in server tty8 :0 Tue Oct 22 12:02 still logged in … ... (unknown tty8 :0 Tue Oct 22 12:02 - 12:02 (00:00) server pts/0 :0 Tue Oct 22 10:33 - 12:02 (01:29) server tty7 :0 Tue Oct 22 10:05 - 12:02 (01:56) (unknown tty7 :0 Tue Oct 22 10:04 - 10:05 (00:00) reboot system boot 3.2.0-4-686-pae Tue Oct 22 10:04 - 12:44 (02:39) wtmp begins Fri Oct 4 14:43:17 2007
8. curl ifconfig.me IP adresinizi nasıl öğreniyorsunuz? Google aracılığıyla mı? Aşağıdaki komut size IP adresini gösterir.
# curl ifconfig.me
Not: curl programını yüklemeniz gerekebilir. Bunun için apt/yum kullanabilirsiniz. 9. "tree" komutu Bir klasörün içeriğindeki herşeyin listesini çıkarır.
# tree |-- Desktop |-- Documents | `-- 37.odt |-- Downloads | |-- attachments.zip | |-- ttf-indic-fonts_0.5.11_all.deb | |-- ttf-indic-fonts_1.1_all.deb | `-- wheezy-nv-install.sh |-- Music |-- Pictures | |-- Screenshot from 2013-10-22 12:03:49.png | `-- Screenshot from 2013-10-22 12:12:38.png |-- Public |-- Templates `-- Videos 10 directories, 23 files
10. pstree Bu komut, sisteminizde o anda çalışan tüm uygulamaları, uygulamanın çalıştırdığı diğer alt programları da içermek suretiyle gösterir.
# pstree init─┬─NetworkManager───{NetworkManager} ├─accounts-daemon───{accounts-daemon} ├─acpi_fakekeyd ├─acpid ├─apache2───10*[apache2] ├─at-spi-bus-laun───2*[{at-spi-bus-laun}] ├─atd ├─avahi-daemon───avahi-daemon ├─bluetoothd ├─colord───{colord} ├─colord-sane───2*[{colord-sane}] ├─console-kit-dae───64*[{console-kit-dae}] ├─cron ├─cupsd ├─2*[dbus-daemon] ├─dbus-launch ├─dconf-service───2*[{dconf-service}] ├─dovecot─┬─anvil │ ├─config │ └─log ├─exim4 ├─gconfd-2 ├─gdm3─┬─gdm-simple-slav─┬─Xorg │ │ ├─gdm-session-wor─┬─x-session-manag─┬─evolution-a+ │ │ │ │ ├─gdu-notific+ │ │ │ │ ├─gnome-scree+ │ │ │ │ ├─gnome-setti+ │ │ │ │ ├─gnome-shell+++ │ │ │ │ ├─nm-applet──+++ │ │ │ │ ├─ssh-agent │ │ │ │ ├─tracker-min+ │ │ │ │ ├─tracker-sto+ │ │ │ │ └─3*[{x-sessi+ │ │ │ └─2*[{gdm-session-wor}] │ │ └─{gdm-simple-slav} │ └─{gdm3} ├─6*[getty] ├─gnome-keyring-d───9*[{gnome-keyring-d}] ├─gnome-shell-cal───2*[{gnome-shell-cal}] ├─goa-daemon───{goa-daemon} ├─gsd-printer───{gsd-printer} ├─gvfs-afc-volume───{gvfs-afc-volume}