{"id":251,"title":"\u00c7ok kullan\u0131lmayan Linux Komutlar\u0131","content":"<p>\u0130ster Sistem Y\u00f6neticisi, Geli\u015ftirici, DevOps, G\u00fcvenlik veya Operasyon uzman\u0131 olun, Linux\u2019u ve ara\u00e7lar\u0131n\u0131 etkili bir \u015fekilde kullanmak \u00f6\u011frenebilece\u011finiz en temel beceridir. Linux, d\u00fcnyadaki sunucular\u0131n ve uygulamalar\u0131n \u00e7o\u011funlu\u011funun temelini olu\u015fturur.<\/p><p>\u201cProfesyonel geli\u015ftiricilerin %47'si Linux tabanl\u0131 i\u015fletim sistemleri kullanmaktad\u0131r.\u201d<\/p><p>## Linux Komutlar\u0131: Herkesin kulland\u0131\u011f\u0131<\/p><p>Bunlar\u0131n \u00e7o\u011fu ls veya echo gibi komutlar\u0131 g\u00f6steren ba\u015flang\u0131\u00e7 seviyesinde, san\u0131r\u0131m \u00e7o\u011funuz temel komutlar\u0131 zaten biliyorsunuz.<\/p><p>Bu makale farkl\u0131. \u0130\u015f yerinde her g\u00fcn kulland\u0131\u011f\u0131m komutlar\u0131n ki\u015fisel bir \u00f6zetini payla\u015faca\u011f\u0131m. Bu liste ba\u015flang\u0131\u00e7 ipu\u00e7lar\u0131n\u0131n \u00f6tesine ge\u00e7iyor ve daha h\u0131zl\u0131 \u00e7al\u0131\u015fman\u0131za ve Linux\u2019u daha iyi y\u00f6netmenize yard\u0131mc\u0131 olacak komutlara odaklan\u0131yor.<\/p><p>\u0130ki b\u00f6l\u00fcmden olu\u015facak:<br>1. Linux Ara\u00e7lar\u0131 \u2014 \u00d6nemli ara\u00e7lar ve bunlar\u0131 etkili kullanma<br>2. Ge\u00e7ici Komutlar \u2014 \u0130htiya\u00e7 duydu\u011funuzda h\u0131zl\u0131 \u00e7\u00f6z\u00fcmler i\u00e7in kullan\u0131\u015fl\u0131 komutlar<\/p><p>## Linux Ara\u00e7lar\u0131<\/p><p>### Yard\u0131mc\u0131 Programlar<\/p><p>#### rsync<br>Dosya ve dizinleri hedefe kopyalamak i\u00e7in kullan\u0131l\u0131r, cp komutuna benzer. Ancak uzak konumlara kopyalama yapabilir ve ilerleme \u00e7ubu\u011fu g\u00f6sterebilir, genellikle yedeklemeler i\u00e7in kullan\u0131l\u0131r.<\/p><p># \u00d6rnek Kullan\u0131m<br>$ rsync -vap \u2014 ignore-existing &lt;kaynak_dosya&gt; &lt;hedef_dosya&gt;<\/p><p># \u00d6nemli bayraklar:<br>v = ayr\u0131nt\u0131l\u0131, r = \u00f6zyinelemeli, p = izinleri koru, g = grup, o = sahip, a = ar\u015fiv, \u2014 progress = ilerleme \u00e7ubu\u011fu<\/p><p>#### mkpasswd<br>mkpasswd basit ama \u00e7ok kullan\u0131\u015fl\u0131 bir komuttur, belirtilen uzunlukta karma\u015f\u0131k rastgele \u015fifre olu\u015fturur.<\/p><p>$ mkpasswd -l 8<br>&gt; iwF1g2Lo<\/p><p>#### screen<br>Screen tam ekran pencere y\u00f6neticisidir; i\u00e7inde kabuk \u00e7al\u0131\u015ft\u0131ran tek bir pencere olu\u015fturur ve tek bir oturum i\u00e7inde birden fazla screen penceresinin \u00e7al\u0131\u015fmas\u0131na izin verir. Uzaktan uzun bir g\u00f6rev \u00e7al\u0131\u015ft\u0131r\u0131yorsan\u0131z ve SSH oturumunuzun d\u00fc\u015f\u00fcp her \u015feyi mahvetmesinden endi\u015feleniyorsan\u0131z \u00e7ok faydal\u0131d\u0131r. Screen ba\u011flant\u0131 kesintisinden sonra da \u00e7al\u0131\u015fmaya devam eder.<\/p><p># \u00d6rnek Kullan\u0131m<br>$ screen # Screen oturumu ba\u015flat<br>$ screen -ls # \u00c7al\u0131\u015fan servisleri listele<br>$ screen -r # Oturuma ba\u011flan<br><br>Makalenin devam\u0131n\u0131 T\u00fcrk\u00e7e \u00e7evirisiyle sunuyorum:<\/p><p>#### Ldapsearch<br>LDAP veritabanlar\u0131yla d\u00fczenli olarak \u00e7al\u0131\u015f\u0131yorsan\u0131z, Ldapsearch olmazsa olmazd\u0131r. Bu ara\u00e7, LDAP sunucusuna ba\u011flant\u0131 a\u00e7ar ve veritaban\u0131n\u0131zdaki giri\u015fleri araman\u0131za, bulman\u0131za ve hata ay\u0131klaman\u0131za olanak tan\u0131r.<\/p><p># \u00d6rnek Kullan\u0131m<br>$ ldapsearch -x -W -D &lt;kullan\u0131c\u0131_ad\u0131&gt; | less<\/p><p># \u00d6nemli Bayraklar<br>-x = basit kimlik do\u011frulama<br>-W = \u015fifre sorma<br>-D = LDAP dizinine ba\u011flanmak i\u00e7in ay\u0131rt edici binddn ad\u0131n\u0131 kullan<\/p><p>### \u0130zleme Ara\u00e7lar\u0131<\/p><p>#### Uptime<br>Uptime, bir sunucunun ne kadar s\u00fcredir \u00e7al\u0131\u015ft\u0131\u011f\u0131, mevcut zaman, kullan\u0131c\u0131 say\u0131s\u0131 ve bellek kullan\u0131m ortalamalar\u0131 gibi metrikleri d\u00f6nd\u00fcr\u00fcr. Sunucunuzda bir \u015feyler ters gitti\u011finde, genellikle ilk ba\u015fvurulan komuttur.<\/p><p>#### w<br>Evet, tek harf. Bu, uptime ve who komutlar\u0131n\u0131n harika bir kombinasyonudur.<br><br>$ w<\/p><p>#### Wall<br>Wall, herhangi bir sistem y\u00f6neticisi i\u00e7in kullan\u0131\u015fl\u0131 bir komuttur; sistemde o anda oturum a\u00e7m\u0131\u015f olan herkesin terminaline mesaj g\u00f6ndermenizi sa\u011flar. Bu, sistem genelindeki duyurular i\u00e7in \u00e7ok kullan\u0131\u015fl\u0131 olabilir.<\/p><p>$ wall \u201cBak\u0131m 13:30'da planlanm\u0131\u015ft\u0131r\u201d<\/p><p>#### Top<br>CPU ve kritik bellek kullan\u0131m\u0131 ile CPU kullan\u0131m metrikleri i\u00e7in otomatik yenilenen bir s\u00fcre\u00e7 listesi g\u00f6sterir.<br><br>$ top<\/p><p>#### Ncdu<br>ncdu komutu, disk kullan\u0131m\u0131 i\u00e7in h\u0131zl\u0131 ve kullan\u0131\u015fl\u0131 bir g\u00f6r\u00fcn\u00fcm sa\u011flar. En \u00e7ok disk alan\u0131 kullanan dizinleri h\u0131zl\u0131 ve kolay bir \u015fekilde g\u00f6rmek i\u00e7in kullanabilirsiniz.<br><br>$ ncdu<\/p><p>#### lsof<br>lsof, temel bir ama\u00e7 i\u00e7in kullan\u0131lan tek bir komuttur: A\u00e7\u0131k Dosyalar\u0131 Listele (LiSt Open Files). \u00d6zellikle dosyalar\u0131n kullan\u0131mda oldu\u011funu s\u00f6yleyen ba\u011flama sorunlar\u0131 ya\u015farken \u00e7ok kullan\u0131\u015fl\u0131d\u0131r. Bu komut, hangi dosyalar\u0131n hangi i\u015flemler taraf\u0131ndan kullan\u0131ld\u0131\u011f\u0131n\u0131 h\u0131zl\u0131ca tan\u0131mlar.<br><br>$ lsof<\/p><p>### A\u011f Ara\u00e7lar\u0131<\/p><p>#### Netcat<br>Netcat veya nc \u00f6ncelikle port taramas\u0131 i\u00e7in kullan\u0131l\u0131r, ancak asl\u0131nda sistem y\u00f6neticilerinin herhangi bir g\u00f6rev i\u00e7in ellerinin alt\u0131nda bulundurmalar\u0131 gereken harika bir a\u011f yard\u0131mc\u0131 program\u0131d\u0131r. Netcat; port tarama, dosya kopyalama, port y\u00f6nlendirme, proxy sunucular\u0131 ve sunucu bar\u0131nd\u0131rma gibi i\u015flemleri destekleyebilir\u2026 K\u0131sacas\u0131 inan\u0131lmaz derecede \u00e7ok y\u00f6nl\u00fcd\u00fcr.<\/p><p># \u00d6rnek Kullan\u0131m:<br>$ nc -vz &lt;host&gt; &lt;port&gt; # \u0130ki host aras\u0131ndaki ba\u011flant\u0131y\u0131 belirli bir portta kontrol eder<br>$ nc -l 8080 | nc &lt;host&gt; 80 # Proxy sunucu olu\u015fturma<\/p><p>#### NetStat<br>Netstat; y\u00f6nlendirme tablolar\u0131, a\u011f ba\u011flant\u0131lar\u0131, \u00fcyelikler, istatistikler, bayraklar vb. gibi \u00e7e\u015fitli a\u011f ayr\u0131nt\u0131lar\u0131n\u0131 d\u00f6nd\u00fcr\u00fcr.<\/p><p># \u00d6rnek Kullan\u0131m&nbsp;<br>$ netstat -a # T\u00fcm a\u011f portlar\u0131n\u0131 listele<br>$ netstat -tlpn # T\u00fcm dinleme portlar\u0131n\u0131 listele<\/p><p># \u00d6nemli Bayraklar<br>-s = \u0130statistikleri g\u00f6ster<br>-v = Ayr\u0131nt\u0131l\u0131<br>-r = Y\u00f6nlendirme tablolar\u0131n\u0131 g\u00f6ster<br>-i = Aray\u00fcz tablosunu g\u00f6ster<br>-g = Grup \u00fcyeliklerini g\u00f6ster<\/p><p>#### Nslookup<br>\u0130nternet veya yerel a\u011f\u0131n\u0131zdaki sunucular hakk\u0131nda bilgi almak i\u00e7in kullan\u0131l\u0131r. Ad sunucusu bilgilerini bulmak i\u00e7in DNS\u2019yi sorgular ve a\u011f hata ay\u0131klama i\u00e7in kullan\u0131\u015fl\u0131 olabilir.<\/p><p># \u00d6rnek Kullan\u0131m<br>$ nslookup medium.com\/tags\/devops<\/p><p># \u00d6nemli Bayraklar<br>-port = Ba\u011flant\u0131 i\u00e7in port numaras\u0131n\u0131 de\u011fi\u015ftir<br>-type = Sorgu t\u00fcr\u00fcn\u00fc de\u011fi\u015ftir<br>-domain = Arama listesini isme ayarlar<\/p><p>#### TCPDump<br>Sisteminize gelen ve giden trafi\u011fi yakalamak ve analiz etmek i\u00e7in kullan\u0131l\u0131r. A\u011f sorunlar\u0131n\u0131n hata ay\u0131klamas\u0131 ve giderilmesinde uzmanla\u015fm\u0131\u015f, g\u00fc\u00e7l\u00fc ve \u00e7ok y\u00f6nl\u00fc bir ara\u00e7t\u0131r, ayn\u0131 zamanda bir g\u00fcvenlik arac\u0131 olarak da kullan\u0131labilir.<\/p><p># \u00d6rnek Kullan\u0131m<br>$ tcpdump<br>$ tcpdump -i &lt;aray\u00fcz&gt; &lt;ip_adresi veya hostname&gt; &lt;port&gt;<\/p><p>### Ge\u00e7ici Komutlar<\/p><p>#### API Yan\u0131tlar\u0131n\u0131 G\u00fczel Yazd\u0131rma<br>API\u2019lerle \u00e7al\u0131\u015f\u0131rken terminalde JSON verilerini okumak olduk\u00e7a sinir bozucu olabilir. A\u015fa\u011f\u0131da g\u00f6rebilece\u011finiz gibi, k\u00fc\u00e7\u00fck bir veri k\u00fcmesi bile komut sat\u0131r\u0131nda g\u00f6r\u00fcnt\u00fclendi\u011finde h\u0131zl\u0131ca kar\u0131\u015f\u0131kl\u0131\u011fa d\u00f6n\u00fc\u015f\u00fcp okunmas\u0131 \u00e7ok zor hale gelebilir.<\/p><p>$ cat test.json<br>{\u201ctitle\u201d:\u201dPerson\u201d,\u201dtype\u201d:\u201dobject\u201d,\u201dproperties\u201d:{\u201cfirstName\u201d:{\u201ctype\u201d:\u201dstring\u201d},\u201dlastName\u201d:{\u201ctype\u201d:\u201dstring\u201d},\u201dage\u201d:{\u201cdescription\u201d:\u201dAge in years\u201d,\u201dtype\u201d:\u201dinteger\u201d,\u201dminimum\u201d:0}},\u201drequired\u201d:}<\/p><p>Neyse ki Python\u2019un bir \u00e7\u00f6z\u00fcm\u00fc var. \u00c7\u0131kt\u0131n\u0131z\u0131 python\u2019a y\u00f6nlendirerek JSON tool mod\u00fcl\u00fcn\u00fc \u00e7a\u011f\u0131rabiliriz. Bu, JSON belgesini \u00e7ok daha kolay okunabilir ve g\u00f6ze daha ho\u015f g\u00f6r\u00fcnen bir \u015fekilde yazd\u0131racakt\u0131r.<\/p><p><\/p><p>Ayr\u0131ca, komut sat\u0131r\u0131 JSON aray\u00fcz\u00fc olan JQ\u2019yu da referans g\u00f6stermek gerekir:<br><br>$ jq . file.json<\/p><p>#### Kullan\u0131labilir Paketleri apt ile Arama<br><br>$ apt-cache search &lt;anahtar_kelime&gt;<\/p><p>#### \u0130ki Komutun \u00c7\u0131kt\u0131s\u0131n\u0131 Kar\u015f\u0131la\u015ft\u0131rma<br><br># \u0130ki ls komutunun \u00e7\u0131kt\u0131s\u0131n\u0131 kar\u015f\u0131la\u015ft\u0131rma \u00f6rne\u011fi<br>$ diff -u &lt;(ls -l \/dizin\/) &lt;(ls -l \/dizin\/) | colordiff<\/p><p>#### Unix Zaman Damgas\u0131n\u0131 \u0130nsan Taraf\u0131ndan Okunabilir Formata D\u00f6n\u00fc\u015ft\u00fcrme<br><br># Unix zaman damgas\u0131n\u0131 insan taraf\u0131ndan okunabilir formata d\u00f6n\u00fc\u015ft\u00fcr<br>$ date -d 1656685875<br>Fri, 01 Jul 2022 14:31:15 +0000<\/p><p># Mevcut zaman\u0131 UNIX zaman damgas\u0131 olarak al<br>$ date \u201c+%s\u201d<\/p><p>#### Git Commit\u2019lerini Birle\u015ftirme<br><br>$ git log # Ka\u00e7 commit yapt\u0131\u011f\u0131n\u0131z\u0131 g\u00f6r\u00fcn<br>$ git rebase -i HEAD~x # x = yapt\u0131\u011f\u0131n\u0131z commit say\u0131s\u0131<br># Metin edit\u00f6r\u00fcnde de\u011fi\u015fiklikleri yap\u0131n, son commit\u2019i pick olarak tutun ve di\u011ferlerini squash olarak de\u011fi\u015ftirin<br># Commit mesajlar\u0131n\u0131 d\u00fczenleyin, tercihen \u00f6nceki commit\u2019lerden olanlar\u0131 kald\u0131r\u0131n<br>$ git push \u2014 force-with-lease<\/p><p>#### T\u00fcm Systemd Servislerini Listeleme<br><br>$ systemctl -l -t service | less<\/p>","excerpt":"\u0130ster Sistem Y\u00f6neticisi, Geli\u015ftirici, DevOps, G\u00fcvenlik veya Operasyon uzman\u0131 olun, Linux\u2019u ve ara\u00e7lar\u0131n\u0131 etkili bir \u015fekilde kullanmak \u00f6\u011frenebilece\u011finiz en temel beceridir. Linux, d\u00fcnyadaki sunucular\u0131n ve uygulamalar\u0131n \u00e7o\u011funlu\u011funun temelini olu\u015fturur.\r\n\u201cProfesyonel geli\u015ftiricilerin %47'si Linux...","created_at":"2024-12-29 11:38:46","updated_at":"2026-09-07 07:25:50","category_id":10,"view_count":666,"reading_time":7,"status":"published","editor_choice":0,"is_editor_choice":0,"published_at":"2024-12-29 11:38:46","featured_image":"resimyok.jpg","slug":"cok-kullanilmayan-linux-komutlari","category_name":"nix Linux Unix","category_slug":"nix-linux-unix","category_color":"#2a1952"}