Skip to content

Instantly share code, notes, and snippets.

@canokay
Last active January 13, 2019 21:48
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save canokay/d6870d59909fa10538660b40b260e3eb to your computer and use it in GitHub Desktop.
Save canokay/d6870d59909fa10538660b40b260e3eb to your computer and use it in GitHub Desktop.

Ubuntu But Ders Notları

Vize Notları

  1. Hangi komut içinde bulunan kabuki ortamını gösterir?

a)echo $SHELL

  1. Hangi komut boş disk alanine gösterir?

b)df

  1. Hangi komut disk kullanımını gösterir?

a)du

  1. Hangi komut takvimi gösterir?

c)cal

  1. Hangisi test.txt dosyasını yazıcıya gönderen komutlardan biri değildir?

e)print test.txt

  1. Hangi komut boş dosya yaratır?

d)touch

  1. Hangi komut bellek kullanımını gösterir?

c)free

  1. Hangi komut İlk karakteri büyük veya küçük harf olmayan dosyaları listeler?

b) ls [!a-zA-Z]*

  1. Bir klasörde t1t.text t2t.txt t3.txt t4.txt tt5.txt gibi dosylar bulunmaktadır. t1t.text , t2t.txt dosyalarını yedek klasörüne hangi komut taşır?

a)mv t?t* yedek

  1. Sistemin ne zamandır açık olduğunu gösteren komut hangisidir?

c)uptime

  1. Sistemi kapatmak için gangi komut kullanılır?

b)shutdown

  1. Bulunulan yerde kaç adet klasör olduğunu gösteren komut hangisidir?

a)find -type d | wc –l

  1. Sistemde login olmuş kaç kullanıcı olduğunu gösteren komutu yazın? (Cevap yok)

a)login b)who| wc –l c)which | wc –l d)whoami | wc –l e)hiçbiri

  1. Linuxde Klasör yaratmak için kullanılan komut hangisidir?

b)mkdir

  1. Linuxde bulunan klasörü göstermek için kullanılan komut hangisidir?

a)pwd

  1. Hangi parameter ls komutunda sadece klasörleri listeler?

d)-d 17. Hangi parameter ls komutunda gizli dosyaları listeler?

b) -a

  1. Linux işletim sistemleri ………………. işletim sistemleri grubuna girer. Cümlede boş bırakılan yerlere hangisi gelmelidir?

d) açık kaynak kodlu

  1. Aşağıdakilerden hangisi Linux işletim sistemlerinde dosya silme komutudur?

c) rm

  1. Linux dosya yapısı hiyerarşik bir yapıya sahiptir. Tüm klasörler root adı verilen bir dizin yapının altında toplanmıştır. Aşağıdakilerden hangisi root dizini anlamına gelmektedir?

D) /

  1. cat dosya1 >> dosya 2 ifadesinin karşılığı hangi şıkta verilmiştir?

D) Dosya 1’deki tüm bilgileri dosya 2’ye ekle, Dosya1 aynı şekilde kalsın.

  1. Linuxde bir seviye üst klasöre nasıl geçilir?

C) cd ..

  1. Linuxde kişiler şifrelerini hangi komutla değiştirir?

C) passwd

  1. Linuxde bir komut hakkında ayrıntılı bilgi edinmek için hangi komut kullanılır?

D) man

  1. Linuxde filename adındaki dosyayı çalısabilir yapmak için ne yazılır?

A) chmod +x filename

  1. Linuxde bir dosyadaki bir sözcük grubu paternini hangi komutla buluruz?

E) grep

  1. Linux sistemindeki kullanıcıları listesini hangi komut verir?

A) who -b

  1. Linuxde varolan klasörünü nasıl sileriz?

E) rmdir

  1. Linuxde boş disk alanını nasıl buluruz?

D) df

  1. Linuxde ekranı nasıl temizleriz?

B) clear

  1. Linuxde “ /usr/local/bin” klasörüne nasıl geçeriz?

C) cd /usr/local/bin

  1. Linuxde bir komut çıktısını nasıl yönlendiririz?

D) >

  1. Linuxde bir datayı nasıl giriş yönlendirmesi ile belirtiriz?

B) <

  1. “Pipe” -komutlar arasında yönlendirme- komutu hangisidir?

C) |

  1. “wildcard” denen, her karakter yerine geçen işaret hangisidir?

A) *

  1. Aşağıdaki komut dizisinin sonucu nedir?

cd /tmp ; mkdir one ; mkdir two ; pwd;

a. /tmp

  1. Aşağıdaki komut dizisinin sonucu nedir?

cd /tmp ; mkdir one ; mkdir two ; cd two; pwd;

e. /two

  1. Aşağıdakilerden hangisi dosya1 adlı dosyada (*) bulunan satırları gösterir?

a. grep '*' dosya1

  1. Aşağıdakilerden hangisi sonu *test” ile biten dosyaları siler?

a. rm "*test"

  1. Hangi komut password-şifre dosyasının birer sayfa halinde gösterilmesini sağlar?

a. less /etc/passwd

  1. Aşağıdakilerden hangisi klasör ve içindekilerin hepsini siler?

a. rm -r dir

  1. Aşağıdakilerden hangisi deneme.c dosyasında “printf” içeren satırları gösterir?

a. grep ‘printf’ deneme.c

  1. Hangi komut foo dosyasının 5-10 satırlarını ekrana gösterir?

a. head -10 foo | tail -6

  1. Aşağıdaki dizinlerden hangisi hem kullanıcı ve root için en temel komutların bulunduğu dizindir?

(A) /bin

  1. Unix işletim sisteminde sisteme ilişkin konfigürasyon dosyaları aşağıdaki dizinlerden hangisinde bulunur?

(A) /etc

  1. Kendi home dizininizdeki dosyaları /yedek dizinine kopyalamak için hangi komutu kullanırsınız?

(B) cp ~/* /yedek

  1. DA dosyasının erişim yetkileri -rw-r--r-- şeklindedir. “chmod 641 DA” komutu kullanıldıktan sonra erişim yetkisi nasıl değişmiştir?

(A) Diğerlerinin okuma yetkisi alınıp çalıştırma yetkisi verilmiştir.

  1. Kullanıcı kendi home dizinindeki tüm dosyaların ve klasörlerin ne kadar yer işgal ettiğini sayısal olarak sıralayarak görmek isterse aşağıdaki komutlardan hangisini kullanabilir?

(C) du -ah > sort

  1. Kullanıcıların home dizinlerini bir başka yere yedeklemek için aşağıdaki komutlardan hangisi kullanılabilir?

(B) tar -zcvf home.tar.gz /home/*

  1. Bir dosyanın sonunda meydana gelen değişiklikleri sürekli izlemek için aşağıdaki komutlardan hangisi kullanılabilir?

(D) tail -f /var/log/messages

  1. Aşağıdaki komutlardan hangisinde dosya1 in içeriği dosya2 ye eklenmiştir?

(D) cat dosya1 >> dosya2

  1. /var/log/httpd.log dosyasını kendi home dizininizdeki ydk dizinine taşımak için hangi komutu kullanırsınız?

(C) mv /var/log/httpd.log ~/ydk

  1. DA dosyasının erişim yetkileri -rwxr-x--x şeklindedir. chmod 541 DA komutu kullanıldıktan sonra erişim yetkisi nasıl değişmiştir?

(A) Sahibinin değiştirme, grubun çalıştırma hakkı kaldırılmıştır.

  1. home.tar.gz adındaki dosyayı açmak için aşağıdaki komutlardan hangisi kullanılabilir?

(A) tar -zxvf home.tar.gz

  1. Bir dosyanın başındaki değişiklikleri izlemek için aşağıdaki komutlardan hangisi kullanıabilir?

(C) head /var/log/messages

  1. Linux sistemlerde kullanıcı hesap bilgileri nerede saklanır?

B) /etc/passwd

  1. “/dev” dizini aşağıdakilerden hangisini içerir? (Cevap yok)

a-) Donanımlarla iletişim kurulabilmesi için gereken özel aygıt dosyaları.

b-) Dosya sistemi ve aygıtların bağlama noktaları.

c-) Değişken verileri içeren dosyaların tutulduğu sistem birimini.

d-) Kullanıcıların kişisel bilgilerinin içeren dizinleri.

  1. Gölge parola ne amaçla kullanılır?

A) Şifre güvenliği amacıyla

  1. Kullanıcının hangi gruplara üye olduğunu görebilmek için hangi komut kullanılır?

D) groups

  1. Aşağıdaki komutlardan sonar ekran çıktısı nedir?

cd /home/ian ; mkdir a ; mkdir b ; pwd

b./home/ian

  1. Dosyalaı satır satır satır karşılaştıran komut hangisidir?

b.diff

  1. Bir klasörde a, b dosyaları vardır, mv a b komutu çalışınca ne olur?

c.Klasörde sadece b isimli dosya kalır.

  1. System Konfigurasyon dosyaları nerde saklanır?

b./etc

  1. Dosyaların diğer bir sistem tarafından bağlandığında dosyaların aktarıldığı nokta olan klasör hangisidir?

c./mnt

  1. Sistemin açılması ve açıldıktan sonra düzgün çalışabilmesi için gerekli kitaplıkların bulunduğu dizin hangisidir?

e./lib

  1. Baştan itibaren 10 satırlık dosya.txt dosyasının ilk 3 satırını yazan komut nedir?

a) head -3 dosya.txt

  1. Sondan itibaren 10 satırlık dosya.txt dosyasının son 3 satırını yazan komut nedir?

b) tail -3 dosya.txt

  1. 11 satırlık dosya.txt dosyasının tam ortadaki 5. satırını yazan komut nedir?

b) head -5 dosya.txt | tail -1 dosya.txt

  1. 10 satırlık dosya.txt dosyasının 3-7satırlarını yazan komut nedir?

d) tail -8 dosya.txt | head -5 dosya.txt

  1. Data.txt dosyasını tersten sıralayıp data2.txt dosyasına yazan komut hangisidr?

a) sort –r data.txt > data2.txt

  1. Yönlendirme komutlarından > ve >> arasındaki fark nedir?

c) > dosya üstüne yazar, >> dosya ekleme yapar

  1. Dosyanın son 25 satırını sıralayıp başka dosyaya yazan komut hangisidir?

d) sort data.txt | tail -25 > sonuc.txt

  1. C programlarının kullandığı başlık dosyalarını içeren klasör hangisidir?

d./usr/include

  1. $PATH değişkeninin içinde ne vardır?

c. İçinde komutların bulunduğu klasör listesi

  1. Hangisi bir lens değildir?

d. Network

  1. Ubuntuda Masaüsü özelleştirmesi nereden yapılır?

b. Sistem Ayarları-Arka Plan

  1. Ubuntu gnome’da klavye ayarlarını Türkçe nereden yaparız?

e. Sistem Ayarları – Bölge ve Dil

  1. Ubuntu gnome’da favorilerde bulunan ikonları küçültme nereden yapılır?

e. Sistem Ayarları – Bölge ve Dil

  1. Ubuntuda Kelime işlemci program hangisidir?

c. LibreOffice Writer

  1. Ubuntuda grafik işlem programı hangisidir?

d. Gimp

  1. Ubuntuda sunum hazırlama program hangisidir?

b.LibreOffice Impress

  1. Ubuntuda muzik dinleme program hangisidir?

e.Banshee

  1. Ubuntu gnome de farklı masüstüne çalışmamızı sağlayan yapıya ne denir?

e.activities(etkinlikler)

  1. Ubuntu gnome da sol baştaki uygulama araçları grubuna ne denir?

a.favoriler

  1. Aşağıdaki paket arayüz eşlemelerinden hangisi hatalıdır?

c. xubuntu-lxde

  1. Hangi komut file dosya haklarını r-x-wxrw- çevirir?

e.chmod 536 file

  1. İçi boş olmayan bir klasörü silen komut hangisidir?

c.rm -rf dir

  1. Aşağıdakilerden hangisi GPL(Global Purpose Licence) özgürlüklerinden biri değildir?

a. Programı sınırsız kullanma özgürlüğü

b. Programın nasıl çalıştığını inceleme ve amaçlara uygun değiştirme özgürlüğü

c. Programın kopyalarını sınırsız dağıtma özgürlüğü

d. Satışlardan belli komisyon alma özgürlüğü

e. Programın değiştirilmiş halini dağıtma özgürlüğü

  1. Hangi komut dosyayı kendimize calıştırılabilir yapmamızı sağlar?

b.chmod u+x ./myfile

  1. Linuxde super kullanıcıya ne denir?

c.root

  1. Hangi komut file3 dosyasının once file1 ve sonra file2 içermesini sağlar?

c.cat file1 file2 >file3

  1. Hangi komut dosya haklarını rw-r-xr-- dönüştürür?

a.chmod 654 file

  1. Hangi komut foo dosyasının a dan sonra b dosyasının içeriğini tutmasının sağlar? a.cat a >foo ; cat b >>foo;

  2. Hangi komut herkesin içine dosya koyacağı ama içeriği göremeyeceği bir klasör yaratır?

d.mkdir protected ; chmod 333 protected

  1. Açılan terminal penceresini kapatmak için hangi komut çalıştırılır?

a.exit

  1. Aşağıdakilerden hangisi bir Linux işletim sistemi değildir?

a)Netware

  1. Aşağıdaki eşleştirmelerden hangisi yanlıştır?

b) Winamp-Cafein

  1. Aşağıdakilerden hangisi doğrudur?

a) /opt bir klasördür.

  1. Linux’ta aşağıdaki komutlardan hangisi paketleri yükler?

b) sudo apt-get

  1. Aşağıdakilerden hangisi program1.c dosyasının adını program2.c yapar?

b) mv program1.c program2.c

  1. Aşağıdakilerden hangisi program1.c dosyasını program2.c kopyalar?

a) cp program1.c program2.c

  1. Dosya kullanıcı haklarında hangi gruplar vardır? Nelerdir?

b) kullanıcı-grup-diğerleri

  1. chmod og-w dosya.txt komutu ne yapar?

d) grup ve diğer üyelerin yazma hakkını alır.

  1. İzni –rwxrwr—olan hello.c adlı dosyaya “Chmod g-w,u-x, o+w hello.c “ komutu çalıştırıldığında izni binary (ikilik düzen) nasıl olur? b)774

Final

Linux

adı file olan bir dosyanını dosya oldugunu bash shellde nasıl test edilir?

a)[-f file]

Linux

adı file olan bir dosyanını klasör oldugunu bash shellde nasıl test edilir?

b)[-d file]

konsol veri girisi

b) Read

program adından sonraki 2. parametre

$2

Vi editoru a tusu cursordan sonra text ekler

eger yy yazarsabız cursor bulundugu satır kopyalar

4 soru bos

ggc programıyla testçc program derlemesi

a) ggc testçc -o test

Shell kabuk turu degil

f)dsh

Hangi komut parameter olarak girilen yazının(/klasor/dosya adı) sadece dosya adını (test.cpp) verir?

a)Basename /home/odev/test.cpp

Hangi komut grup ekler?

d.groupadd

Hangi komut grup siler?

groupdel

Veli adındaki kullanıcıyı dbase grubuna ekleyen komutu yazın. Kabuk nedir?

a)Komutları yorumlayan katmandır

Hangi kabukta olduğumuzu anlamak için hangi komut çalıştırırız?

b) echo $SHELL

Vi editöründe komut moduna ve yazma moduna geçişleri sağlayan tuş kodu nedir?

esc

Bulunulan dizin ve alt dizinlerindeki uzantısı core olan dosyaları silmek için aşağıdaki komutlardan hangisi kullanılabilir?

D) find . -name “*.core” | xargs rm

Hangi komut odev ile başlayan dosyaları listeler?

b) Find -name “odev*”

Bash script hangi ilk satırla baslar?

a)#!/bin/bash

Hangisi işaret bash scriptte arithmetic karsılastıma yapar?

c)-eq

Hangi karar veya dongu yapısı yalnıs yazılmıstır?

d) if-do-end

Ogrenci.txt dosyasından Hasan isminin bulundugu satırları gosteren komut hangisidir?

a)grep “Hasan” ogrenci.txt

Ogrenci.txt dosyasından Hasan isminin bulundugu satırların kac tane oldugunu gosteren komut hangisidir

c)grep “Hasan” ogrenci.txt | wc –l

Aşağıdakilerden hangisi deneme.c dosyasında “printf” içeren satırları gösterir?

a. grep ‘printf’ deneme.c

DA dosyasının erişim yetkileri -rw-r--r-- şeklindedir. “chmod 641 DA” komutu kullanıldıktan sonra erişim yetkisi nasıl değişmiştir?

(A) Diğerlerinin okuma yetkisi alınıp çalıştırma yetkisi verilmiştir.

DA dosyasının erişim yetkileri -rwxr-x--x şeklindedir. chmod 541 DA komutu kullanıldıktan sonra erişim yetkisi nasıl değişmiştir?

(A) Sahibinin değiştirme, grubun çalıştırma hakkı kaldırılmıştır

Data.txt dosyasını tersten sıralayıp data2.txt dosyasına yazan komut hangisidr?

a) sort –r data.txt > data2.txt

Yönlendirme komutlarından > ve >> arasındaki fark nedir?

c) > dosya üstüne yazar, >> dosya ekleme yapar

Aşağıdaki kod ne yapar?

#!/bin/sh
if diff $file1 $file2 >/dev/null ; then
 rm $file1
else
 mv $file1 $file $dir
fi

a)dosyalar aynı ise birinci dosyayı siler, değilse dosyaları belirtilen klasöre kopyalar.

$PATH değişkeninin içinde ne vardır?

c. İçinde komutların bulunduğu klasör listesi

Hangi komut bulunulan klasörde dosya çalıştırırken başına ./ koymadan çalışmasını sağlar?

b.PATH=/usr/bin:.

Hangi komut kullanıcı haklarını düzenler?

c.usermod

Yeni kullanıcı yaratan komut hangisidir?

b.useradd

Kullanıcı silen komut hangisidir?

b.userdel

PATH değişkenine yeni bulunulan klasor altındaki test klasorunu nasıl ekleriz?

PATH=$PATH:./test

Hangi komut file dosya haklarını r-x-wxrw- çevirir?

e.chmod 536 file

Hangi komut dosyayı kendimize calıştırılabilir yapmamızı sağlar?

b.chmod u+x ./myfile

Hangi komut dosya haklarını rw-r-xr-- dönüştürür?

a.chmod 654 file

İzni –rwxrwr—olan hello.c adlı dosyaya “Chmod g-w,u-x, o+w hello.c “ komutu çalıştırıldığında izni binary (ikilik düzen) nasıl olur?

b) 774

Asağıdakilerden hangisi dosyaların içini gosteren komutlardan biri değildir?

e)print

Bash shell de acıklama cumlesi nasıl belirtilir?

b)#

Bash shellde karakter katarlarında tek karakter yerine gecen karakter hangisidir?

e)?

Bash shellde karakter katarlarında çoklu karakter yerine gecen karakter hangisidir?

c)*

Chown komutu ne için kullanılır?

Bir dosyanın veya dizinin, parametresinde tanımlı bulunan, “dosya veya dizin sahibi” parametrelerini değiştirir.

Sembolic(soft) link ne için oluşturulur?

Bir dosyaya veya klasöre birden fazla yerden erişilmesini istiyorsak, sembolik link oluşturulur. Symbolic link'ler bir dosyadan bir dosya bir ısaltma ifade ederler. Shortcut gibi düşünülebilinirler.

Bir sembolik (soft) link taımlayarak bu sayede dosya2 den dosya1'e direk olarak erişebileceğimiz komutu yazın?

ln -s /home/users/dosya1 /home/users/dosya2

Hangisi bir hard link komutudur?

ln /root/dosya1 /root/dosya2

Hard ve softlink arasındaki fark nedir?

Hard link'ler klasörler için yaratılamazlar. Soft linkler klasörler için yaratılabilinirler.

Soft link'lerin yeri değiştiği zaman kullanılamaz hale gelirken Hard link'ler dosyanın fiziksel konumuna bağlantı yaptığı için bağlantı yapılan osyaların yeri değişse bile bağlantı kopmaz.

Useradd ve adduser arasındaki fark nedir?

useradd , daha alçak seviyeli linux kullanıcı ekleme komutudur. Adduser ise daha yüksek seviyeli bir kullanıcı ekleme komutudur, ullanıcı ev lasörlerini ve dğier kimlik ayarlarını otomatik olarak yapar.

Linuxde MerhabaDunya.java programını nasıl derleriz? javac MerhabaDunya.java

Linuxde MerhabaDunya.java programını nasıl çalıştırırız?

java MerhabaDunya.java

Linuxde c++ programını nasıl derleriz? g++ dosya_adi.cpp –o dosya_adi Aşağıda hangi bash komut grubu yanlıştır?

b)if then else fi

.bashrc dosyası nedir?

Linux dağıtımlarında kullanıcıların terminal oturumunu açarken hazır olarak çalışmasını istediği komutların içerdiği gizli dosyadır.

.profile dosyası nedir?

Login olunduğunda çalışması istenen şeylerin yazıldığı gizili dosyadır.

Bash betik yazmada zorla tür belirmek için hangi komut kullanırız?

b)declare

Hangi komut bashte sitring karşılaştırması yapar?

if [ $S1 = $S2 ];

Hangi komut bashte aritmetik karşılaştırma yapar?

if [ $NUM1 -eq $NUM2 ];

Hangisi bir aritmetik karşılaştırma sembolu değildir?

lq

Hangisi komuttan girilen parameter sayısını verir?

$#

Hangisi girilen parametrenin link olduğunu test eder?

if [ -h "$1" ] ;

Hangisi girilen parametrenin dosya olduğunu test eder?

if [ -f "$1" ] ;

Hangisi girilen parametrenin boş olduğunu test eder?

if [ -z "$1" ]

Hangisi ekrandan girilen parametrenin sıfından buyuk ve çift olmasını test eder?

if [[ $1 &gt; 0 &amp;&amp; $(($1 % 2)) != 1 ]];

Hangisi sayı değişkenine a ve b değişkeninin farkını atar?

sayi=$(( $a - $b )) veya (( sayi = a-b )) veya let "sayi = a-b” veya sayi=expr $a + $b

Hangisi case yapısında default yerine kullanılır?

*)

Hangisi case yapısında break yerine kullanılır?

;;

Hangi for dongusu kullanımı hatalıdır? (en sonuncu)

for i = {1..5}
 do
 echo “I am on step $idone

Hangisi bir dongu komutu değildir?

loop

Dizilerde hangisi eleman sayısını yazar?

Echo ${#names[@]}

Dizilerde hangisi yeni eleman ekler?

names=(${names[@]} yeni_eleman)

Dizilerde hangisi ilk elemanı gosterir?

echo ${names[0]}

Eğer count bir aritmetik değişken ise hangisi yanlıştir?

while [ $COUNT >0 ]; do let COUNT=COUNT-1 done

Whoami komutu ne yapar?

Kim olrak login olduğunu gösteirir

Kaç shell yüklenmiş olduğunu gösteren komut hangisidir?

cat /etc/shells

Hangisi shell olduğumuzu gosteren komut nedir?

Echp $SHELL

Bash shell in hangi klasorde kurulu olduğunu gösteren komut hangisidir?

Which bash

Hangisi fonksiyona parameter gonderir?

#!/bin/bash
print_something () {
echo Hello $1
}
print_something Linux

Hangisi fonksiyondan parameter sonuc alır?

#!/bin/bash
print_something () {
return 5
}
print_something
echo donus parameter değeri $?

Hangisi bir fonksiyona 2 parametre gonderir?

add() {
 result=$(($1 + $2))
 return result
}
Res = $ (add 1 2)
echo $Res
veya
add 1 2
res=$?
Echo $res

LINUX KULLANICI HESAPLARI UYGULAMALAR-2

Ogr1, ogr2,ogr3,ogr4 adlı kullanıcıları yaratın.

Useradd –m ogr1 veya adduser ogr1
Useradd –m ogr2 veya adduser ogr2
Useradd –m ogr3 veya adduser ogr3

(kullanıcı ekleyip aynı anda gruba eklerken: Useradd –m ogr3 -G grupadi kullanılır.)

Ogr4 adlı kullnıcıyı silin.

Sudo userdel ogr4

Ogr3 adlı kullanıcıya root hakları verelim

Sudo usermod -a -G sudo ogr3

Yaratılan kullanıcıların şifresinin hepsini “1234” yapın.

Sudo passwd ogr1
Sudo passwd ogr2
Sudo passwd ogr3

Ogr1 adlı kullanıcının ev dizinini /home/ogr1/test yapın.

Usermod –d /home/ogr1/test ogr1

Ogr1 sifresini ogr1234 yapın

Usermod –p ogr1234 ogr1

Ogr1 kullanıcı kabuk cshell yapın

Usermod –s /bin/csh ogr1

Ogr3 kullanıcsının adını ogr30 yapın

usermod –l ogr30 ogr3

ogr3 kullanıcısının id bakın

id ogr3

ogr30 kullanıcısının id bakın

id ogr30

Klasörlerin sahiplerini listeleyin.

Ls –ld

ogr30 kullanıcısına kilit koyalım.

Usermod –L ogr30

Shadow dosyasından ogr30 bilgilerine bakalım.

cat /etc/shadow|grep ogr30

ogr30 kullanıcısından kilit kaldıralım.

Usermod –u ogr30

Root olarak girin olun

Sudo –i

Acikkaynak adli bir grup oluşturun.

Groupadd acikkaynak

Grup passwordunu “abcd” yapın.

gpasswd acikkaynak
abcd

bu gruba ogr1 ve ogr2 ogrencilerine ekleyin.

Addgroup ogr2 acikkaynak

Gruptan ogr1 cıkarın

sudo userdel –r ogr1 acikkaynak veya
deluser ogr1 acikkaynak veya
gpasswd acikkaynak -d ogr1
Grup elemanlarını listeleyin
Groups acikkaynak

Acikkaynak grup adını ubuntu yapın

Groupmod –n ubuntu acikkaynak

Ubuntu grubunu silin

Groupdel ubuntu

Etc/passwd ve etc/shadow dosylarını görüntüleyin

Sudo (tail/head/cat/more) /etc/passwd
Sudo (tail/head/cat/more) /etc/shadow

Ogr1 kullanıcısının password bilgileri bulun.

cat /etc/passwd|grep ogr1

ogr1 kullanıcısını gruba dahil olsa bile zorla silin.

deluser –f ogr1

ogr1 kullanıcısına ait dosyaları bulun.

find /home -user ogr1

içinde ogr geçen dosyaların bulun.

find ~/ -type f -name "*ogr*
find ~/ -type f -iname "*ogr* (case insensetive)

Dosya buyuklugu 100 megabayt tan buyuk dosylari listeleyin.

# find / -type f -size +100M

son 2 gun icersinde degisiklige ugramis dosyalari listeleyin.

#find . -ctime -2

Ogr2 adlı kullanıcı olarak login olun.

Su ogr2

Uzaktan terminalle ogr2 bağlanmak için:

sudo apt-get install openssh-server
ssh ogr2@192.168.1.85 (ifconfig ile ip ogrenilir)

Final sınav calisma kodları

1.Hesap makinesi yapan program yazın.

#!/bin/bash
read -p "x degeri girin" x
read -p "y degeri girin" y
# x=5
# y=3
 add=$(($x + $y)) # Toplama
sub=$(($x - $y)) # Cikarma
mul=$(($x * $y)) # Carpma
div=$(($x / $y)) # Bolme
mod=$(($x % $y)) # Mod alma- Kalani bulma
# print out the answers:
echo "Toplam: $add"
echo "Fark: $sub"
echo "Çarpim: $mul"
echo "Bolum: $div"
echo "Kalan: $mod"

2.Klavyeden kilo ve boy(ondalıklı metre cinsi 1.65gibi) alıp, Vucut indexini (BMI) hesaplayan scripti yazın.

BMI=kilo/(boy*boy)
#!/bin/bash
# Body Mass Index (BMI) calculator –Vücut index Hesaplama
if [ $# -lt 2 ]; then
 echo "Usage: $0 kilo boy"
 exit 1
fi
let H2="$2 * $2" #boy 1,75 gibi girilecek
let BMI="$1 / $H2"
#let BMI="703 * $1 / $H2" #pound için
echo "Sizin Vucut Indeksi - Body Mass Index BMI is $BMI"
if [ $BMI -le 18 ]; then
 echo "Çok zayifsin….."
elif [ $BMI -le 24 ]; then
 echo "Normal Kilo…..."
elif [ $BMI -le 29 ]; then
 echo "Egzersiz zamani, kilo almissin…."
else
 echo "Takma kafana…."
fi
  1. Dizi elemanını oluşturup ekrana yazan program yazın.
#!/bin/bash
#dort elemanlı dizi-array tanımı
ARRAY=( 'BLP101' 'BLP102' 'BLP103' )
# dizi eleman sayisi…
ELEMENTS=${#ARRAY[@]}
# echo her dizi elemani
# for loop
for (( i=0;i<$ELEMENTS;i++)); do
 echo ${ARRAY[${i}]}
done
  1. Komut satırından girilen argumanın sayı veya harf ile başladığının bulan program yazın.
#!/bin/bash
name=$1
case $name in
 *[0-9]*)
 echo "Sayı ile baslar."
 ;;
 J*|K*)
 echo "J veya K ile baslar"
 ;;
 *)
 echo "bunun dısandakiler..."
 ;;
esac
  1. Desimal sayıyı binary ceviren programı yazın:
#!/bin/bash
read -p "sayi girin" sayi
while [ $sayi -gt 0 ];
do
kalan=$((sayi%2))
sayi=$((sayi/2))
sonuc=$kalan$sonuc
done
echo $sonuc
  1. 1den ekarandan girilen sayıya kadar olan sayıların karelerin yazan programı yazın.
#!/bin/bash
read -p "Sayi giriniz" sayi
toplam=0
for (( i=1;i<=$sayi;i++ )); {
toplam=$(($toplam+($i*$i)))
}
echo $toplam

9..Ekrandan girilen sayı kadar rasgele sayı üreten programı yazınız.

#!/bin/bash
read -p "kac sayý ureteceksiniz" sayi
i=0
while [ $i -le $sayi ];
do
echo
$RANDOM
rasgele=$rasgele" "$RANDOM
i+=1
done
echo $rasgele

10.Arguman olarak girilen sayıların toplamını bulan scripti yazın , program su sekilde calısır: hesapla 1 2 3

#!/bin/bash
sum=0;
echo -n "Girilen $# sayiların toplamı : "
while [ $1 ]
do
 sum=`expr $sum + $1`
 shift
done
echo "$sum"

11.Girilen sayının negative veya pozitif olduğunu yazan programı yazın.

#! /bin/bash
echo -n “enter a number: “
read number
if [ $number -lt 0 ] # if test $number –lt 0
then # if ! ([ $number –gt 0 ] || [ $number –eq 0 ])
echo negative
elif [ $number -eq 0 ]
then
echo zero
else
echo positive
fi
  1. Fahrenhayti(Fahrenheit) santigrada(celcius) ceviren programı yazın.
# Sayı oku
read -p “Fahrenheit derecesi girin: “ FTEMP
# ceviri yap
CTEMP=”(5*(FTEMP-32) )/9”
Echo “ Santigrad derecesi:” “$CTEMP
  1. Klavyeden “Anapara,faizoranı ve yıl” girilecek sekilde, Mortgage hesabı yapan programı yazın.
Formul: (( odeme = (anapara*oran)/(1.-pow(1.+oran,-ay)) ))
#Mortgage Calculator
read -r 'faiz oranı girin:' oran
read -r 'anapara girin:' anapara
read -r 'yil miktarı girin' yil
(( ay = yil*12 ))
(( oran /= 1200. ))
(( odeme = (anapara*oran)/(1.-pow(1.+rate,-ay)) ))
printf "\ Aylık odemeler \t%8.2f\n\n" "$odeme"
print '\tYıllar Bakiye'
print '\t====== ======='
for (( ay=0; anapara > 0; ay++))
do (( anapara *= (1.+oran) ))
 (( anapara -= odeme ))
if (( ((ay+1)%12) == 0 ))
then printf "\t%d\t%8.2f\n" ay/12 "$anapara"
fi
done
  1. Iki sayının maximumunu bulan program yazın.
#!/bin/bash
# max.sh: Sayıların Maximumu .
if [ -z "$2" ] #parametre kontrolu
then
 echo “kullanım hatası, max 34 67 seklinde kullan
fi
if [ "$1" -eq "$2" ]
then
 return $EQUAL
else
 if [ "$1" -gt "$2" ]
 then
 return $1
 else
 return $2
 fi
fi
  1. Ekrandan liste olarak girilen sayıların toplamının bulan programı yazın. ./sumn.sh 10 20 30 şeklinde
çalışacak
sum=0
limit=$#
for((i=-1;i<limit;i++))
do
sum=$(($1+sum))
shift
done
echo "Sum is : $sum"
16. Şifre bulan programı
#!/bin/bash
secretCode=zoom99
echo -n "Şifreyi tahmin edin> "
read yourGuess
while [ $secretCode != $yourGuess ]; do
echo "Hatalı tahmin yeniden deneyin:"
echo -n "Şifreyi tahmin edin> "
read yourGuess
done
echo "Tebrikler!"
exit 0

17.Uzantıları .txt olan dosyaları uzantısı .old olarak değistiren scripti yazın.

#!/bin/bash
for file in *.txt; do
 newname="$file.old"
 cp "$file" "$newname"
done

18.Bulunan klasorde okunamayan dosyaları silen scripti yazın.

#! /bin/bash
for file in *
do
if [ -f "$file" ]; then
if [ ! -r "$file" ]; then
 rm –f $file
 fi
fi
done
  1. Bir dosyayı okuyup sıralayan , tekrarlı satırları silen ve baska dosyaya yazan programı yazın.
#! /bin/bash
cat $1 | sort |
while read line
do
if [ $prev!=$line ]
then
echo $line >> sorted.txt
fi
prev=$line
done
  1. Bos olan klasorleri silen scripti yazın.
#! /bin/bash
ls $1 |
while read folder
do
files=`ls $folder | wc –l`
if [ files –eq 0 ]; then
 rmdir $folder
fi
done
  1. Uzantısı src olan dosyaları uzantısı .c olan dosya yapan programı yazın.
for file in *.src
do
mv ${file} ${file%.src}.c
done
  1. Uzantısı .bak olan tum dosyaları silen programı yazın.
#!/bin/bash
for file in *.bak
do
if [ -f "$file" ]; then
rm –f $file
fi
done
  1. .Uzantısı .sh olan dosyaları yazıcıya gonderen scripti yazın.
#! /bin/bash
for file in $(ls f*.sh); do
lpr $file
done
  1. Dosya turune gore sıkıştırılmış dosyaları açan scripti yazın.
#!/usr/bin/bash
ftype=`file "$1"`
case "$ftype" in
"$1: Zip archive"*)
 unzip "$1" ;;
"$1: gzip compressed"*)
 gunzip "$1" ;;
"$1: bzip2 compressed"*)
 bunzip2 "$1" ;;
*) error "File $1 can not be uncompressed with smartzip";;
Esac
  1. Dosyadaki bos satırları silen programı yazın
if [ -z "$1" ]
then
echo "Usage: `basename $0` target-file"
exit 0
# fi
grep -v '^$' $1 > $1yeni

26 . "*.html" dosyaların ilk 2 satırını File_Heads adlı dosyaya yazan programı yazın ?

#!/bin/bash
FILE_LIST='ls *.html'
echo FILE_LIST: ${FILE_LIST}
RESULT=""
for file in ${FILE_LIST}
do
 FIRST_LINE='head -2 ${file}'
 RESULT=${RESULT}${FIRST_LINE}
done
echo ${RESULT} | cat >FILE_HEADS
  1. Dosyadaki satır saysını gösteren fonksiyonu yazın.
#!/bin/bash
lines_in_file () {
cat $1 | wc -l
}
num_lines=$( lines_in_file $1 )
echo The file $1 has $num_lines lines in it.
  1. Kullanıcı adı ve sifresini ekleyen program yazın.
add_a_user()
{
 USER=$1
 PASSWORD=$2
 echo "Adding user $USER ..."
 echo useradd $USER
 echo passwd $USER $PASSWORD
 echo "Added user $USER with pass $PASSWORD"
}
###
# Main body of script starts here
###
echo "Start of script..."
add_a_user bob letmein
add_a_user fred badpassword
add_a_user bilko worsepassword
echo "End of script..."
  1. Local global fonksiyon değişken tanımı
#!/bin/bash
#Define bash global variable
VAR="global variable"
function FN1 {
#Define bash local variable
local VAR="local variable"
echo $VAR
}
echo $VAR
FN1
echo $VAR

Uygulama 1

Uygulama Çalışması

Aşağıdaki komutları yapınız:

Herhangi bir dizinden bir üst dizine geçmek için hangi Linux komutu kullanılır?

cd ..

Üzerinde çalışmakta olan dizini öğrenmek için hangi komut kullanılır.

pwd

/ogrenci1/ altına odevler ve deneme isimli yeni bir dizin oluşturunuz

cd ogrenci1

mkdir odevler

mkdir deneme

deneme dizininin altına dosya1.txt ve dosya2.txt adı altında dosya oluşturun.

pico dosya1.txt

pico dosya2.txt

Oluşturduğunuz odevler dizinin içine deneme dizinindeki tüm dosyaları kopyalayınız.

Cp –r /deneme /odevler

deneme dizinini siliniz.

rmdir deneme

Ev dizinine giden komutu yazın

cd ~

root dizinine giden komutu yazın.

cd /

dosya1.txt dosyanın en son satırını ekrana bastırın

tail -1 dosya1.txt

dosya2.txt dosyanın izinini –r--r--r—olarak ayarlayın

chmod 444 dosya2.txt

deneme Dizinin izinini dr------— olarak ayarlayın

chmod 400 deneme

$ chmod g-x dosya1.txt sonuç ne olur?

Grup hakkından çalıştırma hakkını alır.

dosya ismi hastane ile başlayan olan dosyaları bularak dosya hakkındaki bilgiyi ekrana bastıran komutu yazın.

find . –name hastane*

–rwxrw-r—iznine sahip olan dosyayı bularak dosya hakkındaki bilgiyi ekrana bastıran komutu yazın.

find . –perm 764

En son komut satırı çalıştıktan sonra çıktı ne olur?

$ ls – l rehber.dat

-rwxrwx--- 1 ogrenci1 blp4100 5743 Nov 14 2:11 rehber.dat

$ chown ogrenci2 rehber.dat

$ ls – l rehber.dat

-rwxrwx--- 1 ogrenci2 blp4100 5743 Nov 14 2:11 rehber.dat

Aşağıdaki komutlar neler yapar yazın ve çalıştırın:

pwd

cd Downloads/

pwd

cd ..

ls -l man ls

ls –li

cp file2.txt ~/Desktop

cd Desktop/

ls

mkdir NewFolder

ls

cd NewFolder/

ls

cd ..

ls -al

rmdir NewFolder/

mkdir NewFolder

mkdir NewFolder2

mkdir NewFolder3

mkdir NewFolder4

cd NewFolder/

cd .. rmdir NewFolder/

ls

rmdir -r NewFolder2/

rm -r NewFolder3/

clear

time

date

ls –al > file2.txt

rm file2.txt

du > newFile

less newFile

pico isimler.txt

ls

cat isimler.txt

less isimler.txt

pico ogrenciler.txt

diff isimler.txt ogrenciler.txt

tail isimler.txt

man find

man cat

grep Hasan isimler.txt

man sort

sort -r isimler.txt

cat isimler.txt

wc ogrenciler.txt

grep Ayse isimler.txt | sort

du /usr/bin/man

chmod g+w isimler.txt

echo $PATH

cat isimler.txt > isimler2.txt

find . –size 0 –delete

cd ./

cp dosya1 Desktop/

cp isimler2.txt ./

mv isimler2.txt isimler4.txt

rm isimler2.txt

mkdir Odevler

cd Odevler

mkdir Odev1

pico hello.c

cd ..

rmdir Odevler/

rm –r Odevler

ls –a

df –h

du –h

less isimler.txt

more isimler2.txt

wc –l isimler2.txt

mkdir algoritma

cd algortma

pico hello2.c

cd ..

$ tar –cf yedek1.tar /algoritma

$ tar –xf yedek1.tar

Uygulama 2

Ders1,ders2,ders3,ders4 adında bir klasörler oluşturun.

Ders4 klasörünü silin.

Dosya1.txt, Dosya2.txt, Dosya5.txt adında boş dosyalar oluşturun.

Dosya5.txt adındaki dosyanın adını Dosya3.txt olarak değiştirin.

Dosya1.txt, Dosya2.txt, Dosya3.txt adındaki dosyaları ders1 klasörüne kopyalayın.

add.c adında dosya oluşturun ve içine aşağıdaki kodu yazın.

/* add.c
     * a simple C program
     */

    #include <stdio.h>
    #define LAST 10

    int main()
    {
        int i, sum = 0;

        for ( i = 1; i <= LAST; i++ ) {
          sum += i;
        } /*-for-*/
        printf("sum = %d\n", sum);

        return 0;
    }

add.c adındaki dosyayı add2.c adındaki dosyaya kopyalayın ve baştan 3 satırı ve sondan 2 satırı silin

add.c dosyasının en sondan 2 satırını ekrana bastırın

add2.c dosyasının en baştan 4 satırını ekrana bastırın

add.c ve add2.c dosyalarını ders2 klasörüne kopyalayın.

Ders2 klasörüne girin, içinde odevler klasörü yaratın. Ve add2.c dosyasını odevler klasörüne kopyalayın.

Add2.c dosyasında herkese okuma ve yazma hakkı verin.

Ders2 klasörüne geri dönün add.c dosyasında sadece kullanıcı okuma ve yazma, diğer kişiler ve gruplara sadece okuma hakkı verin.

Ders1 klasörüne gidin. Dos ile başlayan dosyaları listeleyin.

Dosya3.txt dosyasının silin.

Ders2 klasörüne gidin add.c dosyasında printf kelimesini aratın.

Add.c ve add2.c dosyası arasındaki farkı gösterin.

Add.c dosyasının içini ekrana gösterin.

Add.c dosyasındaki kelime harf sayılarını gösterin.

Add.c ve add2.c dosyalarını tar ile sıkıştırıp depo.tar dosyası oluşturun.

Yedek alt klasörü oluşturup , tar dosyasını buraya kopyalayıp, açın.

Üst klasöre çıkıp yedek klasörünü içindeki dosyalarla beraber silin.

PATH değişkeninizi ekrana gösterin, bu değişkene /ders2 klasörünü ekleyin.

Home klasörünüze dönün ve tüm dosyalarınızı uzun formda listeleyin.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment