Temel komutlar
tab tuşunu tamamlamak için kullanabiliriz. Tab tuşuna iki kere basarak da olası seçenekleri görebiliriz.
cd de<tab>
cd desktop
cd<tab><tab>
desktop documents pictures ...
man <komut> ile man page’ini görüntülenir.
man ls --> ls komutunun man page'i açılır.
Gezinme
- / -> Dosya sisteminin başlangıcı
- . -> Şuanda bulunulan directory
- .. -> Parent directory
cd Desktop -->Document dir'e gider
cd .. --> Parent dir'e gider. Yani bir üst dir
Listeleme
ls komutu ile bulunduğumuz klasördeki dosyaları listeliyebiliriz.
- ls –> bulunan klasördeki dosyaları listeler
- ls -F –> listeleme yaparken dir’lerin yanına / sembolü koyar. Böylece dirler ile file’lar birbirine karışmaz.
- ls -a –> Gizli dosyaları görüntüler.
- ls -l –> Liste halinde görüntüleme yapar. Daha detaylıdır.
- ls -alF –> a, l, F seçeneklerinin birleşimidir.
Filtreleme
Bulunduğumuz klasörde esat ve esad isminde iki tane dosya oluşturalım.
touch esat
touch esad
Sonra ls komutunun yardımıyla bir takım sorgular çalıştıralım
ls esa? -> ? yerine herhangibir karakter gelebilir.
esad esat
ls e* -> * yerine herhangi bir N ADET karakter gelebilir. Yani başı e ile başlayan dosyaları getirir.
esad esat
ls esa[d] -> son harfi d olan
esad
ls esa[!d] -> son harfi d olmayan
esat
ls esa[b-y] -> son harfi b den y'ye kadar olan
esad esat
ls -l Desktop/ -> Desktop altındaki dosyaları listeler.
Copy, move, remove
cp source destination ->sentaksı
cp dosya1 ../ -> dosya1 i parent directory ye kopyalar
cp -R documents/ Doc_CP -> documents dir'i yeni oluşturalacak Doc_CP dir'ine kopyalar.
rm -f script -> dosya siler (forcely remove)
cp Documents/* . -> Doc. klasöründeki her şeyi şuanda bulunulan dizine kopyalar
mv S newS -> Dosyanın adını değiştirir.
mv newS Documents/ -> dosyayı Doc. dizinine taşır.
rm -i new_script
rm: remove regular empty file 'new_scrpit'? y
Linkleme
2 tipi mevcuttur:
- Symbolic links -> Points another physical file. Dosyaların inode numarası birbirinden farklıdır
- Hard links -> Point the data on hard drive. Dosyaların inode numarası aynıdır.

inode numarasını öğrenmek için:
ls -i <dosya_ismi>
ls -i -> tüm klasördeki dosyaların inode numarasını görüntüler.
Linkleme
ln -s old new ->Symbolic link
ln old new ->Hard link
Directory
mkdir new -> new adında yeni bir dir oluşturur.
mkdir new/new2/new3 -> HATA
mkdir -p new/new2/new3 -> başarılı
touch new/file
rmdir new/ -> HATA: Directory is not empty
rm -R New/ -> Recursive bir şekilde içindeki dosyalarla beraber siler.
Dosya içeriğini görüntüleme
file text.txt
text.txt: ASCII text, with very long lines(1416)
file -> dosya hakkında bilgi verir
cat text.txt -> tüm datayı görüntüler.
cat -n text.txt -> tüm datayı satır numaralarıyla birlikte görüntüler.
more text.txt -> hepsini birden görüntülemek yerine parça parça görüntüler. (q -> quit arrow space ...)
less text.txt -> more gibi / ile arama yapmak mümkün
tail text.txt -> son 10 satırı gösterir
tail -n 1 text.txt -> son 1 satırı gösterir
tail -f text.txt -> dosyanın içine yazıldıkça ekrana basar. Canlı canlı append edilenleri gösterir.
echo "text" >> text.txt -> text i txt ye append eder
head text.txt -> tail ile aynı ama sonu yerine başını gösterir. -f parametresi yoktur.
Daha fazla komut
Find & Locate
find . -name sample.txt -> sample.txt i arar
find . -name "*.txt" -> txt türündeki tüm dosyaları gösterir
find . -empty -> empty dosyaları gösterir.
find . -empty | less
sudo apt install locate
find gibi her şeyi taramaz onun yerine arama sistemini kullanır.
locate file | less
Grep
grep "foam" text.txt -> dosya içinde foam bulunan satırları ekrana basar.
grep -n "foam" text.txt -> ekrana basarken satır numrasıyla beraber basar.
grep -c "foam" text.txt -> foam kelimesini içeren kaç satır olduğunu basar.
grep -e "foam" -e "smile" text.txt -> birden fazla pattern ararken
grep "foam" * -> klasördeki foam içeren tüm dosyaların içindeki satırları getirir.
Sort
vim words -> satır satır kelimeler yazılır
vim nums -> satır satır sayılar yazılır.
sort words -> kelimeleri, sözlük sıralaması yapar
sort nums -> sayıları, sözlük sıralaması yapar
sort -n nums -> sayıları, sayı sıralaması yapar
vim months -> aylar 3 harfli sırasız bir biçimde yazılır.
sort -M months ->
Jan
Feb
Mar
...
Nov
Dec
PS
ps -> report a snapshot of the current processes
ps -ef -> allprocess running, expect ...
ps -elf
Top
ps komutu gibidir ama real time dır.
kill <proc_ıd> -> proc_id li processi i öldürür.
Disk alanını kontrol etmek
df -> disk hakkında bilgi verir.
df -h -> daha okunaklı bir halde çıktı verir.
du -sh * | sort -nr -> büyükten küçüğe sıralar
114M snap
12K text.txt
4.0K words
4.0K Videos
4.0K Templates
...
Mounting
mount -> var olan mountları gösterir
sudo mount -t type device directory
sudo mount -t vfat /dev/sdb1 /media/disk
sudo mount -o rw -t vfat /dev/sdb1 /media/disk
sudo umount /media/disk
Compress & archive
gzip text.txt -> compress
gzip -d text.txt.gz -> uncompress
zip text.zip text.txt -> compress
zip -r doc.zip Documents/ -> compress entire directory.
unzip doc.zip -> uncompress
tar -cvf docs.tar Documents/ -> compress
tar -xvf docs.tar -> uncompress
Yardımcı araçlar
SSH Keys
mkdir .ssh
chmod 700 .ssh/
ssh-keygen -t rsa -> generate public private key pair
cd .ssh
id_rsa id_rsa.pub -> private and public key.
scp id_rsa.pub esat@12.2.4.2:~/.ssh/authorized_keys
IPTables
iptables -A INPUT -s 1.1.1.1 -j REJECT -> block ip
iptables -L -> list iptable rules
iptables -D INPUT -s 1.1.1.1 -j REJECT
UFW
sudo apt install ufw
ufw default deny incoming
ufw default allow outgoing
deny or allow incoming traffic
ufw allow ssh -> allow ssh
ufw allow 2222 -> allow port
sudo systemctl status ufw
ufw allow from 1234:1324/tcp -> allow ports
Bilinmesi gereken başka komutlar
pushd Documents/ -> stack a atar
popd -> stackdan çıkartır
!e -> echo -> tıpkı ? gibi


Leave a Reply