Kayıt Ol

  ya da  

Giriş Yap

Linux Komutları


linux-komutlari

Yazar: gokmeneskin | Görüntülenme: 2055 | 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...