Derinlemesine Linux For Developers
By Onder Teker
()
About this ebook
Bu kitapta geliştiriciler dışında Linux hakkında ileri kullanıcılar ve yöneticiler için de geliştirmeyle ilgili konular içerilmektedir. Kabuk ve buyruklar, genişletme & yerine koyma gibi işlemlerle ayrıntılı olarak açıklanmaktadır. Borular ve yönlendirme konularıyla süreçler arasındaki iletişim açıklanmaktadır. Script yazma hem geliştiriciler hem de yönticiler için temel ve ileri düzeyde işlenmektedir. Başlangıç script'leri ve crontab açıklanmaktadır. MySQL/MariaDB, PostgreSQL, MongoDB veritabanları; Apache, NGINX, Tomcat web sunucuları; C/C++, Java, JavaScript, Python geliştirme araçları içerilmiştir.
Yazar
Kitabın yazarı bilgisayar mühendisi Önder Teker, yazılım geliştirme alanında 1990'lı yılların sonlarından beri projeler geliştirmekte, 2000'li yılların başından beri eğitimler vermekte, 2010'lu yılların başından beri de kitap ve eğitim setleri üretmektedir.
Read more from Onder Teker
Derinlemesine Python Rating: 0 out of 5 stars0 ratingsDerinlemesine İngilizce Dilbilgisi Rating: 5 out of 5 stars5/5Derinlemesine C Fundamentals ve Functional Programming Rating: 3 out of 5 stars3/5Derinlemesine Spring Boot Web Rating: 0 out of 5 stars0 ratingsDerinlemesine Python AI Natural Language Processing Rating: 0 out of 5 stars0 ratingsDerinlemesine HTML & CSS Rating: 0 out of 5 stars0 ratingsDerinlemesine Python AI Machine Learning Rating: 0 out of 5 stars0 ratingsDerinlemesine Spring Boot Fundamentals Rating: 0 out of 5 stars0 ratingsDerinlemesine Android Programming Rating: 0 out of 5 stars0 ratingsDerinlemesine Java Object-Oriented Programming Rating: 0 out of 5 stars0 ratingsDerinlemesine SQL Rating: 0 out of 5 stars0 ratingsDoğrudan Database Back-End Programming Rating: 0 out of 5 stars0 ratingsDerinlemesine PHP Fundamentals Web Database Services Rating: 0 out of 5 stars0 ratingsDerinlemesine Python Data Science Rating: 0 out of 5 stars0 ratingsDerinlemesine Java - ORM, JPA & Hibernate Rating: 0 out of 5 stars0 ratingsDerinlemesine JavaScript Rating: 5 out of 5 stars5/5Derinlemesine C ++ ve Object-Oriented Programming Rating: 0 out of 5 stars0 ratingsDerinlemesine NoSQL Rating: 0 out of 5 stars0 ratingsDerinlemesine Java Desktop Programming Rating: 0 out of 5 stars0 ratingsDerinlemesine React Rating: 0 out of 5 stars0 ratingsDerinlemesine Java - MVC, JSF & Primefaces Rating: 0 out of 5 stars0 ratingsDerinlemesine Python AI Computer Vision Rating: 0 out of 5 stars0 ratingsDerinlemesine JavaScript Language Rating: 0 out of 5 stars0 ratingsDerinlemesine Java Web Programming Rating: 0 out of 5 stars0 ratingsDerinlemesine Java - EJB, JMS ve Web Services Rating: 0 out of 5 stars0 ratingsDerinlemesine Android Data Programming Rating: 0 out of 5 stars0 ratings
Related to Derinlemesine Linux For Developers
Related ebooks
Derinlemesine Linux for Administrators Rating: 0 out of 5 stars0 ratingsDerinlemesine PHP Fundamentals Web Database Services Rating: 0 out of 5 stars0 ratingsDerinlemesine C ++ ve Object-Oriented Programming Rating: 0 out of 5 stars0 ratingsDerinlemesine Spring Boot Data Rating: 0 out of 5 stars0 ratingsDerinlemesine JavaScript Language Rating: 0 out of 5 stars0 ratingsDerinlemesine JavaScript Rating: 5 out of 5 stars5/5Derinlemesine React Rating: 0 out of 5 stars0 ratingsDerinlemesine HTML & CSS Rating: 0 out of 5 stars0 ratingsDerinlemesine Spring Boot Cloud Rating: 0 out of 5 stars0 ratingsDerinlemesine Java Web Programming Rating: 0 out of 5 stars0 ratingsDerinlemesine Linux for Users Rating: 0 out of 5 stars0 ratingsDerinlemesine Java - MVC, JSF & Primefaces Rating: 0 out of 5 stars0 ratingsDerinlemesine Spring Boot Fundamentals Rating: 0 out of 5 stars0 ratingsDoğrudan Java Fundamentals Database Desktop Programming Rating: 0 out of 5 stars0 ratingsDoğrudan Java Web Enterprise Mobile Programming Rating: 0 out of 5 stars0 ratingsPowerShell ile Uygulamalı Rehber Rating: 0 out of 5 stars0 ratingsPowerShell ile Uygulamalı Rehber: BT Koleksiyonu Rating: 0 out of 5 stars0 ratingsFlutter için Dart Programlama Rating: 0 out of 5 stars0 ratingsDerinlemesine Android Data Programming Rating: 0 out of 5 stars0 ratingsDerinlemesine Java Object-Oriented Programming Rating: 0 out of 5 stars0 ratingsDoğrudan Web Front-End Programming Rating: 0 out of 5 stars0 ratingsDerinlemesine Java - EJB, JMS ve Web Services Rating: 0 out of 5 stars0 ratingsDoğrudan Database Back-End Programming Rating: 0 out of 5 stars0 ratingsDerinlemesine JavaScript UI Rating: 0 out of 5 stars0 ratingsDoğrudan Java Eclipse Rating: 0 out of 5 stars0 ratingsDerinlemesine SQL Rating: 0 out of 5 stars0 ratingsDerinlemesine React UI Rating: 0 out of 5 stars0 ratingsDerinlemesine Java Database Programming Rating: 0 out of 5 stars0 ratingsDerinlemesine Java - ORM, JPA & Hibernate Rating: 0 out of 5 stars0 ratingsProgramlama ve Veri Yapılarına Giriş JAVA, C, C++ dilleri ile Rating: 5 out of 5 stars5/5
Reviews for Derinlemesine Linux For Developers
0 ratings0 reviews
Book preview
Derinlemesine Linux For Developers - Onder Teker
Derinlemesine
Linux
For
Developers
Önder Teker
Godoro Yayıncılık
GODORO YAYINCILIK
Yayıncı Sertifikası No: 40946
Kitabın Adı:
Derinlemesine Linux For Developers
Copyright © 2024 Godoro Yayıncılık
Kitabın Yazarı:
Önder Teker
Birinci Basım, Mayıs 2024, İstanbul
ISBN:
978-625-99478-5-3
Kapak Tasarımı ve Mizanpaj:
Önder Teker
Baskı ve Ciltleme:
Godoro
Özel Baskı Çözümleri
Atikali Mah. Fatih Cad. No: 81 D: 2
Fatih / İstanbul
Telefon : (533) 561-2435
http://www.godoro.com
GODORO YAYINCILIK
Atikali Mah. Fatih Cad. No: 81 D: 2
Fatih / İstanbul
Telefon : (533) 561-2435
Kabuk / Shell & Buyruklar / Commands
Bu bölümde işletim düzenindeki buyruklar / commands ile bunları yorumlandıran kabuk / shell üzerine tabanlı konular anlatılmaktadır.
Buyruk / Command
Bu bölümde buyruklar / commands üzerine genel bilgilendirme sağlanmaktadır.
Buyruk / Command & Yorumlandırıcı / Interpreter
Bu bölümde buyruk / command ve yorumlandırıcı / interpereter kavramlarının anlamları açıklanmaktadır.
Buyruk / Command
Bir kaç sözcükle verilen eğretiye buyruk / command adı verilir. Kullanıcının bilgisayardan yapmasını istediği şeydir. Genelde bir sözcük / word olarak verilir. Örneğin, aşağıdaki dışavurum bir buyruk olabilir:
perform
Bir çok durumda kısaltılır. Örneğin perform the important operation / önemli işlemi gerçekleştirme aşağıdaki gibi kısaltılabilir:
pio
Tartışım / Argument
Bir buyruğa verilen veriye argüman / tartışım / argument adı verilir. Örneğin aşağıdaki dışavurum:
perform ABC
perform buyruğunun ABC tartışımıyla yürütüleceği anlamına gelir
Bir buyruk birden çok tartışım / argument alabilir. Örnek:
perform ABC 123 xyz
Ya da hiç bir tartışım gerekmez. Örnek:
perform
Seçenek / Option
Bir buyruk birden çok biçimde çalışabilir. Bir buyruğa verilen üste gerekliliklere seçenek / option adı verilir. Birden çok seçenekler / options olabilir. Örneğin perform buyruğu yavaş ya da hızlı kipte çalışabilir. Ya da doğrudan veya dolayı yürütülebilir. Bu durumda çağrı aşağıdaki gibi olabilir:
perform -slow -indirect
Kimi durumlarda bir seçenek zorunlu / mandatory iken ötekilerse seçenekli / optional olabilir. Eğer zorunluysa bir yanlışlık iletisi / error message basılır.
Değiştirgen / Parameter
Kimi durumlarda bir seçenek / option için bir değer gerekir. Buna değiştirgen / parameter adı verilir. Söz gelimi, speed / hız biçiminde bir seçenek olduğunu varsayalım. Buna bir hız değeri gerekir. Bir örnek aşağıdaki gibi yazılabilir:
$ perform -speed 100
Bunun anlamı speed / hız seçeneğin verilen değerin 100 olduğudur.
Bir değiştirgen / parameter bir tartışım gibi görünebilir. Ancak buyruk konumundan değiştirgen olarak anlar. Örneğin aşağıdaki çağrıda:
$ perform -speed 100 200
ilk sayı bir değiştirgendir eğer tek bir değer alıyorsa. İkinci sayı ise bir buyruk için bir tartışımdır.
Kimi durumlarda değiştirgen değeri bir seçenek adından sonra verilir. Eğer bir harfse, değer ondan sonra verilir. Örnek:
$ perform -s100 200
Eğer bir sözcükse, eşittir / equals (=) belgisi kullanılabilir. Örnek:
$ perform --speed=100 200
Çıkış Düzgüsü / Exit Code
Her buyruk ya da izlence sonuç olarak bir çıkış düzgüsü / exit code döndürür. Burada sıfır / zero (0) yürütümün başarı / success olduğunu gösterir. Sıfırdan farklı herhangi bir sayı döndürülürse bir başarısızlık / failure anlamına gelir.
Yorumlandırıcı / Interpreter
Buyrukları yürüten programa yorumlandırıcı / interpreter adı verilir. Bir buyruğu okumak; ne olduğunu ev nasıl çalıştırılacağını anlamaya da yorumlandırmak / interpret adı verilir. Bunun edimi de intepretation adını taşır. Her buyruk eğretilerin tutulduğu bir dosyaya sahiptir. Yorumlandırıcı o dosyayı bulur ve tartışımları verir.
Buyruk Çizgizi / Command Line
Bir buyruk bir satırda girilir ve Enter tuşun basılınca yürütülür. Buyrukların girildiği satıra buyruk çizgisi / command line adı verilir. Bir buyruk birden çok satırda yazılabilir ya da bir satırda birden çok buyruk yürütülebilir. Kimi urumlarda buyruk çağrısı, ad, tartışımlar ve değiştirgenlere çizgi / satır / line adı verilir çünkü bir buyruk genelde tek bir satırda girilir. Bir buyruk çağrısı birden çok satır tutatibler bir tümce olarak düşünülebilir.
Betim / Script
Buyrukları bir buyruk çizgisinde tek tek çalıştırmak yerine bunlar bir dosyaya koyulup oradan çalıştırılabilir. Bu dosyanın uzantısı sh : shell / kabuk gibi olabilir. Bu dosyaya betim / script adı verilir. Bir betim dosyasında programlama dillerinde olan koşullar ya da döngüler gibi özellikler kullanılabilir. Birden çok buyruk içeren ve bir mantık içeren ödevler bir kabuk betimine yazılır ve oradan yürütülür.
Yorum / Comment
Bir betim dosyası ya da tanımlamalar için kullanılan dosyalar bazı açıklamalar içerebilirler. Bunlara yorum / comment adı verilir. Bir kutu / hash (#) simgesinden sonra verilir. Örnek:
# This is done because it is needed
Kimi durumlarda yürütümlenebilir demeçler bir yoruma çevrilebilir. Örneğin aşağıdaki satırlar:
# echo Godoro
# department = Publishing
bir buyruk olarak görülebilirler ama çalışmazlar. Çünkü bir yorum olarak bırakılmıştır. Bunları etkinleştirmek için kutu / hash (#) simgesi aşağıdaki gibi giderilebilir:
echo Godoro
department = Publishing
Buyruk Çizgisi / Command Line
Buyrukların bir kabuk için girildiği yere buyruk çizgisi / command line adı verilir. Burada bununla ilgili kime ayrıntılar bulunmaktadır.
Buyruk İstemi / Command Prompt
Sonrasında buyrukların girildiği dışavuruma buyruk istemi / command prompt adı verilir. Genelde kimi sözcük ve dışavurumların dolar / dollar ($) ya da kutu / hash (#) simgesiyle birlikte buyruk çizgisini göstermek için kullanılır. Ondan sonra klavyedeki basılan tuşların gösterileceği yeri bildirmek için bir imleç / cursor göz kırpabilir. Örneğin, buyruk istemi aşağıdaki gibi olur:
$ _
Burada altçizgi / underscore simgesi göz kırpan bir imleci göstermektedir. Klavyeden girilen karakterleri gösterir. Her tuşa basıldığında sağa harekete eder. Örneğin, eğer per yazılırsa buyruk istemi aşağıdaki gibi olur:
$ per_
Çok Buyruk / Multiple Commands
Bir satırda birden çok buyruk noktalı virgül / semicolon (;) ile girilebilir. Örneği aşağıdaki örnek:
$ mycommand ; yourcommand
önce ilk buyruğu sonra da ikincisini çalıştırır.
İkisi arasında hiç bir ilişki olmaz. Bu, aşağıdaki gibi buyrukları iki ayrı satırda çalıştırmakla aynıdır:
$ mycommand
$ yourcommand
Durula / Clear
Uçbirimde basılan çıktı clear / durula adlı buyrukla temizlenebilir. Kullanımı aşağıdaki gibidir:
$ clear
Bu çağrıdan sonra yalnıza buyruk çizgisi kalır ve öteki yazılar durulanır.
Geri Takma / Reset
Uçbirimi ilk durumuna getirmek için reset / geri tak buyruğu kullanılabilir. Bu ayrıca çıktıyı durular ve kullanıcıca yapılış tüm takılımları giderir. Kullanımı aşağıdaki gibidir:
$ reset
Bu buyruk uçbirim darmadağın olduğunda kullanılabilir. Kimileyin bir kullanıcı uçbirimin bozulmuş gibi davranmasına yol açar. Bu durumlarda reset / geri tak buyruğu sorunu çözer.
Buyuk İstemi / Command Prompt
Bu bölümde buyruk istemi / command prompt içindeki bileşenler ve bunları uyarlama yolları anlatılmaktadır.
Yönetici / Admin
Eğer bir kullanıcı yönetici rolündeyse kimi çevrelerde kutu / hash (#) simgesi kullanılabilir. Example:
# _
Düzenek Adı / Machine Name
Kimi durumlarda düzeneğin ya da bilgisayarın ya da konakçının adı $ simgesinden önce yazılır. Örnek:
myachine $ _
Kullanıcı Adı / Username
Kimi durumlarda kullanıcı adı eklenir ve iki bilgilendirme parçası dördül ayraçlar / square brackets ([]) arasında gösterilir. Örnek:
[ myuser@mymachine ] $ _
Ev / Home
Bir kullanıcı ev yönlüğünde çalışıyorsa uzatma / tilde (~) simgesi aşağıdaki gibi eklenir:
[ myuser@mymachine ~] $ _
Çalışma Yönlüğü / Working Directory
Yürürlükteki yönlük ya da çalışma yönlüğü buyruk istemi / command prompt içinde sergilenebilir. Örneğin istem aşağıdaki gibi olabilir:
mymachine:/usr/bin$
Bu, yürürlükteki yönlüğün aşağıdaki gibi olduğunu göstermektedir:
/usr/bin
Prompt String
Uçbirimde buyruk istemi / command prompt içeriği PS1 : prompt string 1 / istem sicimi 1 değişkeniyle belirlenebilir. Örneğin aşağıdaki çağrı:
PS1=Godoro>
istemi aşağıdaki gibi değiştirir:
Godoro> _
İstemi uyarlamak için kimi kaçış özyapıları bulunur. Örneğin u : username / kullanıcı, h : host / konakçı ve w : working directory / çalışma yönlüğü karakterleri kullanılabilir. Aşağıdkai çağrı:
PS1="\u@\h - \w Godoro > "
istemi aşağıdaki gibi kılar:
myuser@myhost - ~/mydirectory Godoro > _
İstem Buyuğu / Prompt Command
Uçbirimde buyruk istemi / command prompt içeriğini değiştirmek için başka bir yol daha bulunmaktadır. Bunun için PROMPT_COMMAND (İstem Buyruğu) adlı değişken istemi üretecek biçimde bildirilebilir. Örneğin aşağıdaki çağrı:
PROMPT_COMMAND=date +'%y-%m-%d %H:%M >'
istemi aşağıdakine çevirir:
23-09-18 17:52 >
Buyruk Sözdizimi / Command Syntax
Kullanıcının işletim düzeninden istediği şeye buyruk / prompt adı verilir.
Yürütme / Execute
Bir buyruk adının yazılıp Giriş / Enter tuşuna basılmasıyla yürütülür. Örneğin, buyruğun adı mycommand biçimindeyse aşağıdaki gibi adını yazıp:
$ mycommand
Giriş / Enter tuşuna basarak çalıştırmak olanaklıdır.
Bir çok durumda, buyruk çizgisinden çağrılan izlenceler / programs ya da yararlıklar / utilities öğeleri de birer buyruk gibi düşünülebilir. Örneğin myutility.exe biçimindeki bir program aşağıdaki gibi çağrılabilir:
myutility.exe
Bir çok durumda uzantı aşağıdaki gibi atlanabilir:
myutility
Tartışım / Argument
Bir buyruk, bir ödevi gerçekleştirmek için tartışım / argument adı verilen üste bilgilendirme alabilir. Bunlar buyruktan sonra boşluk / space ( ) simgesiyle ayrılarak verilir. Örneğin mycommand buyruğuna 123 değeri aşağıdaki gibi bir çağrıda verilebilir:
mycommand 123
Birden çok tartışım / argument sağlanabilir. Örneğin, aşağıdaki çağrı:
mycommand 111 222 333
3 tartışı almaktadır.
Tartışım, Seçenek, Değiştirgen
Eğer bir tartışım / argument buyruğa verilen bir değerse ona değiştirgen / parameter adı verilir. Eğer tartışım / argument, buyruğun davranışını değiştiriyorsa ona seçenek / option adı verilir. Genel sözdizimi aşağıdaki gibidir:
command -opt1 -opt2 -opt3 param1 param2
Bir değiştirgenin adı olmadığından onun orun / position bilgilendirmesi önemlidir. İkincisi birincisinin yerinde kullanılmamalıdır. Öte yandan seçenek / option için dizge / order o denli önemli değildir.
Kimi durumlarda bir seçenek / option de eşittir / equals (=) imi alarak bir değer alabilir. Örnek:
command -opt1=ABC -opt2=123
Teknik olarak bir buyruğun ya da izlencenin adı da 0 dizinli bir tartışım / argument olarak alınır.
Sözcük Seçeneği / Word Option
Bir buyruk kimi seçeneklerle çağrılabilir. Buyruk bu seçeneklere göre yürütümlenir. Eğer bir sözcük / word ise ikişer tire / double dashes (--) ile verilebilir. Örneğin fast / hızlı seçeneği aşağıdaki gibi verilebilir:
$ mycommand --fast
Harf Seçeneği / Letter Option
Bir çık durumda bir seçenek tek bir harf / imce / letter ile verilebilir. Bu durumda tek tire / one dash (-) kullanılır. Örneğin, fast / hızlı yerine aşağıdaki gibi f harfi kullanılabilir:
$ mycommand -f
Burada büyük-küçük durumu önemlidir. Aşağıdaki çağrı yukarıdakinden ayrı bir seçeneğe başvuru yapıyor olabilir:
$ mycommand -F
Bu harf, sözcüğün ilk harfi olmayabilir. Özellik aynı ilk harfleri olan seçeneklerde değişik bir harf kullanılabilir. Örneğin furious / öfkeli seçeneğin büyük harfli F ile gösterilebilir. Aşağıdaki çağrı:
$ mycommand -fast -furious
şöyle yazılabilir:
$ mycommand -f -F
Çok Seçenek / Multiple Options
Bir buyruğa birden çok seçenekle verilebilir. Örneğin, aşağıdaki çağrı:
$ mycommand --fast --deep --careful
üç seçenek içerir.
Kısa biçimleriyle aşağıdaki gibi verilebilir:
$ mycommand -f -d -c
Harfler tek bir tek tire / one dash (-) iminden sonra verilebilir:
$ mycommand -fdc
İleri Sözdizimi / Advanced Syntax
Bu bölümde kimi ileri özellikler açıklanmaktadır.
Çok Değer / Multiple Values
Kimi durumlarda bir buyruk bir tartışım / argument birden çok değerle çağrılabilir. Bunun için kıvırcık ayraçlar / curly brackets ({}) kullanılabilir. Değerler arada virgül / comma (,) kullanılarak verilebilir. Örneğin aşağıdaki çağrı:
$ mycommand {1,2,3,4}
4 tartışım almaktadır.
Erim / Range
Değerleri içeren bir erim / range bir aralık olarak iki nokta / two dots (..) simgesiyle aşağıdaki gibi verilebilir: