Linux Komutları

Yazar: gokmeneskin | Görüntülenme: 15585 | Eklenme Tarihi: 25 Mayıs 2020
Linux/macOS işletim sistemlerini kullanmaya yeni başlayanlar için en temel komutları sizlerle paylaşmak istedim. Linux üzerinde terminal ile komutları kullanmaya başladığınız zaman bazen mouse kullanmaktan daha basit olduğunu göreceksiniz. Gelin komutlara beraber bakalım.
Dizin Komutları
Dizinler arasında terminal üzerinde aşağıdaki komutları kullanarak işlemlerinizi yapabilirsiniz.
pwd komutu
Linux/macOS işletim sistemlerinde pwd komutunu kullanarak bulunduğunuz dizini terminal ekranına yazdırabilirsiniz, pwd komutu "print working directory" kısaltmasıdır, Türkçe'ye "bulunduğum dizini/klasörü yazdır" olarak çevrilebilir. Burada yazdır kelimesi ekrana yazı yazdırılması anlamındadır.
gokmen@ubuntu:~$ pwd
/home/gokmen
Yukarıdaki örnekte home dizininin altındaki gokmen dizininde olduğumu görebilirsiniz.
ls komutu
Bulunduğunuz dizindeki klasör ve dosyalarınızı listelemek için ls komutunu kullanabilirsiniz, ls "list" yani "listele" anlamındadır.
gokmen@ubuntu:~$ ls
Belgeler Genel Masaüstü Resimler Şablonlar vmware
Documents İndirilenler Müzik snap Videolar
Örnekte bulunuğum gokmen klasörünün içerisinde Belgeler, Genel, Masaüstü... gibi klasörler listelendi. Örnekte sadece klasörleri gördük, hiçbir dosya listelenmedi, aslında bu ilgili dizinde hiç dosya olmayıp sadece klasörler olduğu anlamına gelebilir ama biz yeni bir şey daha öğrenelim. Komutlar parametre de alabilirler, örneğin ben ls komutunda gizli dosya ya da dizinleri de listelemek isyiorsam "-a" olarak parametre geçmem gerekir.
gokmen@ubuntu:~$ ls -a
. .dotnet .pam_environment .tmux.conf
.. Genel .profile Videolar
.bash_history .gnupg Resimler .vim
.bash_logout İndirilenler snap .viminfo
.bashrc .local .ssh .vimrc
Belgeler Masaüstü .sudo_as_admin_successful .vmware
.cache .mozilla .swp vmware
.config Müzik Şablonlar .wget-hsts
Documents .nuget .thunderbird
Yukarıdaki örnekte iki şey birden öğrenmiş olduk, ls -a komutu ile gizli dosya ya da klasörler listelendi ve linux/maxOS işletim sistemlerinde bir dosya ya da klasör oluşturmak istiyorsam başına . "nokta" işareti koymam yeterlidir.
ls komutuna -l parametresini geçerseniz "long form" yani dosya ya da klasörlerinizin uzun formatta listelendiğini görebilirsiniz, burada uzun formdan kastım dosya ya da dizin ile ilgili daha fazla bilgiyi gösterecektir. Peki hem uzun formda hem de gizli dosyaları görüntülemek istiyorsam ne yapmalıyım? Linux komutlarına parametre geçmek için - işaretinden sonra birden fazla parametre geçebilirsiniz, örneğimizin cevacı "ls -la" olmuş oluyor.
gokmen@ubuntu:~$ ls -la
toplam 156
drwxr-xr-x 24 gokmen gokmen 4096 May 10 22:48 .
drwxr-xr-x 3 root root 4096 May 3 17:55 ..
-rw------- 1 gokmen gokmen 5491 May 13 15:36 .bash_history
-rw-r--r-- 1 gokmen gokmen 220 May 3 17:55 .bash_logout
-rw-r--r-- 1 gokmen gokmen 3835 May 4 22:55 .bashrc
drwxr-xr-x 4 gokmen gokmen 4096 May 13 15:39 Belgeler
drwxrwxr-x 19 gokmen gokmen 4096 May 10 18:02 .cache
drwxr-xr-x 18 gokmen gokmen 4096 May 10 18:02 .config
drwxr-xr-x 5 gokmen gokmen 4096 May 5 16:10 Documents
drwxrwxr-x 5 gokmen gokmen 4096 May 4 22:55 .dotnet
drwxr-xr-x 2 gokmen gokmen 4096 May 5 00:48 Genel
drwx------ 3 gokmen gokmen 4096 May 5 00:38 .gnupg
drwxr-xr-x 2 gokmen gokmen 4096 May 9 13:13 İndirilenler
drwxr-xr-x 3 gokmen gokmen 4096 May 3 18:13 .local
drwxr-xr-x 2 gokmen gokmen 4096 May 5 00:48 Masaüstü
drwx------ 5 gokmen gokmen 4096 May 3 18:51 .mozilla
drwxr-xr-x 2 gokmen gokmen 4096 May 5 00:48 Müzik
drwxrwxr-x 3 gokmen gokmen 4096 May 4 22:55 .nuget
-rw-r--r-- 1 gokmen gokmen 354 May 5 00:48 .pam_environment
-rw-r--r-- 1 gokmen gokmen 807 May 3 17:55 .profile
drwxr-xr-x 2 gokmen gokmen 4096 May 10 18:08 Resimler
drwxr-xr-x 4 gokmen gokmen 4096 May 8 21:14 snap
drwx------ 2 gokmen gokmen 4096 May 3 18:13 .ssh
-rw-r--r-- 1 gokmen gokmen 0 May 3 18:52 .sudo_as_admin_successful
-rw------- 1 gokmen gokmen 12288 May 10 16:30 .swp
drwxr-xr-x 2 gokmen gokmen 4096 May 5 00:48 Şablonlar
drwx------ 6 gokmen gokmen 4096 May 5 00:52 .thunderbird
-rw-rw-r-- 1 gokmen gokmen 48 May 5 00:40 .tmux.conf
drwxr-xr-x 2 gokmen gokmen 4096 May 5 00:48 Videolar
drwxrwxr-x 3 gokmen gokmen 4096 May 5 00:42 .vim
-rw------- 1 gokmen gokmen 9653 May 10 21:31 .viminfo
-rw-rw-r-- 1 gokmen gokmen 282 May 5 00:40 .vimrc
drwxr-xr-x 2 gokmen gokmen 4096 May 10 22:47 .vmware
drwxrwxr-x 2 gokmen gokmen 4096 May 9 15:44 vmware
-rw-rw-r-- 1 gokmen gokmen 177 May 4 22:26 .wget-hsts
Bir konuya daha değindeden ls komutunu bitirmeyelim, listelenen dizinler arasında . ve .. olarak iki klasör listeleniyor, bunlar aslında temsili dizinler oluyor. Tek nokta olan dizin şu anda bulunduğumuz dizini listelerken çift nokta olan ".." dizin bir üst dizini temsil ediyor. Bununla ilgili şöyle bir komut örneği verebilirim, eğer bir üst dizinimdeki gizli ve gizli olmayan tüm dosya ve dizinleri listelemek istiyorsam "ls ../ -a" komutunu kullanabilirim.
gokmen@ubuntu:~$ ls ../ -a
. .. gokmen
Yukarıdaki örnekte bulunduğum gokmen klasörünün üst dizini olan home dizininde sadece gokmen klasörünün olduğunu listeleniyor.
mkdir komutu
Linux/macOS işletim sisteminizde bulunduğunuz dizinin altında yeni bir klasör oluşturmak için kullanlıan komuttur. Oluşturmak istediğiniz klasör adını mkdir komutundan sonra bir boşluk bırakarak belirtmeniz gerekir. Örnek olarak aaa adında bir klasör oluşturulak ise komutun kullanımı "mkdir aaa" şeklinde olacaktır. Eğer klasör isminde boşluk var ise kaçış karakteri olan ters slash "\" karanterinden sonra bir boşluk bırakabilirsiniz.
gokmen@ubuntu:~$ mkdir aaa
gokmen@ubuntu:~$ ls
aaa Documents İndirilenler Müzik snap Videolar
Belgeler Genel Masaüstü Resimler Şablonlar vmware
gokmen@ubuntu:~$ mkdir gokmen\ eskin
gokmen@ubuntu:~$ ls
aaa Documents 'gokmen eskin' Masaüstü Resimler Şablonlar vmware
Belgeler Genel İndirilenler Müzik snap Videolar
cd komutu
cd komutunu kullanarak bulunduğunuz dizinden başka bir dizine geçebilirsiniz,"change directory" yani dizin değiştir olarak çevirebiliriz. Bulunduğunuz dizinden bir üst dizinde geçmek istiyorsanız "cd .." olarak kullanabilirsiniz. Gitmek istediğiniz klasörü biliyorsanız ana dizin olan "/" dizininden başlayarak yazabilirsiniz, burada tüm klasörün ismi yazmaya çalışmaktansa birkaç karakter tuşladıktan sonra tab tuşunu kullanmanızı öneririm, terminal geri kalanını otomatik olarak doldurmaya çalışacaktır. Örnek olarak "cd /etc/ssh/" dizinine geçmek istiyorsam, "cd /e" yazıp tab tuşuna bastığımda e ile başlayan başka klasör olmadığı için "cd /etc/" olarak tamamlayacaktır, birden fazla klasör olduğunda ilk sefer tab tuşuna bastığınızda hiçbir değişiklik olmazken ikinci sefer tab tuşuna bastığınızda seçenekleri listeleyecektir.
gokmen@ubuntu:~$ cd gokmen\ eskin/
gokmen@ubuntu:~/gokmen eskin$ cd ..
gokmen@ubuntu:~$ cd /etc/s #s den sonra iki sefer tab tuşuna bastığımda
sane.d/ sensors.d/ snmp/ ssl/ sysstat/
security/ sgml/ speech-dispatcher/ sudoers.d/ systemd/
selinux/ skel/ ssh/ sysctl.d/
gokmen@ubuntu:~$ cd /etc/ssh/
gokmen@ubuntu:/etc/ssh$
Linux ya da macOS işletim sistemlerinde her kullanıcının /home/ dizininin altında kendi kullanıcı adına ait dizini bulunur ve bu dizine kullanıcının ev dizini denir. Bu benim durumunda kullanıcı adım gokmen olduğu için /home/gokmen/ klasörüdür. Hangi dizinde olduğum fark etmeksizim sadece "cd" komutunu kullanırsam beni ev klasörüme atacaktır.
gokmen@ubuntu:/etc/ssh$ cd
gokmen@ubuntu:~$ pwd
/home/gokmen
gokmen@ubuntu:~$
rmdir komutu
Bulunduğunuz dizinin altındaki klasörleri silmek için "rmdir klasör_adı" olarak kullanılabilir, örneğin "rmdir aaa". Ya da herhangi bir klsörü bulunduğu dizini belirterek "rmdir /etc/ssh/" gibi silebilirsiniz. Remove directory, dizini kaldır olarak çevrilebilir. Burada dikkat edilmesi gereken nokta işletim sistemi arayüzü gibi "Silmek istediğinize emin misiniz?" gibi bir soru sormayacak ya da sildiğiniz klasörü çöp kutusuna taşımayacaktır. Komutu kullanırken dikkatli olmanız gerekir ama kormayın içi dolu olan bir dizini bu komut silemeyecek ve hata verecektir. Peki ama ben klasörü içindekilerle birlikte silmem gerekiyor, ne yapmalıyım? diyorsanız yazının devamındaki "rm" komutunu inceleyebilirsiniz.
gokmen@ubuntu:~$ rmdir aaa/
gokmen@ubuntu:~$ ls
Belgeler Genel İndirilenler Müzik snap Videolar
Documents 'gokmen eskin' Masaüstü Resimler Şablonlar vmware
gokmen@ubuntu:~$ rmdir gokmen\ eskin/
rmdir: 'gokmen eskin/' kaldırılamadı: Dizin boş değil
Burada dizin ile ilgili temel komutlarımızı noktalayıp dosya komutlarımızı incelemeye devam edebiliriz.
Dosya Komutları
Dosyalarınız üzerinde terminalde aşağıdaki komutlarla işlemlerinizi gerçekleştirebilirsiniz.
touch komutu
touch komutu ile bulunduğunuz dizinde dosya oluşturabilirsiniz. Komutun kullanımı "touch dosya_adi" gibidir. Örneğin test.txt adından bir text dosyası oluşturmak istiyorsak;
gokmen@ubuntu:~$ touch test.txt
gokmen@ubuntu:~$ ls
Belgeler İndirilenler Müzik snap test.txt vmware
Genel Masaüstü Resimler Şablonlar Videolar
echo komutu
Terminal üzerinde bir yazı yazdırmayı echo komutu ile kullanırız, basit text dosyalarına kısa cümlemeler eklemek için de echo komutu kullanılabilir. Büyüktür > işareti ile istediğiniz bir text dosyasının içerisine yazı yazdırabilirsiniz fakat bu yöntemde dosya içerisinde yazı olsa bile silip sizin belirttiğiniz metni yazacaktır. Dosya içerisinde yazı varsa silmeden sonuna eklemek için iki adet büyüktür işarati >> ile kullanabilirsiniz. Komutun kullanımı echo yazılacak metin gibidir.
gokmen@ubuntu:~$ echo Gökmen
Gökmen
gokmen@ubuntu:~$ echo Gökmen Eskin > test.txt
gokmen@ubuntu:~$ echo Bu terminalden eklenen bir metindir. >> test.txt
cat komutu
Metin dosyalarını bir metin düzenleyici kullanmadan basitçe okumat için cat komutu kullanılır, komutun kullanımı "cat dosya_adi" şeklindedir.
gokmen@ubuntu:~$ cat test.txt
Gökmen Eskin
Bu terminalden eklenen bir metindir.
cp komutu
Kopyalama komutu olan cp ile dosyalarınızı kopyalayabilirsiniz, klasörleri içindekilerle birlikte kopyalamak için -r parametresini kullanmamız gerekir, r parametresi recursive kelimesinin kısaltmasından gelir, recursive'i Türkçe'ye iç içe gibi çevirebiliriz. Komutun kullanımı "cp kaynak_dosya_adi hedef_dosya_adi" ya da "cp -r kaynak_dizin_adi hedef_dizin_adi" olarak kullanılır. İsterseniz kopyaldığınız hedefe dosyanın adını farklı bir şekilde de kopyalayabilirsiniz, zaten kopyalanan hedefte dosya adının aynı kalmasını istiyorsanız sadece dizin adını yazıp bırakabilirsiniz. Aşağıdaki örnek kullanılmları inceleyebilirsiniz.
gokmen@ubuntu:~$ ls
Belgeler İndirilenler Müzik snap test.txt vmware
Genel Masaüstü Resimler Şablonlar Videolar
gokmen@ubuntu:~$ cp test.txt Belgeler/ #Alttaki komut ile aynı işlem
gokmen@ubuntu:~$ cp test.txt Belgeler/test.txt #Üstteki konut ile aynı işlem
gokmen@ubuntu:~$ cp test.txt Belgeler/deneme.txt #Kopyaladığım yerde dosya adını deneme olarak değiştirdim.
gokmen@ubuntu:~$ ls Belgeler/
deneme.txt linux_komutlari linux_nedir test.txt
gokmen@ubuntu:~$ cp -r İndirilenler/ Belgeler/ #İndirilenler klasörünü Belgeler'in içine kopyaladım
gokmen@ubuntu:~$ ls Belgeler/
deneme.txt İndirilenler linux_komutlari linux_nedir test.txt
mv komutu
Taşımak için kullanılır, bir dosya ya da klasörü kesip yapıştırdığımız zaman aslında taşıma işlemi yapmış oluyoruz, kullanımı cp komutu ile aynıdır. Bulunduğunuz dizinde mv komutunda kaynak ile hedef dizin aynı gösterilerek dosyayı yeniden adlandırma işlemi de yapabilirsiniz.
#Belgeler içerisindeki deneme.txt dosyasını bulunduğum ev dizinine aldım
gokmen@ubuntu:~$ mv Belgeler/deneme.txt ./
gokmen@ubuntu:~$ ls
Belgeler Genel Masaüstü Resimler Şablonlar Videolar
deneme.txt İndirilenler Müzik snap test.txt vmware
#deneme.txt dosyasının adını gokmen.txt olarak değiştirdim
gokmen@ubuntu:~$ mv deneme.txt gokmen.txt
gokmen@ubuntu:~$ ls
Belgeler gokmen.txt Masaüstü Resimler Şablonlar Videolar
Genel İndirilenler Müzik snap test.txt vmware
rm komutu
Dosya ya da dizinleri silmek için kullanılır, bu komutta da içi dolu olan dizinleri silmek için -r parametresi kullanılır. Komutun kullanımı "rm dosya_adi" yada "rm -r dizin_adi/" şeklindedir. Komutun geri dönüşü yoktur, sildiği dosya ya da dizini çöp kutusuna atmaz, kullanırken dikkatli olmanız gerekir.
gokmen@ubuntu:~$ rm test.txt
gokmen@ubuntu:~$ rm gokmen.txt
gokmen@ubuntu:~$ ls
Belgeler İndirilenler Müzik snap Videolar
Genel Masaüstü Resimler Şablonlar vmware
gokmen@ubuntu:~$ cd Belgeler/
#Belgeler klasöründeki İndirilenler klsörünürü içindekilerle beraber silmek için
gokmen@ubuntu:~/Belgeler$ rm -r İndirilenler/
gokmen@ubuntu:~/Belgeler$ ls
linux_komutlari linux_nedir test.txt
Bu yazımda linux ya da macOs işletim sistemleri kullanlar için terminal üzerinde basit dosya ve dizin işlemlerini yapabilecekleri komutları paylaşmak istedim, kalın sağlıcakla...