terminal/komut ­čç╣­čçĚ

terminal/komut ­čç╣­čçĚ

- 13 mins

├ľzet:

Bu yaz─▒da linux ortam─▒na biraz daha giri┼č yaparak, linux ortam─▒nda bulunan komutlar hakk─▒nda k─▒sa bilgilendirme yap─▒lmas─▒ planlanmaktad─▒r.

─░├žindekiler:

Giri┼č

Neden Linux ?

Temeller

Bu bilgilendirme dosyas─▒ i├žin not

Windows bilgisayar ├╝zerinden giri┼č i├žin

Mac veya Linux Bilgisayarlardan Eri┼čim

Bu t├╝r bilgisayarlar UNIX tabanl─▒ oldu─čundan dolay─▒ terminal ├╝zerinden a┼ča─č─▒da verilen komutlar─▒ yazman─▒z yeterli olacakt─▒r ekstradan herhangi bir programa gerek duyulmamaktad─▒r.

$ ssh <kullan─▒c─▒_ad─▒>@<sunucu_adresi(IP)>
$ kullan─▒c─▒_ad─▒: ...
$ ┼čifre: ...

Giri┼č yapt─▒ktan sonra ┼čifrenizi de─či┼čtirmek isterseniz

$ passwd # bu komutu kullanabilirsiniz. 
    # bu komut sayesinde giri┼č yap─▒lan 
    # kullan─▒c─▒ i├žin yeni ┼čifre 
    # belirleyebilirsiniz.

Listeleme

$ pwd # ┼ču anda bulundu─čunuz konumu ├ž─▒kt─▒ olarak yazd─▒r─▒r
$ ls # bulundu─čunuz konumdaki dosyalar─▒ ve klas├Ârleri listeler
$ ll # ls komutunun e┼čde┼či olarak tan─▒ml─▒ bir ifadedir genelde "ls -alF" olarak kay─▒tl─▒d─▒r bash profilinde

 $ ll -R # dosyalar/klas├Ârler listelenir, klas├Ârler i├žerisindeki dosyalarda listelenir
 $ ll -t # listeleme i┼člemi kronolojik ┼čekilde ger├žekle┼čir.
 $ stat <dosya_ad─▒> # dosyaya ait bilgileri meta bilgileri listeler
 $ whoami # sizin sistem taraf─▒ndan kim oldu─čunuzu s├Âyler, yani kullan─▒c─▒ ad─▒n─▒z─▒ listeler
 $ hostname # ba─čl─▒ oldu─čunu makinenin URL ni yada IP sini g├Âsterir

Dosyalar ve Klas├Ârler

 $ mkdir <klas├Âr_ad─▒> # belirlenen isimde klas├Âr olu┼čturur
 $ cd <klas├Âr_ad─▒> # klas├Âr ad─▒ tan─▒mlanan klas├Âre gidersini.
 $ cd .. # ├╝st klas├Âre gitmenizi sa─člar
 $ cd ../../ # iki ├╝st klas├Âre gitmenizi sa─člar
 $ cd # ana klas├Âr├╝ne gidersiniz
 $ rmdir <klas├Âr_ad─▒> # klas├Âr├╝ siler
 $ rm <dosya_ad─▒> # dosyay─▒ siler
 $ rm -r <klas├Âr_ad─▒> # klas├Âr├╝ ve i├žerisindeki b├╝t├╝n dosyalar─▒ siler
 $ mv <dosyaad─▒1> <dosyaad─▒2> # isim de─či┼čtirmenizi sa─člar, name
 $ mv <dosyaad─▒> <ta┼č─▒nacak_yol> # dosyay─▒ belirtilen yere ta┼č─▒r
 $ cp <dosyaad─▒> <kopyalanacak_yol> # dosyay─▒ belirtilen yere kopyalar, e─čer klas├Âr kopyalanacak ise -r parametresi eklenir. 
 

K─▒sayollar

 $ . # sadece nokta bulundu─čunuz dizini ifade eder
 $ ~/ # kullan─▒c─▒n─▒n ana dizinini ifade eder
 $ history # yazm─▒┼č oldu─čunuz komutlar─▒n kayd─▒n─▒ tutar ve bu komut ile eri┼čebilirsiniz
 $ !<komut_s─▒ralamas─▒> # daha ├Ânce yazm─▒┼č oldunuz komutu s─▒ralamas─▒n─▒n numaras─▒n─▒ vererek cal─▒┼čt─▒rabilirsiniz.
 $ yukar─▒(asag─▒)_oklar─▒ # ge├žmi┼č komutlar aras─▒nda gezmenizi sa─člar
 $ <tamamlanmam─▒┼č_yol_veya_dosyaad─▒> TAB # Tab a bast─▒─č─▒n─▒zda sistem otomatik tamamlama i┼člemini ger├žekle┼čtirir.
 $ <tamamlanmam─▒┼č komut> SHIFT&TAB # komutu otomatik tamamlar
 $ Ctrl a # imlecin en ba┼ča gitmesini sa─člar
 $ Ctrl e # imlecin en sona gitmesini sa─člar
 $ Ctrl d # imlec alt─▒ndaki karakteri siler
 $ Ctrl k # imlecin bulundu─ču sa─člar
 $ Ctrl y # Ctrl k ile al─▒nan i├žerik yap─▒┼čt─▒r─▒l─▒r.
 

Yard─▒m Alma

 $ man # genel yard─▒m
 $ man wc # wc komutu hakk─▒nda yard─▒m alman─▒z─▒ sa─člar
 $ wc --help # wc komutu hakk─▒nda yard─▒m alman─▒z─▒ sa─člar
 $ info wc # wc komutu hakk─▒nda detayl─▒ bilgi alman─▒z sa─član─▒r
 $ apropos wc # wc komutuna ait b├╝t├╝n yard─▒m dosyalar─▒ g├╝ncellenir.
 

Arad─▒─č─▒n─▒z Dosyay─▒ Bulma Y├Ântemleri

Arama yapmak

 $ find -name "*aramakistedi─činizdesen*" # girdi─činiz desene g├Âre bulundu─čunuz dizinde arama yapman─▒z─▒ sa─člar.
 $ find /usr/local -name "*klas*" # isminin i├žerisinde klas ge├žen dosyalar─▒ ve klaks├Ârleri listeler.
 $ find /usr/local -iname "*klas*" # yukar─▒daki komutuna benzer ┼čekilde, isminin i├žerisinde klas ge├žen dosyalar─▒ ve klas├Ârleri listeler fakat bu durumda b├╝y├╝k veya k├╝├ž├╝k harfte olmas─▒ dikkate al─▒nmaz

 $ find ~ -type f -mtime -2 # 2 g├╝n i├žerisinde de─či┼čtirilmi┼č b├╝t├╝n dosyalar─▒ listeler
 $ locate <aramakistedi─činizdesen> # arad─▒─č─▒n─▒z dosyay─▒ veya klas├Âr├╝ sistem genelinde arar.
 $ which <uygulama_ad─▒> # uygulaman─▒n nerede bulundu─čunu g├Âsterir
 $ whereis <uygulama_ad─▒> # uygulaman─▒n ├žal─▒┼čt─▒r─▒labilir dosyas─▒n─▒n yerini g├Âsterir
 $ dpkg -l | grep aramakistedi─činizpaketismi # Debian paketleri i├žerisinde arama yaparak verilen desende bulunan paketleri listel

Dosya i├žerisinde arama yapmak

 $ grep aranan_kelime dosya # dosya i├žerisinde aranan kelimenin nerelerde ge├žti─čini size aktar─▒r
 $ grep -H aranan_kelime # -H ├ž─▒kt─▒ dosyas─▒n─▒ aranan kelimenin ├Ân├╝ne koyar
 $ grep 'aranan_kelime' dosya | wc # burada iki komut birle┼čtirilmi┼čtir, yani grep komutunun ├ž─▒kt─▒s─▒ wc komutuna girdi olmaktadir yani aranan kelime verilen dosyada 5 kere ge├žiyor ise bu durumda sonuc 5 olarak d├Ânmektedir. 
 $ find /home/kullan─▒c─▒_ad─▒ -name '*.txt' | xargs grep -c ^.* # verilen dizinde txt dosyalar─▒n─▒ bularak bu dosyalar i├žerisindeki sat─▒r say─▒s─▒n─▒ hesaplayarak ├ž─▒kt─▒ vermektedir. 
 

─░zinler & Hak Sahipli─či

 $ ls -al # bu komut ├žal─▒┼čt─▒r─▒ld─▒g─▒nda buna benzer bir ├ž─▒kt─▒ g├Âr├╝nebilir : drwxrwxrwx

Burada bahsi ge├žen harflerin anlamlar─▒ a┼ča─č─▒daki gibi verilebilir.

Kullan─▒c─▒ ve grupa, yazma ve ├žal─▒┼čt─▒rma izni vermek:

 $ chmod ug+rx dosya_ismi 
 

Kullan─▒c─▒ haklar─▒n─▒n al─▒nmas─▒

 
 $ chmod ugo-rwx dosya_ismi

 '+' izin eklemeyi sa─člar
 '-' izin silmenizi sa─člar

 $ chmod +rx dosya_ismi/ VEYA $ chmod 755 dosya_ismi/

 

Hak sahipli─činin de─či┼čtirilmesi

 $ chown <kullan─▒c─▒_ad─▒> <dosya veya klas├Âr> # kullan─▒c─▒ hak sahibini de─či┼čtirir
 $ chgrp <grup> <dosya veya klas├Âr> # grup hak sahibini de─či┼čtirir
 $ chown <kullan─▒c─▒_ad─▒>:<grup> <dosya veya klas├Âr> # kullan─▒c─▒ ve grup hak sahipli─čini de─či┼čtirir
 

Kullan─▒┼čl─▒ Linux Komutlar─▒

 $ df # sistem diskinin ne kadar dolu ve bo┼č oldu─ču bilgisini g├Âsterir
 $ free # ne kadar ├Ânbellek (RAM) alan─▒n─▒n bo┼č/dolu oldu─čunu g├Âsterir
 $ uname -a # i┼čletim sistemine ait temel bilgileri g├Âsterir
 $ bc # terminal ├╝zerinden hesap makinesi kullanman─▒z─▒ sa─člar
 $ /sbin/ifconfig # sunucunun a─č bilgilerini listeler.
 $ ln -s orjinal_dosyaismi yeni_dosyaismi # orjinal dosyaya link olu┼čturur
 $ du -sh # bulundu─čunuz konumdaki disk kullan─▒m bilgilerini listeler
 $ du -sh * # bulundu─čunuz konumdaki dosyalar─▒n/klas├Ârlerin kullan─▒m bilgilerini g├Âsterir
 $ du -s * | sort -nr # s─▒ralanm─▒┼č ┼čekilde dosyalar─▒n/klas├Ârlerin kullan─▒mlar─▒n─▒ listeler
 

─░┼člem Y├Ânetimi

 $ who # sisteme kimin girdi─čini g├Âsterir
 $ w # sistemde kimlerin oldu─čunu g├Âsterir
 $ ps # arka planda ├žal─▒┼čan i┼člemler hakk─▒ndaki bilgileri listeler.
 $ ps -e # sistemdeki b├╝t├╝n i┼člemleri listeler
 $ ps aux | grep <kullan─▒c─▒_ad─▒> # kullan─▒c─▒ya ait ├žal─▒┼čt─▒r─▒lan i┼člemleri listeler
 $ top # CPU ve RAM de─čerlerinin kullan─▒m bilgilerini g├Âsterir
 $ mtop # birden fazla CPU i├žin top komutunun yapt─▒─č─▒n─▒ yapar
 $ Ctrl z <enter> bg or fg <enter> # ├žal─▒┼čan i┼člemleri durdurur, arka plana atar (bg) veya ├Ân plana getirir (fg)
 $ Ctrl c # yeni ba┼člam─▒┼č olan i┼člemi durdurur
 $ kill <i┼člem_no> # belirlenen i┼člemi sonland─▒r─▒r, i┼člem ID sine g├Âre belirlenir
 $ renice -n <├Ânemlilik_de─čeri> # i┼člemin ├Ânemlilik de─čerini de─či┼čtirmenizi sa─člar 

Text dosyalar─▒n─▒ okumak

 $ less <dosya_ismi> # belirtilen dosyay─▒ terminal ├╝zerinden okuman─▒z─▒ sa─člar G :dosyan─▒n sonuna gider, g : dosyan─▒n ba┼č─▒na gider. 
 $ more <dosya_ismi> # dosya i├žeri─čini g├Âsterir ├ž─▒kmak i├žin q ya bas─▒lmas─▒ gereklidir.
 $ cat <dosya_ismi> #dosya i├žeri─čini terminale yazd─▒r─▒r
 

Metin D├╝zenleyicileri

VI ve VIM

Terminal tabanl─▒ g├╝├žl├╝ metin d├╝zenleyicidir. Vi genelde linux tabanl─▒ b├╝t├╝n sistemlerde mevcuttur, vim, vi nin geli┼čmi┼čidir.

EMACS

Grafik tabanl─▒ metin d├╝zenleyicidir. Bu d├╝zenleyiciye ait olan klavye d├╝zeni hakk─▒nda bilginiz olmal─▒d─▒r. B├╝t├╝n linux ve unix tabanl─▒ sistemlerde mevcuttur.

XEMACS

EMACS in ├žok daha geli┼čmi┼čidir, yaz─▒m hatalar─▒, web ve metini iyi bir ┼čekilde kontrol etmek m├╝mk├╝nd├╝r fakat normalde y├╝klenmi┼č olmaz.

PICO

Terminal tabanl─▒ basit metin d├╝zenleyicidir, buna ait klavye d├╝zeni bilinmelidir.

VIM Temelleri

Temeller

 $ vim dosya_ismi # dosya_ismin de dosya olu┼čturur veya yazma modunda a├žar
 $ i # vim 'in i├žerisine girdikten sonra i a├ž─▒k olan dosyaya bir ┼čeyler yazman─▒za olanak sa─člar.
 $ ESC # dosya d├╝zenleme modundan ├ž─▒k─▒l─▒r
 $ : # vim i├žerisinde kullanaca─č─▒n─▒z komutlar : ile ba┼člar
 $ :w # vim i├žerisinde :w yapt─▒─č─▒n─▒zda yazd─▒─č─▒n─▒z─▒ kaydeder.
 $ :q # bu komut vim den ├ž─▒kman─▒z─▒ sa─člar
 $ :q! # hi├ž bir┼čeyi kaydetmeden ├ž─▒kman─▒z─▒ sa─člar.
 $ :wq # kaydederek ├ž─▒kar
 $ R # vim i├žerisinde ├Âzellik de─či┼čtirmenizi sa─člar
 $ r # imlecin bulundu─ču karakteri de─či┼čtirmenizi sa─člar
 $ q: # vim i├žerisinde yazd─▒─č─▒n─▒z komutlar─▒n kayd─▒n─▒ g├Âsterir
 $ :w yeni_dosyaad─▒ # yeni dosyaya kaydeder.
 $ :#,#w yeni_dosyaad─▒# belirlenen (#,#) aral─▒ktaki metini yeni dosyaya kaydeder.
 $ :# belirlenen (#) sat─▒ra gitmenizi sa─člar
 

Yard─▒m

 $ vimtutor # vim i├žerisinde nas─▒l ├žal─▒┼čt─▒─č─▒na dair bilgileri i├žeren tur ba┼člat─▒l─▒r.
 $ :help # vim i├žerisinde yard─▒m a├žar, ├ž─▒kmak i├žin q komutu kullan─▒l─▒r.
 $ :help <konu> # belirlenen konu hakk─▒nda yard─▒m a├žar
 $ :help <konu> CTRL-D # belirlenen konunun ge├žti─či b├╝t├╝n yard─▒m d├Âk├╝man─▒n─▒ listeler.
 $ :<yukar─▒-asag─▒ tuslar─▒> # daha ├Ânceki yapt─▒─č─▒n─▒z komutlar aras─▒nda gezmenizi sa─člar.
 

Dosya i├žerisinde gezme (vim i├žerisinde)

  $ $ # bulundu─čunuz sat─▒r─▒n en sonuna gider
  $ A # bulundu─čunuz sat─▒r─▒n en sonuna yazma modunu a├žarak gider
  $ 0 (s─▒f─▒r) # sat─▒r─▒n ba┼člang─▒c─▒na gider
  $ CTRL-g # imlecin nerede oldu─ču ve o sat─▒r hakk─▒nda bilgi verir
  $ SHIFT-G # imleci dosyan─▒n en sonuna getirir
 

G├Âr├╝nt├╝ (vim i├žerisinde)

  
  WRAPPING AND LINE NUMBERS

  $ :set nowrap # kelimelerin kaymamalar─▒n─▒ sa─člar
  $ :set number # sat─▒r numaralar─▒n─▒ g├Âsterir
 

Ar┼čivleme ve S─▒k─▒┼čt─▒rma

 $ tar -cvf dosya_ismi.tar klas├Âr/ # verilen klas├Âr i├žin ar┼čiv olu┼čturur
 $ tar -czvf dosya_ismi.tgz klas├Âr/ # verilen klas├Âr i├žin ar┼čivlenmi┼č ve s─▒k─▒┼čt─▒r─▒lm─▒┼č dosya olu┼čturur. 
 

Ar┼čivleri g├Âr├╝nt├╝leme

 $ tar -tvf dosya_ismi.tar
 $ tar -tzvf dosya_ismi.tgz 
 

Çıkartma

 $ tar -xvf dosya_ismi.tar
 $ tar -xzvf dosya_ismi.tgz
 $ gunzip dosya_ismi.tar.gz 
 $ tar zxf blast.linux.tar.Zs
 

Basit y├╝kleme i┼člemleri

RPM y├╝klemeleri

 $ rpm -i uygulama_ismi.rpm
 $ rpm --query <paket_ismi> ## RPM versiyonunu kontrol etme i├žin
 

Debian paketlerinin y├╝klenmesi

 $ apt-cache search nmap # nmap ad─▒ndaki uygulamay─▒ debian deposundan arama yapar
 $ apt-cache show nmap # nmap hakk─▒nda tan─▒mlamay─▒(bilgi) g├Âsterir
 $ apt-get install nmap # nmap 'i sisteme kurar.
 $ apt-get update # sistemdeki uygulamalar─▒ ve servisleri g├╝nceller
 $ apt-get upgrade -u # uygulamalar─▒n yeni versiyonu var ise y├╝kseltme yapar
 $ dpkg -i dosya.deb # indirilen debian dosyas─▒n─▒n y├╝klenmesini sa─člar
 $ aptitude # apt-get ile ayn─▒ i┼člemi g├Âr├╝r
 $ aptitude search vim # vim program─▒n─▒ debian deposunda arar 
 

Cihazlar

Takma /Çıkarma usb/floppy/cdrom

 $ mount /media/usb
 $ umount /media/usb
 $ mount /media/cdrom
 $ eject /media/cdrom
 $ mount /media/floppy
 

├çevresel De─či┼čkenler

 $ xhost user@host # kullan─▒c─▒ i├žin ├žal─▒┼čt─▒rma izini ekler
 $ echo DISPLAY # ekran─▒n ayarlar─▒n─▒ g├Âsterir
 $ export (setenv) DISPLAY=<lokal_IP>:0 # g├Âr├╝nt├╝ de─či┼čkeninin de─čerini de─či┼čtirir
 $ unsetenv DISPLAY # g├Âr├╝nt├╝ de─či┼čkenini siler
 $ printenv # kullan─▒lan ├ževresel de─či┼čkenleri listeler
 $ $PATH # terminal ├╝zerinde programlar─▒n ├žal─▒┼čmas─▒n─▒ sa─člayan yollar─▒ g├Âsterir.
 
Ahmet Turkmen

Ahmet Turkmen

Software Engineer

comments powered by Disqus
rss facebook twitter github gitlab youtube mail spotify lastfm instagram linkedin google google-plus pinterest medium cool-kubernetes stackoverflow reddit quora quora dev