Kopya kâğıdı

Linux komutları: yeni başlayanlar ve yöneticiler için özet kılavuz

Güncellendi: · Skillaria.Top

Linux'un temel komutları gruplara ayrılır: gezinme (pwd, ls, cd), dosya işlemleri (cp, mv, rm, mkdir), haklar (chmod, chown), paketler (apt), süreçler (ps, top, kill), arama ve metin işleme (find, grep, sed, awk), ağ (ip, ss, curl) ve servisler (systemctl, journalctl). Aşağıda komutları ve örnekleri içeren tablolar var; terminalde günlük işlerin büyük kısmını kapsarlar.

Bu Linux komutları özeti, işlere göre gruplandırılmıştır: bir dosyayı bulmak, bir paket kurmak, takılı kalmış bir süreci sonlandırmak, bir günlükten satır çekmek ya da bir portu kontrol etmek. Komutlar Ubuntu ve Debian üzerinde denenmiştir; neredeyse hepsi diğer dağıtımlarda da çalışır, temel fark paket yöneticisindedir.

Yardım ve ipuçları

ead>
KomutNe yapar
man lskomutun tam kılavuzu; çıkmak için q, aramak için /kelime
ls --helpseçeneklerin kısa özeti
type cdbunun yerleşik komut, takma ad mı yoksa dosya mı olduğunu gösterir
which python3çalıştırılabilir dosyanın yolu
historykomut geçmişi; !123 123 numaralı komutu yeniden çalıştırır
Ctrl+Rgeçmişte arama
Ctrl+C / Ctrl+Dkomutu kesmek / kabuğu kapatmak

Dosya sisteminde gezinme

ead>
KomutNe yapar
pwdbulunulan dizin
ls -lagizli dosyalar dahil tümü, haklar ve boyutlarla
ls -lhboyutlar okunabilir biçimde (K, M, G)
ls -ltdeğişiklik zamanına göre sıralama
cd /var/logmutlak yolla gitmek
cd .. / cd ~ / cd -bir üst dizine / ev dizinine / önceki dizine
tree -L 2dizin ağacını 2 seviye göstermek (tree paketi)

Dosya ve dizin işlemleri

ead>
KomutNe yapar
touch file.txtboş dosya oluşturmak veya değişiklik zamanını güncellemek
mkdir -p a/b/cüst dizinleriyle birlikte dizin oluşturmak
cp file.txt backup.txtdosya kopyalamak
cp -r src/ dst/dizini içeriğiyle özyinelemeli kopyalamak
mv old.txt new.txtyeniden adlandırmak veya taşımak
rm file.txtdosyayı silmek (çöp kutusuna gitmez)
rm -r dir/dizini içeriğiyle silmek; -f sormadan, dikkatli olun
rmdir dirboş dizini silmek
ln -s /opt/app/current appsembolik bağlantı oluşturmak
stat file.txtayrıntılar: boyut, haklar, inode, tarihler
file image.biniçeriğe bakarak dosya türünü belirlemek

İçeriği görüntüleme

ead>
KomutNe yapar
cat filedosyanın tamamını göstermek
less filesayfa sayfa gösterim, arama /, çıkış q
head -n 20 fileilk 20 satır
tail -n 50 fileson 50 satır
tail -f /var/log/syslogdosyayı canlı izlemek
wc -l filesatır sayısı
diff a.conf b.confiki dosya arasındaki farklar

Haklar ve sahiplik

ead>
KomutNe yapar
chmod +x script.shçalıştırma iznini vermek
chmod 644 filerw-r--r--: sahip yazar, diğerleri okur
chmod 755 dirrwxr-xr-x: dizinler ve betikler için tipik
chmod 600 ~/.ssh/id_ed25519yalnızca sahip: özel anahtarlar için
sudo chown www-data:www-data filesahibi ve grubu değiştirmek
sudo chown -R alice /srv/appsahibi özyinelemeli olarak değiştirmek
idUID, GID ve gruplarınız
sudo -iroot kabuğu
sudo usermod -aG docker alicekullanıcıyı gruba eklemek

Paketler (apt, Debian ve Ubuntu)

ead>
KomutNe yapar
sudo apt updatedepolardan paket listesini güncellemek
sudo apt upgradekurulu paketleri yükseltmek
sudo apt install nginxpaket kurmak
sudo apt remove nginxkaldırmak, yapılandırmayı bırakarak; purge yapılandırmayla birlikte siler
sudo apt autoremovegereksiz bağımlılıkları silmek
apt search htoppaket aramak
apt show nginxaçıklama ve sürüm
dpkg -l | grep nginxpaket kurulu mu
dpkg -L nginxpaketin kurduğu dosyalar

RHEL, Fedora ve Rocky Linux'ta karşılıkları: dnf install, dnf remove, dnf upgrade, rpm -qa.

Ortam ve profil

ead>
KomutNe yapar
echo $PATHkabuğun programları nerede aradığı
envtüm ortam değişkenleri
export APP_ENV=proddeğişkeni geçerli oturum ve alt süreçler için tanımlamak
alias ll='ls -la'komuta kısayol
source ~/.bashrcoturumu kapatmadan profili yeniden okumak
crontab -e / crontab -lcron görevlerini düzenlemek / listelemek

Süreçler

ead>
KomutNe yapar
ps auxtüm süreçler, kullanıcı, CPU ve bellek bilgisiyle
ps aux | grep nginxsüreç aramak
pgrep -a nginxada göre PID ve komut satırı
top / htopanlık yük
kill 1234süreçten kapanmasını istemek (SIGTERM)
kill -9 1234zorla sonlandırmak (SIGKILL) — son çare
pkill -f "python app.py"komut satırı eşleşmesiyle sonlandırmak
command &, jobs, fgarka planda çalıştırmak ve işleri yönetmek
nohup ./job.sh &süreç terminal kapansa da çalışmaya devam eder
free -hbellek ve swap
uptimeçalışma süresi ve ortalama yük
strace -p 1234sürecin sistem çağrıları

Servisler ve günlükler (systemd)

ead>
KomutNe yapar
systemctl status nginxservisin durumu ve günlüğün son satırları
sudo systemctl start|stop|restart nginxbaşlatmak, durdurmak, yeniden başlatmak
sudo systemctl reload nginxdurdurmadan yapılandırmayı yeniden okutmak
sudo systemctl enable --now nginxotomatik başlatmayı açmak ve hemen başlatmak
systemctl --failedhata veren birimler
journalctl -u nginx -fservisin günlüğü canlı
journalctl -u nginx --since "1 hour ago"son bir saatin günlüğü
journalctl -p err -baçılıştan beri hatalar

Dosya arama

ead>
KomutNe yapar
find /var/log -name "*.log"ada göre arama
find . -type f -mtime -1son bir günde değişen dosyalar
find / -size +500M 2>/dev/nullbüyük dosyalar; erişim hataları gizlenmiş
find . -name "*.tmp" -deletebulup silmek
du -sh *dizindeki her öğenin boyutu
df -hdosya sistemlerinde boş alan

Metin arama ve işleme: grep, sed, awk, jq

ead>
KomutNe yapar
grep "error" app.logkelimeyi içeren satırlar
grep -i -n "error" app.logbüyük/küçük harf duyarsız, satır numaralarıyla
grep -r "listen" /etc/nginx/dizinde özyinelemeli arama
grep -v "DEBUG" app.logkelimenin bulunmadığı satırlar
grep -c "500" access.logeşleşme sayısı
grep -E "warn|error" app.loggenişletilmiş düzenli ifadeler
sed 's/old/new/g' filedeğiştirip sonucu göstermek
sed -i 's/8080/9090/' app.confdoğrudan dosyada değiştirmek
sed -n '10,20p' file10–20. satırları göstermek
awk '{print $1}' access.logher satırın ilk alanı
awk -F: '{print $1}' /etc/passwdkullanıcı adları (ayırıcı :)
awk '$9 == 500' access.logdokuzuncu alanı 500 olan satırlar
sort | uniq -c | sort -rntekrarları saymak ve sıklığa göre sıralamak
cut -d, -f2 data.csvCSV'nin ikinci sütunu
jq '.items[].name' data.jsonJSON'dan alanları çekmek

Boru hattı örneği: nginx'e en çok istek gönderen on IP adresi.

awk '{print $1}' /var/log/nginx/access.log | sort | uniq -c | sort -rn | head -10

Yönlendirme ve borular

ead>
YapıNe yapar
cmd > out.txtçıktıyı dosyaya yazmak (üzerine yazar)
cmd >> out.txtdosyanın sonuna eklemek
cmd 2> err.txthataları yönlendirmek
cmd > all.log 2>&1çıktı ve hatalar aynı dosyada
cmd1 | cmd2bir komutun çıktısını diğerinin girdisi yapmak
cmd | tee out.txtekranda göstermek ve kaydetmek
cmd1 && cmd2yalnızca birincisi başarılıysa ikinciyi çalıştırmak
cmd1 || cmd2birincisi başarısızsa ikinciyi çalıştırmak

Arşivler

ead>
KomutNe yapar
tar -czf backup.tar.gz dir/paketleyip gzip ile sıkıştırmak
tar -xzf backup.tar.gzaçmak
tar -tzf backup.tar.gziçeriğini görmek
zip -r site.zip site/ / unzip site.zipzip arşivleri

Ağ

ead>
KomutNe yapar
ip aarayüzler ve IP adresleri
ip ryönlendirme tablosu
ping -c 4 8.8.8.8bir sunucunun erişilebilirliği
ss -tulpnaçık portlar ve bunları kullanan süreçler
dig example.com / nslookup example.comDNS sorgusu
curl -I https://example.comyalnızca yanıt başlıkları
curl -s https://api.example.com | jqAPI isteği ve düzgün JSON
wget URLdosya indirmek
traceroute example.compaketlerin bir sunucuya giden yolu
ssh user@hostsunucuya bağlanmak
ssh-keygen -t ed25519SSH anahtar çifti oluşturmak
scp file user@host:/tmp/dosyayı sunucuya kopyalamak
rsync -avz dir/ user@host:/srv/dir/dizini eşitlemek
sudo ufw statusgüvenlik duvarı kuralları

Sistem ve diskler

ead>
KomutNe yapar
uname -açekirdek ve mimari
cat /etc/os-releasedağıtım ve sürüm
hostnamectlsunucu adı ve sistem bilgisi
lsblkdiskler ve bölümler
sudo mount /dev/sdb1 /mntbölümü bağlamak
who / wsistemde şu an kimler var
sudo reboot / sudo shutdown -h nowyeniden başlatma / kapatma

Kısaca

Günlük çalışma için yirmi kadar komut yeterlidir: ls, cd, cp, mv, rm, chmod, sudo, apt, ps, kill, systemctl, journalctl, grep, find, ss, curl ve ssh. Bu Linux komutları özetini saklayın ve parmaklarınız alışana kadar başvurun. Komut gruplarının tamamı kurs içinde uygulamalı olarak işlenmektedir.

Sık sorulan sorular

man veya less görüntüleyicisinden nasıl çıkılır?

<code>q</code> tuşuna basın. İçeride aramak için eğik çizgi ve kelimeyi yazın; <code>n</code> bir sonraki eşleşmeye geçer.

vim editöründen nasıl çıkılır?

<code>Esc</code> tuşuna basın, ardından kaydetmeden çıkmak için <code>:q!</code>, kaydedip çıkmak için <code>:wq</code> yazıp Enter'a basın. Yeni başlayanlar için dosyaları nano ile düzenlemek daha kolaydır.

rm -rf neden tehlikelidir?

Komut onay sormadan ve çöp kutusuna göndermeden siler; yoldaki küçük bir hata (örneğin yıldızdan önceki fazla boşluk) yanlış dizini silebilir. Çalıştırmadan önce yolu <code>ls</code> ile kontrol edin.

Son komutu sudo ile nasıl tekrarlarım?

<code>sudo !!</code> yazın; kabuk önceki komutu tamamen yerine koyar.

Terminalde takılan bir komut nasıl durdurulur?

<code>Ctrl+C</code> kesme sinyali gönderir. Komut yanıt vermiyorsa, başka bir terminalde <code>ps</code> veya <code>pgrep</code> ile PID'sini bulup <code>kill</code> ile sonlandırın.