Linux – Pratik kılavuz
Bu sayfa, kompakt ama kullanışlı bir Linux referansı olarak tasarlanmıştır.
Tüm örnekler genel olup, çoğu Linux dağıtımına uygulanabilir.
(Debian/Ubuntu, RHEL/Fedora, Arch, Alpine), aksi belirtilmedikçe.
1. Dosya Yapısı ve Navigasyon
Linux, bir merkezi ağaç yapısı (/) ile çalışır, Windows'taki gibi sürücü harfleri ile değil.
Önemli klasörler:
/– sistemin köküdür/home– kişisel kullanıcı klasörleri/etc– yapılandırma dosyaları/var– değişken veri (loglar, e-posta, önbellek)/usr– programlar ve kütüphaneler/tmp– geçici dosyalar/srv– hizmetler için veri (web, uygulamalar)
Navigasyon tamamen terminal üzerinden yapılır. Her zaman "geçerli dizin" üzerinden çalışırsınız.
Mevcut yolu görüntüle:
pwd
Geçerli klasördeki dosyaları ve klasörleri göster:
ls
ls -lah
Seçenekler:
-lbir liste görünümü gösterir-agizli dosyaları da gösterir-hboyutları okunabilir hale getirir
Klasör yapısında gezinme:
cd /path/to/folder
cd ..
cd ~
2. Dosyaları ve klasörleri yönetme
Dosyalar ve klasörler tamamen komutlar aracılığıyla oluşturulur, taşınır ve silinir.
Bir klasör oluşturmak:
mkdir folder
mkdir -p a/b/c
-p eksik ara dizinlerin de oluşturulmasını sağlar.
Boş bir dosya oluşturmak veya zaman damgasını güncellemek:
touch file.txt
Dosyaları veya klasörleri kopyalama:
cp source dest
cp -a source dest
-a (arşiv) hakları, sahipliği ve sembolik bağlantıları korur ve neredeyse her zaman önerilir.
Dosyaları veya klasörleri taşımak veya yeniden adlandırmak:
mv old new
Dosyaları ve klasörleri silmek:
rm file
rm -r folder
rm -rf folder
-r= özyinelemeli-f= zorunlu, onay olmadan
rm -rf komutunu yalnızca ne yaptığınızdan emin olduğunuzda kullanın.
Bir sembolik bağlantı oluşturmak:
ln -s target link
3. Dosyaları görüntüleme ve okuma
Dosyaları görüntülemek için boyut ve kullanımına bağlı olarak çeşitli araçlar mevcuttur.
Tam içeriği göster:
cat file
Küçük dosyalar için uygundur.
Etkileşimli görüntüleme (kaydırma ve arama):
less file
İlk veya son satırları görüntüle:
head -n 20 file
tail -n 20 file
Bir dosyayı canlı takip etmek (örneğin günlükler):
tail -f /var/log/syslog
4. Metin arama ve filtreleme
Linux, günlüklerde ve yapılandırma dosyalarında metin aramak ve filtrelemek için güçlü araçlar sunar.
Metin arama:
grep "text" file
grep -R "text" folder
grep -Rni "tekst" folder
Seçenekler:
-R= özyinelemeli-n= satır numarası-i= büyük/küçük harf duyarsız
Dosya adıyla arama:
find . -name "*.log"
Değişiklik tarihine göre dosyaları arama:
find . -type f -mtime -7
Metin içinden sütunlar veya alanlar almak:
awk '{print $1}' file
cut -d: -f1 file
5. Haklar ve mülkiyet
Linux, kullanıcılar, gruplar ve dosya başına izinlerle çalışır.
Hakları görüntüle:
ls -l
Hakları ayarlamak:
chmod 644 file
chmod 755 script.sh
Anlamı:
644= sahibi için okuma/yazma, diğerleri için okuma755= herkes için çalıştırılabilir
Sahibi ve grubu düzenle:
chown user:group file
Mevcut kullanıcı ve grupları görüntüle:
id
groups
6. Süreçler ve sistem durumu
Linux, aktif süreçler ve sistem kullanımı hakkında kapsamlı bilgiler sunar.
Tüm süreçler gösteriliyor:
ps aux
Canlı CPU ve bellek görünümü:
top
htop
Bellek kullanımını görüntüle:
free -h
Dosya sistemi başına disk alanı:
df -h
Klasör boyutu:
du -sh folder
Bir süreci sonlandırmak:
kill PID
kill -9 PID
-9 kapatmayı zorlar ve yalnızca son çare olarak kullanılmalıdır.
7. Ağ ve bağlantı
Ağ durumu ve bağlantı, sunucular ve uygulamalar için hayati öneme sahiptir.
Ağ arayüzleri ve yollar:
ip a
ip r
Dinleyen portlar ve süreçler:
ss -tulpn
Ağ bağlantısını test et:
ping domain.tld
HTTP istekleri gerçekleştirmek:
curl https://site.tld
curl -I https://site.tld
DNS bilgilerini sorgulama:
dig domain.tld
Bir portun erişilebilir olup olmadığını kontrol etme:
nc -vz host 443
8. Hizmetler ve günlükler (systemd)
Çoğu modern Linux sistemi, hizmet yönetimi için systemd kullanır.
Hizmetlerin durumu ve yönetimi:
systemctl status service
systemctl start service
systemctl stop service
systemctl restart service
systemctl reload service
Hizmetler önyüklemede otomatik olarak başlatılır:
systemctl enable service
systemctl disable service
Logları görüntüle:
journalctl -u service
journalctl -u service -f
journalctl -p err
9. Paket yöneticileri
Yazılım, dağıtımın paket yöneticisi aracılığıyla yüklenir.
Debian / Ubuntu (apt)
apt update
apt install package
apt remove package
apt purge package
apt autoremove
RHEL / Fedora (dnf)
dnf install package
dnf remove package
dnf search package
Arch (pacman)
pacman -S package
pacman -Rns package
pacman -Syu
Alpine (apk)
apk add package
apk del package
10. Git – sürüm kontrolü
Git, kod ve yapılandırma sürüm kontrolü için kullanılır.
Temel komutlar:
git init
git clone url
git status
git add .
git commit -m "description"
Uzak bir cihazla senkronize etme:
git pull --rebase
git push
Değişikliklere dair içgörü:
git log --oneline --graph
git diff
11. Docker – konteynerler
Docker, uygulamaların izole bir şekilde çalıştırılmasını sağlar.
Konteynerlerde görüntüleri yönetmek:
docker pull image
docker images
docker ps
docker ps -a
Bir konteyner başlatmak ve yönetmek:
docker run -d -p 8080:80 image
docker logs container
docker exec -it container sh
Docker Compose:
docker compose up -d
docker compose down
12. Temel güvenlik
Minimum bir güvenlik temeli özellikle sunucularda hayati öneme sahiptir.
Güvenlik Duvarı (Ubuntu):
ufw status
ufw allow 22
ufw enable
Nftables (düşük seviye güvenlik duvarı):
nft list ruleset
Kaba kuvvet saldırılarına karşı koruma:
fail2ban-client status
Otomatik güvenlik güncellemeleri:
apt install unattended-upgrades
13. Yaygın Olarak Kullanılan Araçlar
curl,wget– HTTP isteklerijq– JSON işlemersync– verimli dosya senkronizasyonutmux– bir oturumda birden fazla shellncdu– disk alanını analiz etmelsof– açık dosyalar ve portlartcpdump– ağ trafiğini denetlemek
