- Genel Komutlar
- Ortam Degiskenleri
- Kullanici Komutlari
- Paket Yükleme ve Kaldirma Islemleri
- Filtre Kullanim Komutlari
- Dosya Sikistirma ve Acma Komutlari
- Sed, Awk ve Crontab Komutlari
- Sistem ile Ilgili Komutlar
- Uzak Bilgisayar Baglanti Komutlari
- Shell Script Komutlari
- Dersteki Calismalar
sudo !!
sudo su
su ec2-user
whoami
man ls
info ls
whatis ls
apropos ls
ls --help
• Burada “-p” parametresi ile eger “deneme” klasörü yoksa hata vermez, olusturur ve onun da icine “edip” klasörü olusturur
mkdir –p /home/deneme/edip
head test.txt
o head -4 test.txt --> Dosyanin ilk 4 satirini listelemek icin kullanilir
tail test.txt
o tail –3 test.txt --> Dosyanin son 3 satirini görüntülemek icin kullanilir
cat test.txt
o cat -b deneme.txt --> Dosyanin tüm satirlarini numaralandirarak listeler
o cat -n deneme.txt --> Dosyanin sadece dolu satirlarini numaralandirarak listeler
o cat test1.txt test2.txt --> Dosyalari birlestirerek görüntülemek icin kullanilir
o cat test1.txt test2.txt > file --> Iki dosyayi birlestirir ve “file” isminde dosya olusturarak icine kaydeder
o cat > deneme.txt --> “Deneme” isminde dosya olusturur ve komut satirindan icine ekleme yapilir (Ctrl + d ile cikis yapilir)
o cat deneme.txt > test.txt --> “Deneme” dosyasi icindekileri “test” adinda bir dosya olusturarak icine kopyalar
tac deneme.txt
more deneme.txt
ls
o ls -a --> dizindeki gizli dosyalari da göstermek icin kullanilir
o ls -l --> dizindeki dosya iceriklerini detaylari ile birlikte gösterir
o ls -h --> dizindeki dosyalari insanin okuyabilecegi sekilde listeler
o ls -ls --> dizindeki dosyalarin boyutuna göre siralama yapar
o ls -t --> dizindeki dosyalari tarihe göre siralar
o ls -r --> dizindeki dosyalari tersten siralayarak gösterir
o ls *.* --> sadece klasör icindeki dosyalari ve uzantilari gösterir
o ls -l *.doc* --> sadece ".doc" uzantili dosyalari listeler
o ls * --> dizindeki dosyalari icindekiler ile birlikte listeler
o ls *[Mm]* --> dizindeki isminin icinde "m" gecen bütün dosyalari listeler
o ls ???? --> Soru isareti sayisi kadar uzunlukta olan isimli dosyalari listeler
ls --help | more
ls --help | less
man pwd
info chmod
less deneme.txt
cd /home/ubuntu
o cd / --> bu komut ile kök dizine gidilir
o cd, cd ~, cd $home --> bu komutlarin hepsi ayni anlamdadir ve ana dizine gider
o cd .. --> bir üst dizine gecmek icin kullanilir
o cd - --> bir önceki dizine gecmek icin kullanilir
o cd edip\dosya --> adi "edip dosya" olan klasöre gecmek icin kullanilir. "\" isareti bosluk(space) anlamindadir
rm edip.txt
o rm -r --> (recursive) bu komut ic ice klasör silmek icin kullanilir (ici dolu olsa da siler)
o rm -f --> (force) silme isleminde zorlamak icin kullanilir
o rmdir --> bu komut ile ici bos klasörler silinebilir
o rmdir -p edip/dene --> (parents) ic ice klasör silmek icin kullanilir
mkdir edip
o mkdir dosya{1..5} --> ilk ismi "dosya" olan bes adet klasör olusturur (dosya1, dosya2 ...)
o mkdir .gizli --> ismin basindaki "." ile gizli klasör olusturulur
o mkdir -p edip/dene --> (parents) ic ice klasör olusturmak icin kullanilir
o mkdir -m 444 edip --> (mode) edip adinda sadece yazma izinleri olan bir klasör olusturur
• Sembolik link olusturmak icin kullanilir. Dosyanın birden fazla kopyasının olmasını değil ama birden fazla yerden erişilmesini istiyorsak, dosyayı bu farklı konumlara kopyalamak yerine birer sembolik(-s) link(ln) oluşturulabilir.
ln -s /opt/test/ec2/ linkdeneme --> Klasörün icinden "/opt/test/ec2/" adresine ulasmak icin "linkdeneme" icine gitmek yeterli
touch edip.txt edip.yml
o touch -t 20072008 --> Dosyanin olusturulma tarihini istedigimiz bir tarih olarak yapmamizi saglar
mv edip.doc ali.doc
o mv edip.doc n/can.doc --> Dosyayi bir yere tasimak icin kullanilir. Istersek ismini tasima sirasinda degistirebiliriz
• Bir dosyayi bir yerden baska bir yere kopyalamak icin kullanilir. Istersek kopyalama sirasinda isim degistirebiliriz
cp edip.doc home/ali.doc
• edip_doc klasörünü sahip olduğu tüm dosyalar ile birlikte başka bir dizine kopyalamak icin kullanilir
cp -avR edip_doc home/test/edip_doc
o -a --> Dosyaya ait file mode, ownership, timestamps verilerini aktarır
o -v --> Islemle ilgili süreci döker
o -R --> Klasör yapısını olduğu gibi kopyalar (gizli dosyalar dahil)
o -f --> Gerekirse hedef dosyayı kaldırarak kopyalamaya zorlamak icin kullanilir
o -i --> Kopyalanacak yerde ayni dosyadan varsa üzerine yazmadan önce sorar
o -l --> Dosyalari belirtilen konuma kopyalamak yerine arada bag olusturur (Bir nevi kisayol)
o -n --> Kopyalanacak yerde ayni dosyadan varsa üzerine yazma anlamindadir
o -u --> Eger kopyalanacak dosya kaynaktaki dosyadan daha yeni ise güncelle anlamindadir
nano edip.txt
vim edip.txt
echo "selam naber"
o echo "merhaba" > ali.txt --> ali.txt dosyasi varsa icini temizler ve bunu yazar yoksa olusturur yazar
o echo "merhaba" >> ali.txt --> ali.txt dosyasi varsa dosyanin en sonuna metni ekler yoksa olusturur yazar
o echo "" can.txt --> can.txt dosyasinin icini temizlemek icin kullanilir
o echo -n edip.txt --> normalde echo komutu satir sonuna enter ekler. "-n" parametresi ile enter eklenmesi engellenir
history
o history 10 --> girilen son 10 kodu listeler
o history | grep touch --> touch ile ilgili girilen komutlari listeler
o history !15 --> 15. girilen kodu tekrar calistirmak icin kullanilir
• (changemode) Dosya izinlerini degistirmek icin kullanilir. Burada "edip" dosyasina calisma izni verir
chmod +x edip.sh
- (rwx)(rw-)(r--)
1 2 3 4
o 1 --> dosyanin ne oldugunu belirtir
o 2 --> user icin calistirma izinleri
o 3 --> group icin calistirma izinleri
o 4 --> digerleri icin calistirma izinleri
o 0 --> tüm izinler kapali
o 1 --> sadece calistirma izni verir
o 2 --> sadece yazma izni verir
o 3 --> yazma - calistirma izinlerini verir
o 4 --> sadece okuma izni verir
o 5 --> okuma - calistirma izinlerini verir
o 6 --> okuma - yazma izinlerini verir
o 7 --> okuma - yazma - calistirma izinlerini verir
o chmod -x edip.sh --> burada tüm kullanicilarin calistirma iznini alir
o chmod +rw edip.sh --> tüm kullanicilar icin okuma ve yazma izni verir
o chmod 777 edip.sh --> burada dosyaya tüm kullanicilar icin bütün izinleri verir
o chmod ugo=rwx edip.sh --> u >> user, g >> group, o >> other. Tüm kullanicilar icin bütün izinleri verir
o chmod ug=r edip.sh --> dosyaya sadece user ve group icin okuma izni verir
clear
alias edip="ls -al"
unalias edip
find .
o find /home –name test.txt --> Home klasörü icerisindeki test.txt dosyasinin tam uzantisini görüntüler
o find /lesson –name den\* --> Lesson klasörü icindeki “den” ile baslayan bütün dosyalari listeler (Büyük-kücük harf duyarli)
o find /lesson –name *.png --> Lesson klasörü icindeki “.png” ile biten bütün dosyalari listeler
o find /lesson –iname den\* --> Lesson klasörü icindeki “den” ile baslayan (büyük-kücük harf fark etmez) bütün dosyalari listeler
grep ‘naber’ deneme.txt
o Grep –i --> Büyük/kücük harf duyarsiz sekilde görüntüler
o Grep –n --> Eslesen dizeleri satir numaralari ile görüntüler
o Grep –v --> Eslesmeyen satirlari görüntüler
o Grep –l --> Listele anlamindadir
o Grep –R --> Alt dosya ve klasörler dahil eder
o Grep –c --> Kac satir eslesdiyse sayisini döndürür
o Grep –w --> Sadece kelime olarak arar. Tam kelime olarak bulur
o Grep –o “ali” --> Dosya icinde sadece eslesen kelimeyi getirir
o Grep “^li” --> “li” ile baslayan satirlari listeler
o Grep “dur$” --> Sonu “dur “ ile biten satirlari listeler
o grep –iRl ‘naber’ --> İcerisinde ‘naber’ gecen dosyalarin isimlerini listeler
o grep ‘is’ * --> İcinde ‘is’ olan bütün satirlari dosya farketmeksizin listeler
o grep -A3 'ali' dene.txt --> Dosya icinde ‘ali’ ile eslesen satiri ve öncesindeki 3 satir daha listeler
o grep -B3 'veli' dene.txt --> Dosya icinde ‘veli’ ile eslesen satiri ve sonrasinda 3 satir daha listeler
o grep -C3 'can' dene.txt --> Dosya icinde ‘can’ ile eslesen satiri, öncesinde ve sonrasinda 3 satir daha listeler
o grep lin[u] dene.txt --> Dosya icerisinde “lin” isminden sonra sadece “u” olanlari listeler
o grep lin[a-z] dene.txt --> Dosya icerisinde “lin” isminden sonra sadece harf olanlari listeler
o grep lin[0-9] dene.txt --> Dosya icerisinde “lin” isminden sonra sadece rakam olanlari listeler
cd --help | grep –C3 ‘director’
ls –R | grep .txt
sudo apt-get install mlocate
locate deneme.txt
sudo updatedb
which pwd
whereis pwd
• “wget” komutu ilgili sayfadan belirtilen dosyayi indirir ve bulundugu klasöre kaydeder. Github alinan dosyalarin “raw” halini indirmemiz lazim
wget https://raw.githubusercontent.com/awsdevopsteam/route-53/master/ken.jpg
• "curl" komutu ile bir web sayfasini Linux komut sistemi üzerinden sorgulayabilir ve görüntüleyebiliriz. "wget" ile aynidir fark olarak "curl" komutu daha fazla dosya ve internet yolu destekler
curl https://raw.githubusercontent.com/awsdevopsteam/route-53/master/index.html
curl –L https://raw.githubusercontent.com/awsdevopsteam -o /home/ubuntu/deneme
o –L --> (Location) yer belirtmek icin
o -o --> (output) ciktiyi dosya olarak kaydetmek icin kullanilir
o -s --> (silent) sessiz mod anlamindadir. Ilerleme yada hata gösterme demektir
o -f --> (fail) sunucu hatalarinda sessiyce basarisiz olmasi icin kullanilir
o -S --< (show-error) eger basarisiz olursa bir hata mesaji almak icin kullanilir
echo edip | xargs –I {} echo {} {} # büyük i
watch -n 1 'ls -al'
o -n --> tekrarlama aralığını saniye cinsinden belirtir
o 1 --> kac saniyede araliklarla ekrani yenileyecegini belirtir
o 'ls -al' --> calistirilacak komut girilir
Go to Index
• Bu değişken, sisteminizin yürütülebilir dosyaları aradığı, iki nokta üst üste (:) ile ayrılmış bir dizin listesi içerir
$PATH
$USER
$HOME
$EDITOR
$UID
$TERM
$SHELL
$LANG
printenv -(yada)- env
set
printenv USER
echo $USER
EDIPP=mahmutedipnegiz
HOME=/home/ec2-user/edip
unset EDIPP
export
export EDIP=mahmutedipnegiz
• Komutlarin yolunu gösterir. Girilen program ve komutlar önce bu klasörlere bakar ve varsa calistirir
echo $PATH
• Program calistirmak icin Yola yeni bir klasör eklenir. Artik komut calistirmak icin bu klasöre de bakar. Arada (:) olmak zorunda
PATH=$PATH:/games/Pubg
• Ana dizine ekleme yapar. Eski dizin sabit kalir yeni dizini sona ekler. Üzerine yazmak icin degisken tekrar tanimlanmalidir
HOME=$HOME/home/desktop
• Yazmis oldugumuz kod dosyasini bulundugumuz SHELL ortaminda calistirir. Execute olarak izin verilmeli
source my_script.sh -(yada)- . my_script.sh
• Yazmis oldugumuz kod dosyasini farkli bir SHELL de calistirir, bizim bulundugumuz SHELL ortamina etki etmez. Execute olarak izin verilmeli ???
./my_script.sh
• Bu komut ile ALIAS tanimlamasi yapariz ve SHELL her baglanmada otomatik olarak icindekileri tanimlar ve calistirir
vim .bashrc
• Bu degiskeni yazdirince $HOME kismini komut olarak algilar ve yazdirir. (“) icine yazilan ifadelerde komut varsa ona komut olarak islem yapar
MYVAR="my name is $HOME"
• Bu degiskeni yazdirince $PATH kismini metin olarak algilar ve yazdirir. (‘) icine yazilan herseyi metin olarak algilar ve yazdirir
MYVAR=’my name is $PATH’
• Bu degiskeni yazdirince $PATH kismini metin olarak algilar ve yazdirir. () kendinden sonraki komutun özel gücünü alir ve metin olarak algilatir
MYVAR=’”my name is \$PATH”
envsubst < edip.txt > ali.txt
edip.txt >> Selam $ABC
export ABC="kanka"
* buradan sonra "envsubst" komutu calisirsa ali.txt dosyasina söyle bir deger yazilir
envsubst < edip.txt > ali.txt --> var olan bir dosyanin sonuna ekleme yapmak icin ">>" kullanilabilir
ali.txt >> selam kanka
Go to Index
who
w
chown “ali -yada- group1” “deneme.xt”
chown ali:okul deneme.txt --> dosya sahibi(ali) ve group(okul) bir seferde verilebilir
lsof -u “edip”
sudo nano /etc/login.defs
sudo Adduser edip
su edip
sudo useradd -m -d /home/edip -c "edip negiz" edip
o –m --> ana dizinin olusturulmasini saglar
o –d --> ana dizinin adini ayarlamak icin kullanilir
o –c --> bir aciklama eklemek icin kullanilir
sudo passwd edip
sudo passwd –expire edip
• Kayitli bir kullaniciyi silmek icin kullanilir. (-r) kullanicinin ana dizinini de siler. Normal silmede ana dizin durur sadece kullanici silinir
sudo userdel –r edip
id edip
o id -g --> Mevcut group ID listeler
o id -G --> Tüm group ID listeler
o id -u --> Mevcut user ID listeler
cat /etc/passwd
• Kullanicinin özelliklerini degistirmek icin kullanilir (user modify). "-c --> comment" kullaniciya yorum eklemek icin kullanilir
sudo usermod –c “aws solution archtitect” edip
sudo usermod –l murat edip
• Kullanıcı parolaları şifrelenir ve “/etc/shadow” dosyasında saklanır. Bu dosya sadece okunur ve sadece root tarafından erişilebilir
sudo cat /etc/shadow
sudo groupadd linux
• Kullanicilari gruplara eklemek icin kullanilir. (-a) append, kullanicinin eski gruplarindan cikmadan yeni gruba eklemesini saglar "-G" parametresi ile beraber kullanilir
sudo usermod –a –G linux edip
sudo cat /etc/group
sudo groups
sudo groupmod –n aws linux
sudo gpasswd –a edip aws
sudo gpasswd –d edip aws
Go to Index
sudo yum update -y
o -y --> (yes) tekrar onay almadan güncellemesini saglar
o -q --> (quiet) ilerleme asamalarini atlar
• Ubuntu makinelerde güncelleme yapmak icin kullanilir. Güncellenecek dosyalari listeler ve bizden onay ister
sudo apt update
sudo apt upgrade
sudo yum install git
git --version
• Linux makineden git uygulamasini kaldirmak icin kullanilir. Uygulamanin baglantili dosyalarini kaldirmaz. Version kisminda git versionu görünür
sudo yum remove git
sudo apt remove git
sudo apt-get clean -y
• Ubuntu makinede indirilmiş paketlerin önbellekteki sürümlerini temizler, ancak yüklü olanları silmez
sudo apt autoclean -y
• Linuxte git uygulamasini tüm ek baglantilari ve yapilandirma paketleri ile birlikte onay istemeden kaldirir
sudo yum autoremove git –y
sudo apt purge git
sudo yum info git
sudo apt info git
sudo yum list | more
• Linuxte “Git” uygulamasinin yüklü dosyalarini ve versiyonunu listeler. Daha güncel bir versiyonu varsa onu da listeler
sudo yum list git
sudo yum list installed | more
sudo apt list --installed
sudo yum --showduplicates list git
sudo yum install git-2.14.5-1.amzn2
sudo yum update git –y
• Debian tabanlı Linux dağıtımlarında paket yönetimi işlemlerini gerçekleştirmek için kullanılan bir komuttur
o dpkg -i <paket_adi>.deb --> Bu komut, belirtilen .deb uzantılı paket dosyasını kurar
o dpkg -r <paket_adi> --> Belirtilen paketi kaldırır
o dpkg -l --> Sistemde kurulu olan tüm paketleri listeler
o dpkg -p <paket_adi> --> Belirtilen paket hakkinda bilgi verir
o dpkg -S <dosya_adi> --> Belirtilen dosyanin hangi pakete ait oldugunu bulur
Go to Index
cat –n ali.txt
cat edip.txt | tee ahmet.txt
cat edip.txt | grep guzel
o -w --> sadece “guzel” satirini listeler, sonrasinda ifade varsa listelenmez
o -v --> belirtilen kelime haric hepsini listeler
• Dosya icerisinde “clarusway” arar ve “-A” (after) parametresi ile buldugu satirdan sonraki 3 satiri daha listeler.
grep naber -A 3 clarusway edip.txt
o -B --> (before) komutu ile önceki satirlari listeler
o -c --> (count) parametresi belirtilen kelime ile baslayan kac tane var sayar
o -wc --> (wordcount) sadece belirtilen kelimeden kac tane var sayar
ls * -l | cut -d' ' -f3
o cut --> komutu sütunlara göre filtrelemek icin kullanilir
o -f3 --> kacinci sütunu alacagini belirler. Burada 3. sütunu alacak
o d’ ‘ --> komutu ne ile ayrilmis oldugunu belirtmek icin kullanilir
cat /etc/passwd | cut -d: -f1
• Consoldan metin girerek yazmak icin kullanilir. “<<” isaretinden sonraki kelime girilirse yazma islemini bitir anlamindadir. “SON” gördügü yerde yazma islemi sonra erer
cat << SON > clarusway.txt
• “tr” komutu ile icerisinde aktarilan metindeki harfleri degistirmek icin kullanilir. Burada “a” --> “O” ve “e” --> “R” harfine dönüsür. Sadece listelerken dönüsüm olur ana dosya degismez
cat clarusway.txt | tr ae OR
o cat edip.txt | tr '\n' ' ' --> Normalde asagiya yeni satirda listelenecek olan metinleri tek bir satirda arada bir bosluk ile listeler
o cat edip.txt | tr –d aeiou --> “-d” sil anlamindadir. Edip dosyasi icindeki belirli harfleri silmek icin kullanilir. Sadece cikti olarak gösterir, ana dosya etkilenmez
o cat edip.txt | tr [a-z] [A-Z] --> Dosya icerisindeki bütün harfleri büyük olacak sekilde yazdirir. Dosya etkilenmez, sadece ciktida degisir
o cat edip.txt | tr [:space:] '\n' --> Tüm bosluklardan sonra “enter” eklemek icin kullanilir
wc edip.txt
o wc –l --> sadece satir sayisini verir
o wc –c --> sadece karakter sayisini verir
o wc –w --> sadece kelime sayisini verir
sort ali.txt
o -r --> tersten yazdirmak icin kullanilir
o -u --> ifadeleri uniq olacak sekilde listeler
o -f --> büyük/kücük harf duyarsiz sekilde siralar
o -n --> sonuclari sayisal siraya göre listeler
• “Uniq” komutu her kelimeden birer tane gelecek sekilde listeler. !!! "sort" komutu ile birlikte kullanilmasi zorunludur
sort ahmet.txt | uniq
• İki dosyanin kesisimini almak icin kullanilir. İlk sütun sadece dosya 1 de olanlar. İkinci sütun sadece dosya 2 de olanlar. Ücüncü sütun iki dosyada da olanlari listeler. !!! sort komutu ile birlikte kullanilmasi zorunludur
comm file1.txt file2.txt
diff “test-1.txt” “test-2.txt”
o -r --> (recursive) bir klasörün icindeki dosyalari karsilastirmak icin kullanilir
o -u --> (Unified) formatinda farklari görüntülemek icin kullanilir
cd /home && ls && cat
• Tek satirda birden fazla komut verilebilir. “;” ilk komut basarili olmasa bile diger komutu calistirir
cd /home ; ls ; cat
• Tek satirda birden fazla komut verilebilir. “||” ilk komut basarili degilse diger komutu calistirir veya ilk komut basarili olursa sonraki komutu yapmaz. (veya) anlamindadir
cd /home || ls || cat
echo $?
• Islem yaparken “ && ve ||” birlestirerek kullanilabilir. Dogru olursa “&&” devreye girecek, yanlis olursa “||” devreye girecek
rm edip.txt && echo 'silindi' || 'hata'
echo edip # burasi yorum satiridir
echo ahmet can \# artik yorum olamaz
echo –e “ahmet \n murat”
• “1 --> standart output” cikti degerini cikti.txt icine kaydet. “2 --> standart error” ciktida hata varsa hatayi error.txt icine kaydet
./myscript 1> cikti.txt 2> error.txt
Go to Index
tar -zcvf my-file.tar.gz klasor1 dosya
o tar --> dosyaları bir arşiv dosyasına eklemek için kullanılır
o -z --> sıkıştırma işlemini gerçekleştirir
o -c --> yeni bir arşiv dosyası oluşturur
o -v --> arşiv işleminin ayrıntılarını ekranda gösterir
o -f --> arşiv dosyasının adının belirlemesini sağlar
o my-file.tar.gz --> oluşturulacak arşiv dosyasının adıdır
o klasor1 dosya --> arşiv dosyasına dahil edilecek klasörler ve dosyaların adlarıdır
tar -zxvf my-file.tar.gz
o -x --> arşiv dosyasından dosyaların çıkarılması için "extract" modunu belirtir
tar -zxvf my-file.tar.gz -C /edip
o -C --> arşiv dosyasındaki dosyaların çıkarılacağı dizini belirtir
zip -r dosya.zip dosya_yada_klasor
o zip --> dosya veya klasörleri bir arşiv dosyasına sıkıştırmak için kullanılır
o -r --> belirtilen klasörün içindeki tüm alt klasörleri de arşive eklemeyi sağlar
o dosya.zip --> oluşturulacak arşiv dosyasının adıdır
o dosya_yada_klasor --> sikistirilacak klasör yada dosyalar burada belirtilir
unzip dosya.zip
unzip -P sifre dosya.zip
o -P --> sifre girilecegini belirtir
o sifre --> dosyalari cikarmak icin gerekli sifre yazilir
gzip -9 my-file
o gzip --> dosya veya klasörleri bir arşiv dosyasına sıkıştırmak için kullanılır
o -9 --> sıkıştırma seviyesini belirler ve en yüksek sıkıştırma seviyesini ifade eder
o -1 --> en hızlı sıkıştırma seviyesidir ve en düşük sıkıştırma oranını sağlar
o -6 --> varsayilan sikistirma seviyesidir
o my-file --> sikistirilacak olan dosyayi belirtir. Sıkıştırılmış dosya "dosya.gz" adıyla aynı dizine kaydedilir ve orijinal dosya yerinde kalır
gunzip dosya.gz
rar a -ap my-file.rar dosya_yada_klasor
o rar --> dosya veya klasörleri bir arşiv dosyasına sıkıştırmak için kullanılır
o a --> "add" kelimesinin kısaltmasıdır ve RAR arşivi oluşturma veya mevcut bir arşive dosya eklemek için kullanılir
o -a --> sıkıştırma metodu olarak otomatik modun kullanılmasını sağlar
o -p --> sıkıştırma parolasını "my-file.rar" dosyasına ekleme özelliğini etkinleştirir
o my-file.rar --> oluşturulacak arşiv dosyasının adıdır
o dosya_yada_klasor --> sikistirilacak klasör yada dosyalar burada belirtilir
unrar e -p Sifre my-file.rar
o e --> arşiv dosyasındaki tüm dosyaların çıkarılmasını sağlar.
o -p --> sifre girilecegini belirtir
o Sifre --> dosyalari cikarmak icin gerekli sifre yazilir
Go to Index
• Bu komut ali.txt dosyasi icindeki ilk “linux” ifadesini bulur ve onu “ubuntu” olarak degistirir. Büyük-kücük harf duyarli degil.
sed –i ‘s/linux/ubuntu/’ ali.txt
o -i --> degisikligi dosyaya uygular ve kaydeder
sed ‘s/linux/ubuntu/ig’ ali.txt
o i --> büyük-kücük duyarsiz
o g --> bütün ifadeleri degistir
sed ‘s/linux/ubuntu/2’ ali.txt
sed ‘3 s/linux/ubuntu/g’ ali.txt
awk ‘{print}’ ahmet.txt
o awk ‘{print $3}’ ahmet.txt --> Ahmet dosyasinin sadece 3. Satirini listeler
o awk ‘/aksam/ {print $0}’ ahmet.txt --> Ahmet dosyasinin icindeki "aksam" ile baslayan bütün satirlari listeler
o awk '{ if($7 == "can") print $0}' ahmet.txt --> Ahmet dosyasinin 7. Sütununda “can” ifadesi varsa o satiri komple listeler
• Zaman olarak planli yapmak istedigimiz islemler icin crontab dosyasini düzenlemek icin kullanilan bir komuttur
crontab –e
crontab –ls
• Yildizlar zaman bakimindan ayarlamak icin kullanilir. Hicbir deger girilmezse dakika basi islem yapar
* * * * * date >> /home/ec2-user/veriler.log
* * * * *
1 2 3 4 5
o 1 --> bu kisim dakika icin kullanilir
o 2 --> bu kisim saat girmek icin kullanilir
o 3 --> bu kisim ayin kacinda onu belirtmek icin kullanilir
o 4 --> bu kisim ay girmek icin kullanilir
o 5 --> bu kisim ayin gününü belirtmek icin kullanilir
crontab –e
25 12 * * * sudo yum install git –y
Go to Index
mkfs
nice -n 19 git-backup
o -n --> (--classdata) işlem önceliğini belirtmek icin kullanilir
o 19 --> islem önceligi seviyesi girilir. Islem önceliği seviyeleri -20 ile 19 arasındadır
-20 en yüksek önceligi, 19 en düşük önceliği temsil eder. Default 0
o git-backup --> islemi önceligi belirlenen komut girilir
ionice -c2 -n7 git-backup
o -c2 --> (--class) işlem sınıfını belirtir. Bu öncelik seviyeleri üç sınıfa ayrılır
1:real-time -> yüksek, 2:best-effort -> orta ve 3:idle -> düsük
o -n7 --> islem önceligi seviyesi girilir. Islem önceligi seviyeleri 0 ile 7 arasındadir
0 en yüksek önceligi, 7 en düsük önceligi temsil eder.
o top --> Liste seklinde gösterim yapar
o htop --> daha görsel bir arayüze sahiptir ve bellek tüketimiyle ilgili daha fazla ayrıntı sağlar
free
o free -b --> Disk kullanimini Byte olarak listeler
o free -k --> Disk kullanimini Kilobyte olarak listeler
o free -m --> Disk kullanimini Megabyte olarak listeler
o free -g --> Disk kullanimini Gigabyte olarak listeler
cat /proc/cpuinfo
route
• ICMP protokolünü kullanarak belirtilen hedefe gönderilen paketin kac atlamada hedefe ulastıgını gösterir
traceroute google.com
ping 192.168.2.1
nslookup github.com
dig google.com
• Bu komut ping ve traceroute komutlarini kombine eder. Gercek zamanlı olarak gönderilen pakette gerceklesen veri kayiplarini ve gecikme sürelerini detayli olarak listeler
mtr google.com
mtr -n --report google.com --> Hedefe sadece 10 paket atarak sonucu rapor halinde listeler. "-n" parametresi DNS çözümlemesini engeller
netstat –n
• Makinada bulunan tüm network interface’lerin durumunu sorgular ve interfacelerden gönderilen paketleri yakalar
o tcpdump --list-interfaces --> Tüm arayüzleri listeler
o tcpdump --> Tüm arayüzlerin paket iletimini dinler
o tcpdump -i eth0 --> Belirtilen arayüzün paket iletimini dinler
o tcpdump -i eth0 -c 10 --> Paket dinleme islemini 10 ile sinirlar
lspci
lshw
kill 43...
htop
ps aux
o a --> Tüm kullanıcıların islemlerini gösterir
o u --> Islemin sahibini gösterir
o x --> Terminale baglı olmayan islemleri gösterir
Go to Index
ssh -i ./edip.pem ec2-user@<IP-ADRESI>
scp -i ./edip.pem ./edip.txt ec2-user@<IP-ADRESI>:/home/ubuntu/
o -p --> Hedef adreste port bilgisi girmek için kullanılır
o -q --> Yüzdelik dilimler ile arayüzde gösterilen transfer aşamasını kapatır/disable eder
o -r --> Klasör kopyalamak için kullanılır
o -v --> Hata ayıklama iletilerini görüntüler
o -c --> Sıkıştırmayı etkinleştirir
o -i --> Ortak anahtar kimlik doğrulaması veya özel anahtar (ssh key) dosyasını kullanmak için kullanılır
o -l --> Band genisligini limitlemek için kullanılabilir
Go to Index
o –lt --> <
o –gt --> >
o –le --> <=
o –ge --> >=
o -eq --> ==
o –ne --> !=
o –z --> bos string
o –n --> bos olmayan string
o –d --> directory
o –e --> exist
o –f --> Ordinary file
o –r --> readable
o –s --> size is > 0 bytes
o –w --> writable
o –x --> executable
• “if .. then” komut satiri kullanimi bu sekildedir. Komutun calismasi icin dosyanin “chmod +x” ile calistirilabilir hale getirilmesi gerekir
#!/bin/bash
if ["foo" = "foo"]; then
echo “bunlar birbirine esit”
fi
if [ $num -eq 5 ] # (($num + 5)) “aritmetik(toplama vb.) islem varsa kullanilir”
then
echo “sayi 5 e esittir”
elif (( $num < 5 )) – yada – [$num –lt 5]
then
echo "sayi 5 ten az"
else
echo "sayi 5 ten fazla"
fi
#!/bin/bash
read -p "Bir sayi girin: " SAYI
if [ $SAYI -gt 10 ]
then
echo "Sayi 10dan büyük"
if (( $SAYI % 2 == 1 )) # Matemaiksel islemlerde () seklinde kullanilir
then
echo "Sayi tek"
else
echo "Sayi cift"
fi
else
echo "Sayi 10 dan kücük"
fi
o ! --> degil
o && --> and
o || --> or
#!/bin/bash
read -p "Adinizi girin: " NAME
read –s –p "Sifreinizi girin: " SIFRE # “-s” sifre girerken görünmemesini saglar
if [ $NAME = $(whoami) ] && [ $SIFRE = 12345 ]
then
echo -e "\nWelcome $(whoami)" # “-e” icerideki \n gibi islemleri aktif eder
else
echo -e "\nYanlis giris"
fi
• “For” döngü kullanimi bu sekildedir. Bir dize içindeki bir dizi 'kelime' ve ‘sayilar’ üzerinde yineleme yapmanızı sağlar
#!/bin/bash
for i in $( ls ); do # $(ls) yada `ls` --> ikisi de aynikomut.
echo item: $i # `pwd`/* --> klasördeki tüm dosyalarin konumlarini gösterir
done
A = (“S3” “EC2” “Lambda” “Glacier” “CloudFront” “Kinesis”)
for x in S3 EC2 Lambda Glacier CloudFront Kinesis
do
echo "Amazon Service: $x" # $x[@] --> tüm listeyi gezer. @ tüm liste anlamindadir
done
#!/bin/bashs
echo "Numbers:"
for number in {1..10} # 1 den 10 a kadar sayi üretir
do
echo $number
done
• “While” kosul dogru ise islem yapar, yanlis olursa islemi sonlandirir. “done” komutu ile döndügen cikilir
#!/bin/bash
COUNTER=0
while [ $COUNTER -lt 10 ]; do
echo The counter is $COUNTER
let COUNTER=++COUNTER # ((COUNTER++) ifadesi de kullanilabilir
done
• “Until” kosul yanlis ise islem yapar, dogru oldugu zaman döngüden cikar. “done” komutu ile döngüden cikilir
#!/bin/bash
number=1
until [[ $number -ge 10 ]];do
echo $number
((number++))
done
echo "Now, number is $number"
• “Select..case..esac” kullanimi asagidadir. Kendisi otomatik numaralandirir ve secimi uygular. (If ifadesinin farkli bir versiyonudur)
#!/bin/bash
read -p "ilk numarayi girin: " ilk_num
read -p "ikinci numarayi girin: " iki_num
PS3="Islemi secin: " # PS3 degiskeni “select..case” döngüsü ile kullanilir
select islem in toplama cikarma carpma bolme cikis
do
case $islem in
toplama)
echo "sonuc= $(( $ilk_num + $iki_num ))"
;;
cikarma)
echo "sonuc= $(( $ilk_num - $iki_num ))"
;;
carpma)
echo "sonuc= $(( $ilk_num * $iki_num ))"
;;
bolme)
echo "sonuc= $(( $ilk_num / $iki_num ))"
;;
cikis)
echo "cikiliyor..."
sleep 1
break
;;
*) # baska bir ifade girilirse devreye girer.
echo "Yanlis secim..."
;;
esac
done
#!/bin/bash
function cikis () {
exit
}
function hello () {
echo Hello People!
}
Hello
cikis
#!/bin/bash
welcome (){ # function yazmadan direk fonksiyon ismi verilebilir
echo "Welcome to Linux Lesson"
}
welcome
Go to Index
#!/bin/bash
if [ -z "$(ls | grep edip)" ]; then # “-z” bos ise anlamindadir.
mkdir edip
echo "Edip klasörü olusturuldu"
else
echo "Böyle bir klasör var"
fi
#!/bin/bash
git --version
if [[ $? == 0 ]]
then
echo " Already exits"
else
yum update -y
yum install git
fi
#!/bin/bash
read -p "Sayi girin..: " num
sayi () {
if [[ $num -gt 9 ]]
then
return 5
else
return 0
fi
}
sayi
echo $?
#!/bin/bash
sonuc=0
for i in {1..100}
do
((sonuc=sonuc+i))
done
echo $sonuc