Linuxta Wget ile Ftp den klasor cekmek

Linux bir sistem kullanıyorsanız, FTP den bazı şeyleri düzenli olarak çekmeniz gerekiyorsa, aşağıdaki şekilde linux komut satırından bir ftp klasörünü topluca çekebilirsiniz. Aşağıdaki komutta 1.2.3.4 ipsinden ftp hesabındaki tüm klasörleri çekmesin söylüyoruz. (-r komutu recursive , yani klasörü içindekilerle birlikte çeker)

Not : {username} ve {password} yerine size tahsis edilen bilgileri girmelisiniz.

 

wget -r ftp://1.2.3.4/ --user {username} --password {password}

Sık kullanılan Linux komutları

Bash Komutları

uname -a : bu komut, sistem ve kernel bilgilerini verir. (kernel dediğimiz linux çekirdeğidir.)

head -n1 /etc/issue : kullandığımız linux dağıtımını görüntüler.

mount : dosya sistemini monte etmeye yarar

date : bilgisayarın saatini ve tarihini görüntüler.

uptime : sistemin ne kadar süredir kesintisiz çalıştığını, sistemdeki aktif kullanıcı sayısını ve sistemin yük ortalamalarını görüntüler.

whoami : Who Am I? komutu, sistemdeki kullanıcı adınızı görüntüler

man [command] : man kelimesinden sonra girilen komutun, hangi parametrelerle nasıl kullanılacağına dair bilgi verir.

Bash kısayolları

CTRL – z : o an çalışan komutun çalışmasını durdurur, beklemeye alır.

CTRL – c : o an çalışan komutu sonlandırır.

CTRL – a : komut yazdığımız sırada, satırın başına gider

CTRL – e : komut yazdığımız sırada, satırın sonuna gider

CTRL – u : komut satırında, yazdığımız komutun herhangi bir karakterinin üzerindeyken, satırın başından başlayıp bulunduğumuz karaktere kadar olan karakterleri keser

CTRL – k : komut satırında, yazdığımız komutun herhangi bir karakterinin üzerindeyken, satırın sonundan başlayıp bulunduğumuz karaktere kadar olan karakterleri keser

CTRL – r : girdiğimiz karakterlere göre, yaptığımız aramaları teker teker görüntüler

!! : son çalıştırdığımız komutu tekrar çalıştırır.

!abc : abc ile başlayan son komutu tekrar çalıştırır.

!abc:p : abc ile başlayan, çalıştırdığımız son komutu gösterir. çalıştırmaz, sadece print eder.

!* : son çalıştırdığımız komutun parametrelerini gösterir.

!$ : son çalıştırdığımız komutun son parametresini gösterir.

Bash Değişkenleri

env : sistemdeki tüm değişkenleri listeler

echo $name : name adındaki değişkenin hangi değere sahip olduğunu gösterir

export name = value : name değişkenine value değerini atarız.

$HOME : ana dizini gösterir.

$PATH : path dizinin gösterir.

Dizin Komutları

pwd : o anda bulunduğumuz dizini gösterir.

ls : bulunduğumuz dizindeki dosyaları ve klasörleri listeler.

mkdir [directory] : yeni bir dizin yaratır.

cd [directory] : bulunduğumuz dizinden farklı bir dizine geçmemizi sağlar.

cd .. : bir üst dizine çıkmamızı sağlar.

Dosya Komutları

touch [filename] : yeni bir dosya yaratır.

cat [file1] [file2] : dosyaları ard arda sıralayarak standart çıkışa yazar

less [filename] : satırlarını numaralandırarak dosyanın içeriğini gösterir.

file [filename] : Dosyanın türünü gösterir.

cp [file1] [file2] : file1 dosyasını file2 dosyasına kopyalar.

mv [file1] [file2] : file1 dosyasını file2 dosyasına taşır. bunu dosyayı farklı bir dizine taşırken, ya da dosyanın ismini değiştirirken kullanabiliriz.

rm [filename] : dosyayı siler.

head [filename] : dosyanın ilk 10 satırını görüntüler.

tail [filename] : dosyanın son 10 satırını görüntüler.

tail -f [filename] : dosyanın son 10 satırını, değiştikce canlı olarak görüntülemeye devam eder.

İşlem Komutları

ps : o anda kullandığımız işlemleri listeler

psaux : o anda bilgisayarın da gerçekleştirdiği tüm işlemleri listeler

top : anlık olarak işlemleri gösterir, sistemin ne kadar hafıza kullandığı vb. parametreler anlık olarak değişir.

kill [pid] : yukarıdaki komutlarla listelediğimiz işlemlerin her biri bir PID’e sahiptir, bu PID’ı kullanarak işlemi sonlandırabilir.z

pkill [name] : listelediğimiz işlemleri bu komutla isimlerini kullanarak da sonlandırabiliriz.

killall [name] : name ismi ile başlayan tüm işlemleri sonlandırmaya yarar.

Arama komutları

grep [kelime] [file] : file dosyası içindeki kelime geçen tüm satırları gösterir.

grep -v [metin] [file] : dosyada, içinde aranan metin geçmeyen satırları gösterer.

grep -o [metin] [file] : dosyada aranan metin varsa, sadece onu gösterir

grep -r [metin] [file] : içinde aranan metin geçen satırları sondan başa doğru gösterir

grep -i [metin] [file] : büyük-küçük harf duyarlı arama yapar.

find /dir/ -name name* : name ismi ile (name*) başlayan dosyaları bulur.

find /dir/ -user name* : isminde name kelimesi geçen dosyaları bulur.

find /dir/ -mmin num : dizinde, num (num yerine bir sayı yazılacak) dakikadan daha az saniye önce değiştirilmiş dosyaları bulur.

whereis [command] : girilen komutun, binary / source / manual dosyalarının nerelerde olduğunu gösterir.

locate [filename] : ismi girilen dosyanın bilgisayarda nelerde olduğunu listeler, aynı isme sahip birden çok dosyanın dizinlerini alt alta listeler. sistem indexi içinde arama yapmak gibidir.

IO (input/output) komutları

cmd < file : dosyayı, komut ile birlikte çalıştırır. Örneğin, gedit < deneme.txt yazdığımız zaman, deneme.txt dosyasının içeriğini alır, yeni bir txt dosyasıymış gibi gedit ile açar.

cmd1 < (cmd2) : cmd2 komutunun çıktısını, cmd1 komutunun içerisinde kullanır. örneğin, cmd2 komutunda, grep ile bir arama yaparız, bunun çıktısını alıp cmd1 komutunda gedit ile yeni bir metin dosyası ile kullanabiliriz.

cmd > file : cmd komutu ile elde edilen çıktıyı file dosyasına yazar.

cmd 2> file : komut sırasında oluşan hataları dosyaya yazar

cmd &> file : komut sırasında oluşan tüm çıktıları dosyaya yazar

Sırayla komut çalıştırma

cmd1 ; cmd2 : cmd2 komutundan sonra cmd1 komutu çalışır

cmd1 && cmd2 : cmd1 komutu başarılıysa, cmd2 komutu çalışır.

cmd1 || cmd2 : cmd1 komutu başarılı değilse, cmd2 komutu çalışır.

cmd & : komut arkaplanda çalışır

ls komutu parametreleri

ls -a : dizindeki tüm dosya ve klasörleri listeler

ls -R : dizindeki dosyaları, klasörleri ve klasörlerin içindeki dosyaları da listeler

ls -r : dizindeki tüm dosya ve klasörleri tersten listeler

ls -t : dizindeki klasör ve dosyaları son değiştirilme tarihlerine göre listeler

ls -S : dosyaları ve klasörleri boyutlarına göre listeler

ls -l : dosyaları ve klasörleri, detaylı şekilde listeler. (son değiştrilme tarihleri, oluşturan kullanıcı vs.)

ls -1 : her dosya ve klasör ismini tek satır olacak şekilde listeler

ls -m : dosya ve klasör isimlerini aralarına virgül koyarak listeler

ls -Q : dosya ve klasör isimlerini çift tırnak (” “) içerisinde listeler

Nano komutları

CTRL-R : dosyayı açar

CTRL-O : dosyayı kaydeder

CTRL-X : dosyayı kapatır

ALT-A : text seçmeyi başlatır, yön tuşları ile text seçilebilir

CTRL-K : seçilen metni keser

CTRL-U : metni yapıştırır

ALT-/ : dosyanın sonuna gider

CTRL-A : satır başına gider

CTRL-E : satır sonuna gider

CTRL-C : satırın kaçıncı satır olduğunu ve tüm dosya içerisinde % kaçıncı satır olduğunu gösterir

CTRL-_ : belirtilen satıra gider

CTRL-W : dosya içinde arama yapar

ALT-W : arama yaptıktan sonra bir sonraki metni bulur

CTRL-\ : bul ve değiştir işlemini yapar

Screen komutları

screen : yeni bir screen oturumu başlatır

screen -r : screen oturumunu kaldığı yerden devam ettirir

screen -list : aktif screenleri listeler

CTRL-A : screen için ekran komutlarını etkinleştirir

CTRL-A c : yeni bir pencere açar

CTRL-A n : bir sonraki pencereye geçer

CTRL-A p : bir önceki pencereye geçer

CTRL-A “ : terminalleri gösterir

CTRL-A A : bash ismini değiştirmeye yarar

CTRL-A K : screen oturumunu bitirir

Dosya izinleri

chmod 775 [file] : dosya modunu 775 olarak değiştirir

chmod -R 600 [folder] : klasör modunu 600 olarak değiştirir

chown [user]: [g-roup] [file] : dosyanın kullanıcı ve kullanıcı grubunu değiştirmeye yarar

Dosya izin numaraları

4 : okuma (read (r))

2 : yazma (write (w))

1 : çalıştırma (execute (x))

Linux nohup Komutu (command) – Arka Planda Komut Çalıştırma

Çoğu zaman bir uzak sunucuya ssh üzerinden bağlanırız. Bir shell (terminal, veya kabuk artık ne diyorsanız) komutu çalıştırığınızda ve daha sonra çıkış işlemi yaptığınızda, işlem veya komut kapatılır (kill edilir). Bazı işler ise öyle 1-2 dakikada bitmez, uzun bir süre çalışması gerekir. Bu durumda, çıkmanız da gerekiyorsa, ne yapacaksınız? nohup ön komutunu kullancaksınız.

nohup komut_adi &

şeklinde bir kullanımı var.

Sonundaki ampersant işareti (&) arka planda çalışmasını sağlar. nohup ise çıkış yapıldığında kill edilmesini engeller. Yani normalde de

komut &;

şeklinde kullanıp ssh içinde gezerken arka planda bir işlem yapabilirsiniz.

  • SSH ile uzak sunucuya giriş yapın
  • bir işlem çalıştırın. örneğin nohup uzun_surecek_bir_komut &
  • CRTL + D tuşuna basarak logout olun.

Tekrar sshtan girip çalışan komutlara baktığımızda o arka planda uzun süre çalışacak komutun çalışıyor olduğunu görebiliriz. Bunun için

ps aux

yazmamız yeterli olacaktır.

Not : nohup komut önceliğini (nice değerini) değiştirmez, onu yine komutu verirken siz istiyorsanız parametre vererek yapabilirsiniz.

Linux/unix sleep komutu (linux/unix sleep command), örnek (example)

Sleep komutu, beklemek manasına geliyor. Tek yaptığı iş beklemek. Beklemenin ne gibi bir işe yaradığını ile ancak birazcık işin içine girmiş olanlar bilebilir diyorum. Bazı şeylerin yapıldığından emin olmak, bittiğinden emin olmak için, veya void metodlardan yanıt alınmayacağı durumlarda, istatistiksel olarak ne kadar sürdüğünü bilenler, bu komutu kullanabilirler.

Linux gurusu olan biri, bir hatırlatıcı olarak bile kullanabilir bu komutu.

Küçük bir örnek olarak

sleep 1h; mail -s “Ahmeti ara!” ben@mailadresim.com

1 saat sonra mailime gelen “ahmeti ara” mailiyle birden irkilip, ahmeti aramam gerektiğini hatırlayabilirim.
burada 1h deki h harfi hour yanisaat manasındadır.
bir şey yazmazsanız saniyedir. (s)
dakika için minute yani m harfi kullanmalısınız.

Programcılar sleep komutunu genelde belirli bir süre kodu duraklatmak için kullanırlar. Siz de çok yük getirici bir işlem yapıyorsanız, ara sıra diğer kullanıcıların işlemlerini aksattırmamak için sisteme bir nefes aldırmak isteyebilirsiniz, öyleyse kullanın.