Ubuntu Komut Satırı: Yeni Başlayanlar ve İleri Düzey Kullanıcılar için Temel Bash Komutları
Ubuntu’daki komut satırı — genellikle terminal olarak adlandırılır — Linux kullanıcılarının kullanımına sunulan en güçlü araçlardan biridir. İster dosya yönetiyor, ister yazılım yüklüyor, ister sistem ayarlarını yapılandırıyor, ister tekrarlayan görevleri otomatikleştiriyor olun, terminal işletim sisteminiz üzerinde doğrudan ve verimli bir kontrol sağlar. Ubuntu terminalinin merkezinde Bash bulunur; bu güçlü komut satırı kabuğu, komutlarınızı hız ve hassasiyetle yorumlar ve çalıştırır.
Bu kapsamlı kılavuz, Ubuntu’daki en önemli ve yaygın olarak kullanılan Bash komutlarını ele alarak, terminalde güvenle ve verimli şekilde çalışmanız için sağlam bir temel oluşturmanıza yardımcı olur — ister tam bir başlangıç seviyesinde olun, ister mevcut becerilerinizi geliştirmek isteyin.
Bash Nedir?
Bash (*Bourne Again Shell*’in kısaltması), Ubuntu’da ve Linux dağıtımlarının büyük çoğunluğunda varsayılan komut satırı kabuğudur. Kullanıcıların grafik arayüzleri tamamen devre dışı bırakarak daha hızlı ve daha hassas kontrol için doğrudan işletim sistemine komut vermesine olanak tanıyan metin tabanlı bir arayüzdür.
Bash son derece güçlüdür ve aşağıdakiler dahil geniş bir özellik yelpazesini destekler:
- Kabuk betikleme — karmaşık komut dizilerini otomatikleştirme
- Komut geçmişi — daha önce çalıştırılan komutları hatırlama ve yeniden kullanma
- Takma adlar — sık kullanılan komutlar için kısayollar oluşturma
- Piping ve yönlendirme — gelişmiş iş akışları için komutları birbirine zincirleme
- Ortam değişkenleri — sistem ve uygulama davranışını dinamik olarak yapılandırma
Ubuntu’da Terminal Nasıl Açılır
Ubuntu terminalini iki şekilde açabilirsiniz:
- Klavyenizde Ctrl + Alt + T tuşlarına basın
- Uygulama menüsünde (Activities veya App Drawer) "Terminal" araması yapın
Terminal açıldıktan sonra Bash komutları girmeye hazırsınız.
> Profesyonel İpucu: Bir uzak sunucu yönetiyorsanız — örneğin bir VPS Hosting planı — terminale genellikle yerel bir masaüstü arayüzü yerine SSH aracılığıyla erişirsiniz. Aynı Bash komutları her iki ortamda da geçerlidir.
Temel Gezinme Komutları
Linux dosya sisteminde verimli şekilde gezinmek, her terminal kullanıcısının önce edinmesi gereken ilk beceridir. Aşağıdaki komutlar, Ubuntu’da dizin gezintisinin temelini oluşturur.
1. pwd — Çalışma Dizinini Yazdır
pwd komutu, şu anda çalıştığınız dizinin tam yolunu görüntüler. Bu, iç içe geçmiş bir dizin yapısının derinliklerinde olduğunuzda ve konumunuzu doğrulamanız gerektiğinde özellikle kullanışlıdır.
pwdÖrnek çıktı:
/home/username/documents/projects2. ls — Dizin İçeriğini Listele
ls komutu, geçerli çalışma dizinindeki tüm dosya ve dizinleri listeler. Linux’ta en sık kullanılan komutlardan biridir.
lsÇeşitli kullanışlı seçeneklerle işlevselliğini genişletebilirsiniz:
| Seçenek | Açıklama |
|---|---|
ls -l | Uzun biçim — dosya izinlerini, sahibini, boyutunu ve değiştirilme tarihini görüntüler |
ls -a | . ile başlayanlar dahil tüm gizli dosyaları göster |
ls -lh | İnsan tarafından okunabilir dosya boyutlarıyla (KB, MB, GB) uzun biçim |
ls -lt | Dosyaları değiştirilme zamanına göre sırala, en yeni önce |
ls -la | Uzun biçimi gizli dosya görüntülemeyle birleştir |
Örnek:
ls -lah /var/www/html3. cd — Dizin Değiştir
cd komutu, dizinler arasında gezinmek için kullanılır. Herhangi bir Linux terminal oturumunda tartışmasız en çok kullanılan komuttur.
cd /path/to/directoryYaygın kısayollar:
cd # Navigate to your home directory
cd ~ # Also navigates to your home directory
cd .. # Move up one directory level
cd - # Return to the previous directory
cd / # Navigate to the root directory4. mkdir — Dizin Oluştur
mkdir komutu, belirtilen yolda yeni bir dizin oluşturur.
mkdir new_directoryTek bir komutla iç içe dizinler oluşturmak için -p bayrağını kullanın:
mkdir -p /home/username/projects/website/assetsBu, henüz mevcut olmasa bile tüm ara dizinleri otomatik olarak oluşturur.
5. rmdir — Boş Dizini Kaldır
rmdir komutu boş bir dizini kaldırır. Dizin dosya veya alt dizin içeriyorsa hata döndürür.
rmdir directory_nameBir dizini tüm içerikleriyle birlikte kaldırmak için, özyinelemeli bayrakla rm komutunu kullanın (bir sonraki bölümde ele alınmıştır):
rm -r directory_name> Uyarı: rm -r komutu dosya ve dizinleri kalıcı olarak siler. Çöp Kutusu veya Geri Dönüşüm Kutusu kurtarması yoktur. Çalıştırmadan önce her zaman yolu iki kez kontrol edin.
Dosya Yönetimi Komutları
Dosyaları yönetmek, kişisel bir masaüstünden üretim Dedicated Server‘a kadar herhangi bir Linux sisteminde çalışırken temel bir sorumluluktur. Aşağıdaki komutlar dosya oluşturma, kopyalama, taşıma ve silme işlemlerini kapsar.
1. touch — Yeni Dosya Oluştur
touch komutu yeni, boş bir dosya oluşturur. Dosya zaten mevcutsa, içeriğini değiştirmeden yalnızca dosyanın erişim ve değiştirilme zaman damgalarını günceller.
touch file_name.txtAynı anda birden fazla dosya oluşturabilirsiniz:
touch file1.txt file2.txt file3.txt2. cp — Dosya ve Dizinleri Kopyala
cp komutu, dosya veya dizinleri bir konumdan diğerine kopyalar.
cp source_file destinationKullanışlı seçenekler:
| Seçenek | Açıklama |
|---|---|
cp -r | Bir dizini ve tüm içeriğini özyinelemeli olarak kopyala |
cp -i | Mevcut bir dosyanın üzerine yazmadan önce sor |
cp -v | Ayrıntılı mod — kopyalanırken her dosyayı görüntüle |
cp -u | Yalnızca hedeften daha yeni olan dosyaları kopyala |
Örnekler:
# Copy a single file
cp config.txt /etc/myapp/config.txt
# Copy an entire directory
cp -r /var/www/html /backup/html_backup3. mv — Dosyaları Taşı veya Yeniden Adlandır
mv komutu çift amaçlıdır: dosya veya dizinleri yeni bir konuma taşır ve onları yeniden adlandırır.
Bir dosyayı yeni bir dizine taşı:
mv file_name.txt /new/directory/Bir dosyayı yeniden adlandır:
mv old_name.txt new_name.txtAynı anda taşı ve yeniden adlandır:
mv /home/user/old_name.txt /var/www/html/new_name.txt4. rm — Dosya ve Dizinleri Kaldır
rm komutu, dosya ve dizinleri dosya sisteminden kalıcı olarak siler.
rm file_name.txtYaygın seçenekler:
| Seçenek | Açıklama |
|---|---|
rm -r | Bir dizini ve tüm içeriğini özyinelemeli olarak sil |
rm -f | Onay istemeden zorla sil |
rm -i | Her dosyayı silmeden önce sor |
rm -rf | Zorla özyinelemeli silme — son derece dikkatli kullanın |
# Delete a single file
rm old_log.txt
# Delete a directory and all its contents
rm -r /tmp/old_project/> Kritik Uyarı: rm -rf komutunu yanlış bir yolda çalıştırmak — özellikle root kullanıcısı olarak — geri döndürülemez sistem hasarına neden olabilir. Enter tuşuna basmadan önce her zaman komutunuzu doğrulayın.
Dosyaları Görüntüleme ve Düzenleme
Ubuntu terminali, grafik metin düzenleyici açmaya gerek kalmadan metin dosyalarını doğrudan okumak ve düzenlemek için çeşitli güçlü araçlar sunar. Bu komutlar, Shared Web Hosting ortamlarında veya özel altyapıda çalışan sunuculardaki yapılandırma dosyalarını yöneten sistem yöneticileri için vazgeçilmezdir.
1. cat — Dosya İçeriğini Görüntüle
cat komutu (*concatenate* kısaltması), bir dosyanın tüm içeriğini doğrudan terminalde görüntüler.
cat file_name.txtBirden fazla dosyayı birleştirmek için de cat kullanabilirsiniz:
cat file1.txt file2.txt > combined.txtVe içeriğin yanında satır numaralarını görüntülemek için:
cat -n file_name.txt2. less — Dosyaları Sayfa Sayfa Görüntüle
less komutu, her şeyi bir anda dökmek yerine içeriği ekran ekran görüntülediğinden büyük dosyaları okumak için idealdir.
less file_name.txtless içinde gezinme:
| Tuş | İşlem |
|---|---|
Space veya f | Bir sayfa ileri git |
b | Bir sayfa geri git |
Arrow keys | Satır satır kaydır |
/search_term | Bir terim için ileriye doğru ara |
?search_term | Bir terim için geriye doğru ara |
q | Çıkış yap ve terminale dön |
3. nano — Terminal İçinde Dosyaları Düzenle
nano komutu, Nano metin düzenleyicisini doğrudan terminal içinde açar. Ekranın alt kısmında görüntülenen klavye kısayollarıyla başlangıç seviyesi için uygundur.
nano file_name.txtTemel Nano klavye kısayolları:
| Kısayol | İşlem |
|---|---|
Ctrl + O | Dosyayı kaydet (yaz) |
Ctrl + X | Nano’dan çık |
Ctrl + K | Geçerli satırı kes |
Ctrl + U | Kesilen satırı yapıştır |
Ctrl + W | Dosya içinde ara |
Daha gelişmiş düzenleme için deneyimli yöneticiler genellikle Vim (vim file_name.txt) veya GNU Emacs‘ı tercih eder; ancak Nano, yeni kullanıcılar için önerilen başlangıç noktasıdır.
4. head — Dosyanın Başını Görüntüle
head komutu varsayılan olarak bir dosyanın ilk 10 satırını görüntüler. Bu, günlük dosyalarının veya yapılandırma dosyalarının başlangıcını hızlıca kontrol etmek için kullanışlıdır.
head file_name.txtÖzel bir satır sayısı belirtmek için:
head -n 25 file_name.txt5. tail — Dosyanın Sonunu Görüntüle
tail komutu bir dosyanın son 10 satırını görüntüler. Bu, günlük dosyalarını gerçek zamanlı olarak izlemek için özellikle değerlidir.
tail file_name.txtBir günlük dosyasını gerçek zamanlı olarak güncellenirken takip etmek için (sunucu izleme için son derece kullanışlı):
tail -f /var/log/syslogÖzel bir satır sayısı görüntülemek için:
tail -n 50 /var/log/auth.logEk Temel Bash Komutları
Yukarıda ele alınan temel bilgilerin ötesinde, aşağıdaki komutlar her Ubuntu kullanıcısı veya sistem yöneticisi için vazgeçilmezdir.
grep — Metin Kalıplarını Ara
grep "search_term" file_name.txt
grep -r "error" /var/log/ # Recursive search through a directory
grep -i "warning" system.log # Case-insensitive searchfind — Dosya ve Dizinleri Bul
find /home -name "*.txt" # Find all .txt files in /home
find /var/www -type f -name "*.php" # Find all PHP files
find / -size +100M # Find files larger than 100MBchmod — Dosya İzinlerini Değiştir
chmod 755 script.sh # Owner: read/write/execute; Group/Others: read/execute
chmod +x deploy.sh # Add execute permission for all userschown — Dosya Sahipliğini Değiştir
chown username:groupname file.txt
chown -R www-data:www-data /var/www/htmlsudo — Komutları Süper Kullanıcı Olarak Çalıştır
sudo apt update
sudo systemctl restart nginxapt — Paket Yönetimi
sudo apt update # Refresh package lists
sudo apt upgrade # Upgrade all installed packages
sudo apt install package_name # Install a new package
sudo apt remove package_name # Remove a packageman — Kılavuz Sayfalarına Eriş
man ls # View the manual for the ls command
man grep # View the manual for grepBash Komut Zincirleme ve Yönlendirme
Bash’in en güçlü özelliklerinden biri, komutları birbirine zincirleme ve giriş/çıkışı yönlendirme yeteneğidir.
Piping (|)
Pipe operatörü, bir komutun çıktısını başka bir komuta girdi olarak gönderir:
ls -la | grep ".txt" # List only .txt files
cat access.log | grep "404" # Find all 404 errors in a log
ps aux | grep nginx # Check if nginx is runningÇıktı Yönlendirme (> ve >>)
echo "Hello World" > output.txt # Write to file (overwrites)
echo "New line" >> output.txt # Append to file
ls -la > directory_listing.txt # Save directory listing to fileGirdi Yönlendirme (<)
sort < unsorted_list.txt # Sort contents of a filePratik Kullanım Senaryoları: Sunucu Yönetiminde Bash Komutları
Bash komutlarını anlamak yalnızca yerel masaüstü kullanımı için değil — uzak sunucuları yönetmek için de kesinlikle gereklidir. İster bir web sunucusu yapılandırıyor, ister bir uygulama dağıtıyor, ister performans sorunlarını gideriyor olun, terminal birincil aracınızdır.
Bu komutların günlük olarak uygulandığı bazı gerçek dünya senaryoları şunlardır:
- Web sunucusu yönetimi: Nginx veya Apache yapılandırma dosyalarını
nanoile düzenleme, hata günlüklerinitail -file kontrol etme ve web kök dizinlerinicp,mvvermile yönetme - SSL sertifikası kurulumu: Sertifika dizinlerine gitme, dosya izinlerini
ls -lile doğrulama ve yapılandırma dosyalarını düzenleme — sunucunuzda SSL Certificates kurulumu yaparken tüm kritik adımlar - Veritabanı yönetimi: Sorgu günlüklerini aramak için
grep, veritabanı dosyalarını bulmak içinfindve hassas yapılandırma dosyalarını güvence altına almak içinchmodkullanma - Otomatik yedeklemeler: Kritik verilerin zamanlanmış yedeklerini oluşturmak için
cp,tarvefind‘yi birleştiren Bash betikleri yazma - E-posta sunucusu yapılandırması:
cat,lessvetailkullanarak Email Hosting kurulumları için yapılandırma dosyalarını ve günlük izlemeyi yönetme
Hızlı Başvuru: Temel Bash Komutları Hile Sayfası
| Komut | Amaç | Örnek |
|---|---|---|
pwd | Geçerli dizini yazdır | pwd |
ls | Dizin içeriğini listele | ls -lah |
cd | Dizin değiştir | cd /var/www |
mkdir | Dizin oluştur | mkdir -p /new/dir |
rmdir | Boş dizini kaldır | rmdir old_dir |
touch | Boş dosya oluştur | touch index.html |
cp | Dosya/dizin kopyala | cp -r src/ dest/ |
mv | Taşı veya yeniden adlandır | mv old.txt new.txt |
rm | Dosya/dizin sil | rm -rf /tmp/cache |
cat | Dosya içeriğini görüntüle | cat config.txt |
less | Büyük dosyalarda sayfa sayfa gezin | less access.log |
nano | Terminalde dosya düzenle | nano nginx.conf |
head | İlk N satırı görüntüle | head -n 20 log.txt |
tail | Son N satırı görüntüle / canlı izle | tail -f syslog |
grep | Metin kalıplarını ara | grep "error" log.txt |
find | Dosyaları bul | find / -name "*.conf" |
chmod | İzinleri değiştir | chmod 755 script.sh |
sudo | Süper kullanıcı olarak çalıştır | sudo apt update |
man | Komut kılavuzunu görüntüle | man grep |
Sonuç
Bash komutlarında ustalaşmak, bir Linux kullanıcısı, geliştirici veya sistem yöneticisi olarak geliştirebileceğiniz en değerli becerilerden biridir. Bu kılavuzda ele alınan komutlar — pwd, ls ve cd ile temel gezintiden, cp, mv ve rm ile dosya yönetimine, cat, less, nano, head ve tail ile dosya görüntüleme ve düzenlemeye kadar — Ubuntu terminalinde etkili çalışmak için temel araç setini oluşturur.
Bu temel bilgilerle giderek daha rahat hale geldikçe, doğal olarak kabuk betikleme, süreç yönetimi, ağ tanılaması ve sistem izleme gibi daha gelişmiş konulara ilerleceksiniz — bunların tümü burada oluşturulan temel üzerine doğrudan inşa edilir.
Bu becerileri gerçek bir Linux ortamında uygulamak istiyorsanız, AlexHost tam root SSH erişimiyle yüksek performanslı VPS Hosting hizmeti sunarak sunucunuz üzerinde komut satırından tam kontrol sağlar. Altyapımız güvenilirlik, hız ve esneklik için tasarlanmıştır — ister kişisel bir proje, ister bir iş uygulaması, ister karmaşık çok sunuculu bir mimari barındırıyor olun.
Ubuntu komut satırının gücünü bugün keşfetmeye başlayın — ve Linux ortamınızın tam kontrolünü elinize alın.
