Linux Sunucusunda İlk Haftanız — 35+ Temel Komut
Anahtar Kelimeler: Başlamadan Önce Hızlı Referans
Başlamadan önce, bu kılavuz boyunca göreceğiniz terimler burada. Bunları ezberlemenize gerek yok — sadece var olduklarını bilin ve bağlam onları anlamanızı sağlayacak.
| Terim | Anlamı |
|---|---|
| Terminal 💻 | Komutları yazdığınız metin tabanlı arayüz |
| Shell 🐚 | Komutlarınızı yorumlayan program (genellikle Bash) |
| Bash ⚙️ | En yaygın shell; terminalinizin “konuştuğu” dil |
| Sudo 🔑 | Diğer komutları yönetici ayrıcalıklarıyla çalıştırmanıza izin veren bir komut |
| Paket yöneticisi 📦 | Sizin için yazılım yükleyen ve güncelleyen bir araç (örneğin apt gibi) |
| Daemon / Servis 👻 | Sürekli çalışan bir arka plan programı (örneğin bir web sunucusu gibi) |
| İzinler 🔒 | Bir dosyayı kimin okuyabileceğini, yazabileceğini veya çalıştırabileceğini kontrol eden kurallar |
| Root 👑 | Her şeye gücü yeten sistem yöneticisi hesabı |
Bu terimleri cebinize koyduğunuzda, hazırsınız. Başlayalım.
Giriş: Sunucu Yolculuğuna Başlamak
Yeni sunucunuza bağlandınız. Belki de tek tıklamayla anında Ubuntu dağıtımı sunan AlexHost gibi bir sağlayıcıdan temin ettiniz. Terminalinizi açıyorsunuz, ssh root@your-server-ip yazıyorsunuz ve Enter’a basıyorsunuz. Ekran temizleniyor. Yanıp sönen bir imleç, root@vps:~# gibi bir satırdan size bakıyor.
Şimdi ne yapacaksınız?

Terminal bir kalıntı değildir. Bir bilgisayara ne yapacağını söylemenin en doğrudan, bileşen ve güvenilir yoludur. Grafiksel yük yoktur, gezilecek menüler yoktur, bir kullanıcı arayüzünün yüklenmesini beklemek yoktur. Bir komut yazarsınız, bir şey olur ve bir sonraki komutu ona zincirlersiniz. SSH üzerinden, sunucunuz yan odada veya okyanusun ötesinde olsa da aynı şekilde çalışır.
Bu makale size bir ezberleme listesi vermeyecek. Bunun yerine, bugün yeni bir sunucuyla otursaydınız izleyeceğiniz aynı ilerlemeyi yaşayarak gerçekçi bir 7 günlük yolculuğa çıkacaksınız. Sonunda, sadece komutları bilmeyeceksiniz. Her birine ne zaman başvuracağınızı da bileceksiniz.
1. Gün: Bağlanma ve Keşfetme
Sunucunuza yeni bağlandınız. Terminal root@vps:~# gibi bir şey gösteriyor. Giriş yaptınız — ama neredesiniz? Burada ne var? Hadi bulalım.

Adım 1: “ssh” ile Bağlanın
Her şey ssh — Secure Shell ile başlar. Bu, sizi yerel makinenizden uzak sunucuya götüren kapı komutudur.
ssh username@server-ipÇoğu VPS sağlayıcısında, barındırma kontrol panelinizden IP adresini ve size atanan kullanıcı adını (genellikle root veya ubuntu) kullanacaksınız. Bu, ilk kez bağlanıyorsanız, sunucunun parmak izini onaylamanız istenecektir — yes yazın ve Enter’a basın.
✅ Artık sunucunuza bağlısınız.
Adım 2: Kimliğinizi “whoami” ile Onaylayın
Bir şey yapmadan önce, hangi kullanıcı olarak giriş yaptığınızı doğrulayın.
whoamiEğer root görüyorsanız, her şeye gücü yeten yönetici olarak çalışıyorsunuz demektir. Bu, yeni bir VPS’de yaygındır, ancak aynı zamanda yazdığınız her komutun tam sistem erişimine sahip olduğu anlamına gelir — bu yüzden dikkatli olun.
✅ Bu sistemde kim olduğunuzu biliyorsunuz.
Adım 3: Konumunuzu “pwd” ile Bulun
pwd — Print Working Directory — komutu, dosya sisteminde tam olarak nerede olduğunuzu söyler.
pwd✅ Nerede olduğunuzu biliyorsunuz.
Adım 4: “ls” ile Nelerin Mevcut Olduğunu Görün
Şimdi sunucunun etrafına bakalım. ls komutu, mevcut konumunuzdaki dosya ve dizinleri listeler.
lsls -la
-l bayrağı size uzun formatı verir (izinler, sahip, boyut, tarih) ve -a tüm dosyaları, gizli olanlar dahil gösterir. ls -la komutunu sürekli kullanacaksınız.
✅ Mevcut dizininizdeki her şeyi görebiliyorsunuz.
Adım 5: “cd” ile Gezin
cd komutu — Change Directory — dosya sisteminde nasıl gezindiğinizdir.
cd /var/log
#Check new dir location
pwd
/var/logSürekli kullanacağınız üç varyasyon:
cd .. # Go up one directory level cd ~ # Go back to your home directory cd - # Go back to the previous directory you were in
“cd -“ numarası özellikle kullanışlıdır — son dizin değişikliğiniz için bir “geri al” gibidir.
✅ Dosya sisteminde istediğiniz yere gidebilirsiniz.
Adım 6: “clear” ile Temizleyin
Birçok komut çalıştırdıktan sonra, terminaliniz dağınık hale gelir. clear komutu ekranı siler ve size temiz bir başlangıç verir.
clear✅ Terminaliniz temiz ve bir sonraki komuta hazır.
Adım 7: “man” ile Bilgileri Arayın
Her komut için her bayrağı ezberlemenize gerek yok. man komutu — Manual — herhangi bir komut için yerleşik belgeleri açar.
man lsman komutunu güvenlik ağınız olarak düşünün. Bir komutun ne yaptığından veya hangi seçenekleri desteklediğinden emin olmadığınızda, man cevabı verir.
✅ Her komut için yerleşik belgelere erişiminiz var.
Adım 8: Geçmişinizi “history” ile Gözden Geçirin
history komutu, bu oturumda yazdığınız her komutu gösterir.
history 1 whoami
2 pwd
3 ls -la
4 cd /var/log
5 clear
6 historyİşte kullanışlı kısmı: herhangi bir komutu, numarasının önüne “!” koyarak yeniden çalıştırabilirsiniz.
!3✅ Önceki herhangi bir komutu gözden geçirebilir ve yeniden çalıştırabilirsiniz.
2. Gün: Çalışma Alanınızı Oluşturma ve Yönetme

Adım 1: “mkdir” ile Dizinler Oluşturun
mkdir komutu — Make Directory — yeni klasörler oluşturur.
mkdir projects
# Check dir
ls
projectsAncak gerçek yıldız mkdir -p‘dir, bu, henüz var olmayan herhangi bir üst dizin dahil olmak üzere bir kerede iç içe dizinler oluşturur.
mkdir -p projects/myapp/logs-p olmadan, önce projects, sonra projects/myapp, sonra projects/myapp/logs ayrı ayrı oluşturmanız gerekirdi. Bununla, bir komut her şeyi yapar.
✅ Projeniz için bir dizin yapısı oluşturdunuz.
Adım 2: “touch” ile Boş Dosyalar Oluşturun
touch komutu anında boş bir dosya oluşturur.
touch projects/myapp/notes.txt
ls projects/myapp/
# logs notes.txtEğer dosya zaten varsa, touch onun zaman damgasını günceller. Yer tutucu dosyalar oluşturmanın veya bir şey üzerinde çalıştığınızı işaretlemenin hızlı bir yoludur.
✅ Sunucuda ilk dosyanızı oluşturdunuz.
Adım 3: “cp” ile Dosyaları Kopyalayın
cp komutu — Copy — dosya ve dizinleri çoğaltır.
cp projects/myapp/notes.txt projects/myapp/notes-backup.txtDizinler için, -r bayrağına (recursive) ihtiyacınız var, bu da dizin içindeki her şeyi de kopyalar:
cp -r projects/myapp projects/myapp-backup✅ Dosyaları ve tüm dizin ağaçlarını çoğaltabilirsiniz.
Adım 4: “mv” ile Dosyaları Taşıyın veya Yeniden Adlandırın
mv komutu iki işi yapar: dosyaları taşır ve yeniden adlandırır. Aynı komut, farklı bağlam.
mv projects/myapp/notes.txt projects/myapp/readme.txtBu, notes.txt‘yi aynı dizinde readme.txt olarak yeniden adlandırır. Bir dosyayı gerçekten farklı bir konuma taşımak için:
mv projects/myapp/readme.txt projects/✅ Bir komutla dosyaları taşıyabilir ve yeniden adlandırabilirsiniz.
Adım 5: “rm” ile Dosyaları Silin
rm komutu — Remove — dosyaları kalıcı olarak siler.
rm projects/myapp-backup/readme.txtDizinler için, -r (recursive) kullanın:
rm -r projects/myapp-backup⚠️ UYARI: rm -rf nükleer seçenektir. -f bayrağı, onay istemeden silmeyi zorlar ve -r ile birleştiğinde, tüm dizin ağaçlarını sessizce siler. Geri alma yoktur. Enter’a basmadan önce yolu iki kez kontrol edin. Asla rm -rf / çalıştırmayın — tüm dosya sisteminizi silmeye çalışacaktır.
✅ Artık ihtiyacınız olmayan dosya ve dizinleri kaldırabilirsiniz.
Adım 6: “echo” ile Metin Yazdırın ve Yazın
echo komutu metni terminale yazdırır — ancak gerçek gücü yönlendirme operatörleriyle birleştiğinde gelir.
echo "Hello, server"Hello, server
Şimdi bu çıktıyı bir dosyaya “>” (üzerine yaz) veya “>>” (ekle) kullanarak yönlendirin:
echo "Server setup started" > projects/myapp/notes.txtecho "Added a log entry" >> projects/myapp/notes.txt> operatörü dosyayı oluşturur veya varsa üzerine yazar. >> operatörü mevcut içeriği etkilemeden sonuna ekler. Bu, yönlendirmenin ilk tadıdır — Linux’un temel süper güçlerinden biri.
✅ Komut satırından doğrudan dosyalara metin yazabilirsiniz.
Adım 7: “cat” ile Dosyaları Okuyun
cat komutu — Concatenate — dosya içeriklerini terminalde görüntüler.
cat projects/myapp/notes.txtKüçük dosyalar için, cat içerikleri incelemenin en hızlı yoludur. Daha büyük dosyalar için, kaydırmanıza izin veren less kullanmak isteyeceksiniz, ancak cat hızlı kontroller için başvuracağınız araçtır.
✅ Bir editör açmadan dosya içeriklerini okuyabilirsiniz.
Adım 8: “nano” ile Dosyaları Düzenleyin
Bir dosyayı gerçekten değiştirmek gerektiğinde, nano en kullanıcı dostu terminal editörüdür.
nano projects/myapp/notes.txtNano, dosyayı terminalinizde basit bir arayüzle açar. Klavye kısayolları ekranın alt kısmında görüntülenir.
💡 İPUCU: Nano’nun temel kısayolları: Ctrl+O kaydetmek için (sonra onaylamak için Enter), Ctrl+X çıkmak için, Ctrl+W metin aramak için. Başlamak için bilmeniz gerekenler bunlar.
vim hakkında da duyacaksınız — daha güçlüdür ancak ünlü bir şekilde dik bir öğrenme eğrisine sahiptir. Şimdilik nano ile devam edin. Terminale alıştığınızda vim‘i keşfedebilirsiniz.
✅ Sunucuda doğrudan dosyaları düzenleyebilirsiniz.
3. Gün: İhtiyacınız Olanı Bulmak

Adım 1: “find” ile Dosyaları Arayın
find komutu, dosyaları ada, türe, boyuta ve daha fazlasına göre arar.
find ./projects -name "*.txt"
Bu, /home altındaki her şeyi .txt ile biten dosyalar için arar. Ayrıca türüne göre de arama yapabilirsiniz — find / -type f -name “config” tüm sistemde “config” adlı dosyaları bulur.
find kapsamlıdır ancak büyük dosya sistemlerinde yavaş olabilir. Günlük aramalar için, en güvenilir aracınızdır.
✅ Sistemdeki herhangi bir dosyayı adı veya türüne göre bulabilirsiniz.
Adım 2: “grep” ile Dosya İçinde Arama Yapın
Eğer find dosyaları buluyorsa, grep içindeki içeriği bulur. Bu, komut satırı dedektifidir.
grep "error" /var/log/syslog
Apr 10 12:15:03 server kernel: [error] disk I/O timeout
Apr 10 12:18:22 server nginx: [error] connection refusedcat /var/log/syslog | grep "error"Bu, önceki örnekle aynı şeyi yapar, ancak boru deseni, komutları bir araya zincirlemenizi sağlar. Boruları sürekli kullanacaksınız, bir kez anladığınızda. Örneğin, bugünün günlük girişlerinde hataları aramak için:
cat /var/log/syslog | grep "Apr 15" | grep "error"Her boru, sonuçları daha da daraltır. Bu bileşenlik, Linux komut satırını bu kadar güçlü kılan şeydir.
✅ Herhangi bir dosyada herhangi bir metin desenini arayabilirsiniz.
Adım 3: Çalıştırılabilir Dosyaların Yerini “which” ile Bulun
which komutu, bir komutun çalıştırılabilir dosyasının sistemde nerede olduğunu söyler.
which python3
/usr/bin/python3✅ Herhangi bir komutun çalıştırılabilir dosyasının tam olarak nerede olduğunu biliyorsunuz.
Adım 4: Daha Fazlasını “whereis” ile Bulun
whereis komutu, which‘ten daha ileri gider — ikili dosyayı, kaynak kodunu (eğer yüklüyse) ve kılavuz sayfasını bulur.
whereis python3
python3: /usr/bin/python3 /usr/lib/python3 /etc/python3 /usr/share/man/man1/python3.1.gz✅ Sistemde bir komutun her bileşenini bulabilirsiniz.
Adım 5: “whatis” ile Hızlı Bir Açıklama Alın
whatis komutu, herhangi bir komutun bir satırlık açıklamasını verir.
whatis grep
grep (1) - print lines that match patterns✅ Herhangi bir komutun amacının bir satırlık özetini alabilirsiniz.
4. Gün: Makinenizi Anlamak

Adım 1: Sistem Bilgilerini “uname” ile Kontrol Edin
uname komutu — Unix Name — sistem bilgilerini görüntüler.
uname -a
Linux alexserver 6.8.0-110-generic #110-Ubuntu SMP PREEMPT_DYNAMIC Thu Mar 19 15:09:20 UTC 2026 x86_64 x86_64 x86_64 GNU/Linux✅ Çekirdek sürümünüzü ve sistem mimarinizi biliyorsunuz.
Adım 2: Disk Alanını “df” ile Kontrol Edin
df komutu — Disk Free — ne kadar depolama alanınız olduğunu ve ne kadarının kullanıldığını gösterir.
df -h
-h bayrağı “insan tarafından okunabilir” anlamına gelir — boyutları GB ve MB olarak, ham baytlar yerine gösterir. “/” kök bölümü satırına dikkat edin. %7 kullanılmış, bu sunucunun bolca alanı var demektir. Eğer bu sayının %80’i geçtiğini görürseniz, temizleme zamanı gelmiştir.
✅ Ne kadar disk alanının mevcut olduğunu tam olarak biliyorsunuz.
Adım 3: Belleği “free” ile Kontrol Edin
free komutu RAM kullanımınızı gösterir.
free -h
Yine, -h size insan tarafından okunabilir çıktı verir. Buradaki anahtar sütun “available” — bu, yeni uygulamalar için gerçekten boş olan bellek. “Used” sütunu, gerektiğinde serbest bırakılabilecek önbellek için çekirdeğin kullandığı belleği içerir. 4GB RAM’e sahip yeni bir VPS’de, 3.3GB kullanılabilir görmek tam olarak istediğiniz şeydir.
✅ Sunucunuzun ne kadar belleği olduğunu ve ne kadarının boş olduğunu biliyorsunuz.
Adım 4: Süreçleri “top” ile İzleyin
top komutu, gerçek zamanlı süreç izleme — çalışan süreçlerin ve her bir sürecin ne kadar kaynak tükettiğinin canlı bir görünümünü gösterir.
top
top her birkaç saniyede bir güncellenir. En önemli sütunlar PID (süreç kimliği), %CPU, %MEM ve COMMAND’dir. Sunucunuz yavaş hissediyorsa, top bakmanız gereken ilk yerdir.
💡 İPUCU: top komutundan çıkmak için q tuşuna basın. Eğer top çalışıyorsa ve nasıl durduracağınızı bilmiyorsanız, cevap budur.
✅ Çalışan süreçleri gerçek zamanlı olarak izleyebilirsiniz.
Adım 5: Süreçleri “ps” ile Anlık Görüntü Alın
ps komutu — Process Status — çalışan süreçlerin statik bir anlık görüntüsünü verir.
ps aux
aux bayrakları, tüm kullanıcıların tüm süreçlerini ayrıntılı bilgilerle gösterir. Anahtar sütunlar: USER (sürecin sahibi), PID (öldürmek için kullanacağınız süreç kimliği), %CPU ve %MEM (kaynak kullanımı) ve COMMAND (ne çalışıyor). Hızlı bir anlık görüntüye ihtiyacınız olduğunda ps kullanın.
✅ Her çalışan sürecin anlık görüntüsünü alabilirsiniz.
Adım 6: Takvimi “cal” ile Kontrol Edin
cal komutu basit bir takvim görüntüler.
cal April 2026
Su Mo Tu We Th Fr Sa
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30Bu zorunlu değildir, ancak terminalin sadece sunucu yönetmekten daha fazlasını yapabileceğinin hoş bir hatırlatıcısıdır. Ayrıca oturumunuzu terk etmeden tarihi kontrol etmenin hızlı bir yoludur.
✅ Terminalinizde bir takvim görüntüleyebilirsiniz.
Adım 7: Tarihi “date” ile Kontrol Edin
date komutu, mevcut sistem tarihini ve saatini gösterir.
date
Wed Apr 15 14:32:01 UTC 2026✅ Sunucunuzun mevcut tarih ve saatini biliyorsunuz.
5. Gün: Yazılım Yükleme ve Hizmetleri Çalıştırma

Adım 1: Paket Listelerini “apt update” ile Güncelleyin
Bir şey yüklemeden önce, paket deposu listelerinizi yenileyin.
sudo apt updateHit:1 http://archive.ubuntu.com/ubuntu jammy InRelease
Get:2 http://archive.ubuntu.com/ubuntu jammy-updates InRelease [128 kB]
Get:3 http://security.ubuntu.com/ubuntu jammy-security InRelease [129 kB]
Fetched 257 kB in 2s (134 kB/s)
Reading package lists... Done
Building dependency tree... Donesudo apt update && sudo apt upgrade -yCentOS veya Fedora gibi Red Hat tabanlı sistemlerde, eşdeğer komutlar yum update veya dnf update‘dir.
✅ Paket listeniz güncel ve yüklemelere hazır.
Adım 2: Yazılımı “apt install” ile Yükleyin
Şimdi bir şey yükleyelim. Nginx, popüler bir web sunucusudur — kurmak için iyi bir ilk hizmet.
sudo apt install nginx -yReading package lists... Done
Building dependency tree... Done
The following NEW packages will be installed:
nginx nginx-common nginx-core
0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded.
Need to get 582 kB of archives.
Setting up nginx (1.18.0-6ubuntu14.4) ...✅ Sunucuda ilk hizmetinizi yüklediniz.
Adım 3: Hizmetleri “systemctl” ile Yönetin
systemctl komutu — System Control — hizmetleri başlatmak, durdurmak ve yönetmek için kullanılır.
systemctl status nginx● nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2026-04-15 14:35:00 UTC; 2min ago
Main PID: 1234 (nginx)
Tasks: 2 (limit: 4915)
Memory: 3.2M
CGroup: /system.slice/nginx.servicesudo systemctl start nginx # Start the service now sudo systemctl stop nginx # Stop the service sudo systemctl enable nginx # Start automatically on every boot
enable komutu, yeni başlayanların kaçırdığı bir şeydir. start hizmeti hemen çalıştırır. enable, sunucu her yeniden başlatıldığında başlamasını sağlar. Bir web sunucusu için, neredeyse her zaman her ikisini de istersiniz.
✅ Sunucunuzdaki herhangi bir hizmeti kontrol edebilirsiniz.
Adım 4: Süreçleri “kill” ile Durdurun
Bazen bir süreci manuel olarak sonlandırmanız gerekir. kill komutu bunu PID ile yapar.
kill 1234Bu, 1234 numaralı sürece bir sonlandırma sinyali gönderir ve nazikçe kapanmasını ister. Eğer yanıt vermezse, onu zorlayabilirsiniz:
kill -9 1234⚠️ UYARI: kill -9 zorla öldürmedir. Sürecin temizlenmesine izin vermez — durum kaydetme, bağlantıları düzgün kapatma yoktur. Normal bir kill çalışmadığında kullanın.
PID’yi ps aux veya top kullanarak bulun, ardından öldürün.
✅ Herhangi bir süreci kimliğiyle sonlandırabilirsiniz.
Adım 5: “pkill” ile İsimle Öldürün
Önce PID’yi bulmak bazen gereksizdir. pkill komutu, süreçleri isme göre öldürür.
pkill nginxBu, “nginx” ile eşleşen tüm süreçleri bulur ve sonlandırır. ps ile PID’yi aramaktan ve ardından kill çalıştırmaktan daha hızlıdır. Süreç adını bildiğinizde ve hızlı bir sonlandırma istediğinizde pkill kullanın.
✅ PID’lerini bilmeden süreçleri öldürebilirsiniz.
Adım 6: Dosyaları “wget” ile İndirin
wget komutu — Web Get — internetten dosya indirir.
wget https://example.com/file.zip--2026-04-15 14:40:00-- https://example.com/file.zip
Resolving example.com (example.com)... 93.184.216.34
Connecting to example.com (example.com)|93.184.216.34|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1048576 (1.0M) [application/zip]
Saving to: 'file.zip'
file.zip 100%[===================>] 1.00M 2.34MB/s in 0.4s
2026-04-15 14:40:01 (2.34 MB/s) - 'file.zip' saved [1048576/1048576]✅ Dosyaları doğrudan sunucunuza indirebilirsiniz.
Adım 7: Verileri “curl” ile Aktarın
curl komutu — Client URL — wget‘ten daha çok yönlüdür. İndirmeleri, API isteklerini ve özel başlıklarla veri aktarımlarını yönetir.
curl -O https://example.com/file.zip-O bayrağı dosyayı orijinal adıyla kaydeder (tıpkı wget gibi). Ancak curl çok daha fazlasını yapabilir:
curl -s https://api.example.com/data-s bayrağı sessizce çalışır, bu da curl‘u betik yazma ve API çağrıları için mükemmel kılar. wget basit indirmeler için harika olsa da, curl web hizmetleriyle etkileşim kurmanız, API’leri test etmeniz veya özel HTTP başlıkları göndermeniz gerektiğinde başvuracağınız araçtır.
✅ Herhangi bir URL’den veri aktarabilirsiniz — dosyalar, API’ler ve daha fazlası.
6. Gün: Güvenliği Sağlama

📝 NOT: Bu komutların çalışması için kullanıcınızın sudo izinlerine sahip olması gerekir. Çoğu VPS sağlayıcısında, varsayılan kullanıcı zaten sudo erişimiyle ayarlanmıştır. Yeni bir kullanıcı oluşturduysanız, önce onları sudo grubuna eklemeniz gerekecektir.
Adım 1: Komutları Güvenli Bir Şekilde “sudo” ile Çalıştırın
sudo komutu — Superuser Do — komutları yükseltilmiş ayrıcalıklarla çalıştırmanıza izin verir.
sudo apt updateBir oturumda ilk kez sudo kullandığınızda şifreniz istenecektir. Bundan sonra, birkaç dakika boyunca hatırlar. sudo‘nun var olma nedeni basittir: her zaman root olarak çalışmak tehlikelidir. Root ayrıcalıklarıyla yapılan tek bir yazım hatası sisteminizi silebilir. sudo, her komut için ayrıcalıkları bilinçli olarak yükseltmenizi zorlar — bu, sadece bir ayrıcalık yükseltici değil, bir güvenlik mekanizmasıdır.
✅ Root olarak giriş yapmadan yönetici komutları çalıştırabilirsiniz.
Adım 2: Dosya İzinlerini “chmod” ile Değiştirin
chmod komutu — Change Mode — bir dosyayı kimin okuyabileceğini, yazabileceğini veya çalıştırabileceğini kontrol eder.
chmod 755 script.shSayılar üç grup için izinleri temsil eder: sahip, grup ve diğer herkes. Her rakam, okuma (4), yazma (2) ve çalıştırma (1) toplamıdır:
- 755 demektir ki: sahip her şeyi yapabilir (4+2+1=7), grup okuyabilir ve çalıştırabilir (4+1=5), diğer herkes okuyabilir ve çalıştırabilir (4+1=5). Bu, betikler ve dizinler için standarttır.
- 644 demektir ki: sahip okuyabilir ve yazabilir (4+2=6), grup okuyabilir (4), diğer herkes okuyabilir (4). Bu, yapılandırma dosyaları ve belgeler için standarttır.
chmod 644 config.txtBir betik çalışmıyorsa, neredeyse her zaman bir izin sorunudur. chmod +x script.sh, herhangi bir dosyayı çalıştırılabilir hale getirmenin hızlı bir yoludur, sayıları hatırlamadan.
✅ Her dosyaya kimin erişebileceğini tam olarak kontrol ediyorsunuz.
Adım 3: Dosya Sahipliğini “chown” ile Değiştirin
chown komutu — Change Owner — bir dosyanın kimin sahip olduğunu ayarlar.
sudo chown www-data:www-data /var/www/html/index.htmlBu, sahipliği www-data ve grubu www-data olarak değiştirir. Bu, web sunucuları kurarken yaygın olarak kullanılır — web sunucusu süreci, sunduğu dosyaların sahibi olmalıdır. Format user:group‘tur ve sahipliği değiştirmek için neredeyse her zaman sudo gerekecektir.
✅ Herhangi bir kullanıcıya veya gruba dosya sahipliği atayabilirsiniz.
Adım 4: Şifreleri “passwd” ile Değiştirin
passwd komutu, kullanıcı şifrelerini günceller.
passwd username
Yeni bir VPS’de, varsayılan şifreyi değiştirmek ilk eylemlerinizden biri olmalıdır. Şifresini değiştirmek istediğiniz kullanıcı olarak giriş yaptıysanız, sadece passwd çalıştırın, kullanıcı adı olmadan.✅ Sistemdeki herhangi bir kullanıcı için şifreleri güncelleyebilirsiniz.
Adım 5: Yeni Kullanıcılar “useradd” ile Oluşturun
useradd komutu, yeni bir kullanıcı hesabı oluşturur.
sudo useradd -m newuser-m bayrağı kritiktir — bu, /home/newuser konumunda bir ev dizini oluşturur. Olmadan, kullanıcı var olur ancak bir ev dizini yoktur, bu da SSH ve çeşitli uygulamalarla sorunlara neden olur. Kullanıcıyı oluşturduktan sonra, şifresini ayarlayın:
sudo passwd newuser✅ Ev dizinleriyle yeni kullanıcı hesapları oluşturabilirsiniz.
Adım 6: Kullanıcılar Arasında “su” ile Geçiş Yapın
su komutu — Switch User — başka bir kullanıcı olarak oturum açmanıza izin verir.
su - newuser
whoami
newuser✅ Sunucuda kullanıcı hesapları arasında geçiş yapabilirsiniz.
Adım 7: Güvenlik Duvarını “ufw” ile Ayarlayın
ufw komutu — Uncomplicated Firewall — Ubuntu’da sunucunuzun güvenlik duvarını yönetmenin en basit yoludur.
Öncelikle, varsayılan politikayı tüm gelen bağlantıları reddetmek üzere ayarlayın:
sudo ufw default deny incomingsudo ufw allow 22/tcp⚠️ KRİTİK UYARI: Her zaman sudo ufw enable komutundan önce sudo ufw allow 22/tcp çalıştırın. Güvenlik duvarını SSH’ye izin vermeden etkinleştirirseniz, sunucudan kendinizi kilitlersiniz. Tek seçeneğiniz, sunucuya barındırma sağlayıcınızın konsolu aracılığıyla erişmek olacaktır — bu, tüm planlarda mevcut olmayabilir.
Şimdi güvenlik duvarını etkinleştirmek güvenlidir:
sudo ufw enable
Command may disrupt existing SSH connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startupsudo ufw status
Status: active
To Action From
-- ------ ----
22/tcp ALLOW Anywhere✅ Sunucunuz bir güvenlik duvarı ile korunuyor.
7. Gün: Ağ Kontrolleri ve Tamamlama

Adım 1: Bağlantıyı “ping” ile Test Edin
ping komutu, sunucunuzun ağdaki diğer makinelerle iletişim kurup kuramayacağını test eder.
ping -c 4 8.8.8.8
-c 4 bayrağı, ping’i 4 paketle sınırlar. Olmadan, ping sonsuza kadar çalışır, Ctrl+C tuşuna basana kadar. Sonuçlardaki istatistikler size her şeyi söyler: 4 paket gönderildi, 4 alındı, %0 kayıp. Sunucunuzun ağı çalışıyor.✅ Sunucunuzun çalışan bir ağ bağlantısına sahip olduğunu doğruladınız.
Adım 2: Ağ Arayüzlerini “ip” ile Kontrol Edin
ip komutu, sunucunuzun ağ yapılandırmasını gösterir.
ip addr
ip komutu, eski ifconfig‘in yerini alır. Çıktı, döngüsel arayüzünüzü (lo, her zaman 127.0.0.1) ve ana ağ arayüzünüzü (bu durumda eth0) gösterir. inet satırı, sunucunuzun IP adresini gösterir — bu, SSH ile giriş yapmak veya web sunucunuza erişmek için kullanacağınız adresdir.✅ Sunucunuzun IP adreslerini ve ağ arayüzlerini görebiliyorsunuz.
Adım 3: Dosya Bağlantılarını “ln” ile Oluşturun
ln komutu, dosyalar arasında bağlantılar oluşturur — esasen kısayollar.
ln -s /var/www/html /home/user/webrootBu, /home/user/webroot konumunda /var/www/html‘ye işaret eden bir sembolik bağlantı oluşturur. Bağlantıya eriştiğinizde, aslında hedef dizine erişiyorsunuz. Sembolik bağlantılar, dosyaları çoğaltmadan uygun erişim yolları oluşturmak için kullanışlıdır.
✅ Sistemdeki herhangi bir dosya ve dizine kısayollar oluşturabilirsiniz.
Adım 4: “shutdown” ile Güvenli Bir Şekilde Kapatın
shutdown komutu, sunucunuzu kontrollü bir şekilde kapatır.
sudo shutdown -h now-h bayrağı “halt” anlamına gelir — her şeyi durdur ve kapat. now hemen demektir. Ancak bir kapatma planlayabilirsiniz:
sudo shutdown -h +5Bu, kapatmadan önce size 5 dakika verir — çalışmayı kaydetmek, kullanıcıları bilgilendirmek veya fikrinizi değiştirmek için yeterli zaman. Planlanmış bir kapatmayı iptal etmek için:
sudo shutdown -c-c bayrağı, bekleyen herhangi bir kapatmayı iptal eder. Bu, yanlışlıkla bir kapatmadan sizi kurtarabilecek küçük bir güvenlik ağıdır.
✅ Sunucuyu güvenli bir şekilde, hemen veya bir programla kapatabilirsiniz.
Adım 5: “reboot” ile Yeniden Başlatın
reboot komutu, sunucunuzu yeniden başlatır.
sudo rebootBu, shutdown -r now ile eşdeğerdir — -r bayrağı “restart” anlamına gelir, “halt” yerine. Bunu çekirdek güncellemelerinden veya yeni bir başlangıç gerektiren yapılandırma değişikliklerinden sonra kullanacaksınız.
✅ Sunucuyu tek bir komutla yeniden başlatabilirsiniz.
Sıradaki Ne
Yedi gün önce, nasıl kullanılacağını bilmediğiniz bir sunucuya SSH ile bağlandıktan sonra boş bir terminale bakıyordunuz. Şimdi dosya sisteminde gezinebilir, dosyalar oluşturup yönetebilir, sistemde herhangi bir şeyi arayabilir, sunucunuzun sağlığını kontrol edebilir, yazılım yükleyebilir, hizmetleri çalıştırabilir, güvenliği sağlayabilir ve sunucunun yaşam döngüsünü başlatmaktan kapatmaya kadar yönetebilirsiniz.
Gerçek beceri, bu komutları ezberlemek değildir. Bir sorun ortaya çıktığında hangisine başvuracağınızı bilmektir. Bu, onları kullanmaktan gelir — sadece okumaktan değil.
Bugün bir terminal açın. ls, cd ve pwd komutlarını doğal hale gelene kadar çalıştırın. Her gün yeni bir komut ekleyin. Bir hafta içinde, terminal artık yabancı bir arayüz gibi hissettirmeyecek. Sunucunuza doğrudan bir hat gibi hissedecek.
Bu komutları kendi sunucunuzda çalıştırmaya hazırsanız, AlexHost uygun fiyatlı Linux VPS planları sunar, anında kurulum ve 7/24 destek ile — risksiz pratik yapmak için harika bir yer.
Hızlı Başvuru: Tüm Komutlar Bir Bakışta
İşte bu kılavuzdaki her komut bir yerde. Bu sayfayı yer imlerine ekleyin.
| Komut | Ne Anlama Gelir | Ne Yapar |
|---|---|---|
ssh | Secure Shell | Uzak bir sunucuya güvenli bir şekilde bağlanın |
whoami | Who Am I | Geçerli kullanıcı adını göster |
pwd | Print Working Directory | Geçerli dizin yolunu göster |
ls | List | Dosya ve dizinleri listele |
cd | Change Directory | Dizinler arasında gezin |
clear | Clear | Terminal ekranını temizle |
man | Manual | Herhangi bir komut için kılavuz sayfasını aç |
history | History | Önceden çalıştırılan komutları göster |
mkdir | Make Directory | Yeni dizinler oluştur |
touch | Touch | Boş dosyalar oluştur veya zaman damgalarını güncelle |
cp | Copy | Dosya ve dizinleri kopyala |
mv | Move | Dosya ve dizinleri taşı veya yeniden adlandır |
rm | Remove | Dosya ve dizinleri sil |
echo | Echo | Metin yazdır veya dosyalara yaz |
cat | Concatenate | Dosya içeriklerini görüntüle |
nano | Nano | Terminal tabanlı metin editörü |
find | Find | Dosyaları ada, türe veya özelliklere göre ara |
grep | Global Regular Expression Print | Dosyalarda metin desenlerini ara |
which | Which | Bir komutun çalıştırılabilir yolunu bul |
whereis | Where Is | Bir komut için ikili, kaynak ve kılavuzu bul |
whatis | What Is | Bir komutun bir satırlık açıklamasını al |
uname | Unix Name | Sistem bilgilerini görüntüle |
df | Disk Free | Disk alanı kullanımını göster |
free | Free | Bellek/RAM kullanımını göster |
top | Top | Gerçek zamanlı süreç izleme |
ps | Process Status | Çalışan süreçlerin anlık görüntüsü |
cal | Calendar | Bir takvim görüntüle |
date | Date | Sistem tarih ve saatini göster veya ayarla |
apt update | APT Update | Paket deposu listelerini yenile |
apt install | APT Install | Yazılım paketlerini yükle |
systemctl | System Control | Hizmetleri başlat, durdur ve yönet |
kill | Kill | Bir süreci PID ile sonlandır |
pkill | Process Kill | Süreçleri isme göre sonlandır |
wget | Web Get | İnternetten dosya indir |
curl | Client URL | URL’lerden veri aktar |
sudo | Superuser Do | Yükseltilmiş ayrıcalıklarla komut çalıştır |
chmod | Change Mode | Dosya izinlerini değiştir |
chown | Change Owner | Dosya sahipliğini değiştir |
passwd | Password | Kullanıcı şifrelerini değiştir |
useradd | User Add | Yeni bir kullanıcı hesabı oluştur |
su | Switch User | Başka bir kullanıcıya geç |
ufw | Uncomplicated Firewall | Sunucu güvenlik duvarını yönet |
ping | Ping | Ağ bağlantısını test et |
ip | IP | Ağ arayüzlerini ve adreslerini göster |
ln | Link | Dosya bağlantıları oluştur (sembolik veya sert) |
shutdown | Shutdown | Sunucuyu güvenli bir şekilde kapat |
reboot | Reboot | Sunucuyu yeniden başlat |

