Skip to content

Instantly share code, notes, and snippets.

@NaCI
Last active June 17, 2020 09:55
Show Gist options
  • Save NaCI/b653400f3bce605d96b44bb46a19cecd to your computer and use it in GitHub Desktop.
Save NaCI/b653400f3bce605d96b44bb46a19cecd to your computer and use it in GitHub Desktop.
Important Unix Commands

Şu ana kadar kullandığım ve önemli bulduğum linux komutlarını paylaşmak istiyorum :


sudo su : root şifresi tanımlama

. = bulunduğun dizin

~ = Home

~/.bashrc = kullanıcı ile ilgili kofigürasyonların tutulduğu klasör

. ile başlayan dosyalar = gizli dosyalar

cd Enter = go home directory

! = ardına yazılan komut, geçmişte yazılmışsa en son yazılanını çalıştırır (örnek : !curl)

ls -lh = dizindeki dosyaları boyutları anlaşılabilecek şekilde listeler

du -h = dizindeki klasörleri boyutları anlaşılabilecek şekilde listeler

df -h = harddisk kullanım bilgilerini listeler

lsb_release -a = işletim sistemi ve distribution ile ilgili bilgileri verir

cat /etc/*release = işletim sistemi bilgilerini gösterir

lsof -nP | grep '(deleted)' = silinen ama linkleri kopmayan dosyaları listeler


İki dosya içeriğindeki farkları bulma komutu

  • diff /dosyaYolu1 /dosyaYoulu2

Change permissions of files

  • chmod -R 777 [filename]

Copy

  • cp -rv {nerden} {nereye}

r option = recursive (klasör kopyalamada kullanılır)

v option = ilerlemeyi ekrana bastırır


Yüklü paketleri listeleme

  • dpkg -l

İki işlemi birleştirme " | " operatörü ile yapılır

  • ls -la | grep workspace

Ağ Bilgisi Alma

  • netcfg

Biçimlendirme

  • önce umount yapılır ardından mkfs yapılır

Echo kullanımı

  • "echo String >> PATH" = dosyanın sonuna yazar

  • "echo String > PATH" = dosyanın üstüne yazar


Path Ekleme

.bashrc gizli klasörüne path tanımlanır.

  • nano .bashrc PATH=~/FoldersPath:$PATH

bu dosyayı değiştirdikten yapılan değişiklikleri aktifleştirmek için alttaki komut çalıştırılır.

source .bashrc => güncellemeleri yapar


Sıkıştırma ve Açma İşlemleri

x = xpand / c = compress

  • tar xfvz FILE.tar.gz

  • tar xfvj FILE.tar.bz2

  • tar cfvz FILE.tar.gz(sıkıştırılacak dosya yolu ve adı) FILE[](sıkıştırılacak dosyalar) FOLDER[](sıkıştırılacak klasörler)

  • tar cfvj FILE.tar.bz2 FILE[] /* daha çok sıkıştırır ama işlem uzun sürer


İnternet Paylaşımı

  • echo 1 > /proc/sys/net/ipv4/ip_forward

  • iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE


Ağdaki Cihazları ve Portları Tarama

  • nmap -n 192.168.1.* -p 5555 (ip aralığı verilir, -p port demektir -web erişimi olan cihazlarda genelde 80 portu açıktır-)

  • nmap -n 192.168.1.* -p 5555 | grep open -B 4


Ağ Bağlantısı Gateway Atama

  • route -n (şu anki ayarlar görülür)

  • route del default gw 192.168.1.1 (default değer silinir)

  • route add default gw 192.168.1.138 (yeni değer atanır)


DNS Ayarları Değiştirme

  • nano /etc/resolv.conf

& işareti

  • Komutun sonuna koyulan & işareti komutu her halükarda sonraki satıra geçirir, komut çalışmaya devam etse bile.

PS AX Komutu

  • çalışan süreçleri gösterir

FG Komutu

  • durdurulmuş süreçleri ekrana geri getirir

Hostname Değiştirme

  • nano /etc/hostname

Çalıştırılabilir Dosyaların Yollarını Bulma

  • which *(program adı)

  • which java


Alternatif Kopyalama İşlemi

  • cat (dosya_yolu).(dosya) > (hedef_yol).(dosya)

Android Cihaz Bilgileri Görme

usb ile bağlı bulunan cihazın komut satırına girilir ve orada "getprop" komutu çalıştırılır.

  • adb shell

ardından

  • getprop

Dosyaları parçalara bölmek için kullanacağımız komut

Mesela bir 5480 kb lık mp3 dosyamız olsun.(test.mp3).Bu dosyamızı 1 megabyt’lık parçalara bölelim.

b : byte 1 : dosyamız 1 megabyte lık dosyalara böler..yada (2-3-4) dosya büyüklüğüne göre. m: megabyte

örnek : split -b1m test.mp3 test.mp3

Işlem sonunda Dosyalarımız test.mp3as test.mp3ab....şeklinde parçalanacaktır.

Bu dosyayı tekrar birleştirmek içinse --> cat

örnek : cat test.mp3a* > test.mp3


En son değisen 10 dosyayi listeleme

  • ls -al --sort=time | head -n 10

Android cihazlara Wireless üzerinden ADB ile bağlanma yetkisi verme

  • su

  • setprop service.adb.tcp.port 5555

  • stop adbd

  • start adbd

  • netstat (açık portları görmek için)


Kablo Takılıysa

  • adb tcpip 5555

  • adb connect 192.168.0.101(device ip):5555(port)


Android cihazlarda uygulama başlatma

  • am start -a (Intent)android.intent.action.MAIN -n (package_name)/(class_name)

Android cihazların klasörlerine yazma yetkisi verme

  • mount

  • mount -o remount,rw /dev/block/mmcblk0p9 /system


Detaylı Grep Kullanımı

-grep "aranan_kelime" -A 30 -B 10 (A: after B: before bulunan satırdan 10 öncesini ve 30 sonrasını gösterir)


Apache Start/Stop

  • sudo /etc/init.d/apache2 stop (start)

MySQL Veritabanında SQL Çalıştırma

  • mysql -u(root_adı) -p(şifre) (tablo_adı) < (sql'in yolu)

KULLANILAN PORTLARI LİSTELEME

sudo netstat -tulpn


CURL ile İstekte Bulunma


SSH ile Dosya Kopyalama

  • scp (kopyalanacak dosya yolu) (uzak sunucu kullanıcısı)@(uzak sunucu ip'si):(uzak sunucu kopyalama dosya yolu)

  • klasör kopyalamak için -r parametresi kullanılır.

  • port belirtmek için -P parametresi kullanılır.


Dosya İçeriği Okuma

  • cat out07.log | grep com.google.android.apps.plus | awk -F| '{ print $2 }' | sort | uniq | wc -l dosyayı ekrana yazdır | kelimeyi satırlarda ara | -F den sonra ayıraç tanımlanır print &2 ise 2.sütun demek | sırala | arka arkaya aynı olanları çıkar | satır sayısı |

  • head -(satır sayısı) (dosya yolu) /* dosyanın ilk n satırını okur */

  • tail -(satır sayısı) (dosya yolu) /* dosyanın son n satırını okur */

  • tail -F (dosya yolu) /* dosyayı güncel takip eder */

  • awk -F| '{ if($2==23) print $0"\n\n"}' (dosya yolu) /* 2. sütun 23 olan bütün satırları bastır */

  • wc -l /* dosyanın satır sayısını gösterir */

  • grep -w "pattern" -c file /* dosyadaki belli parametreyi içeren satır sayısını gösterir. -c => satır sayısı, -w => girilecek kelime */

-grep -i ali /* büyük küçük harf farketmez (insensitive) */

-grep 'ali|veli' /* ali veya veli geçen satırları arar */


Komutun Durmasını Engelleme

  • nohup (komut adı)

MYSQL KOMUTLARI

  • mysqldump -u(user_name) -p (veritabanı_adı) > ./yedek.sql => veritabanı yedeği alma

  • mysql -u(user_name) -p (veritabanı_adı) < ./yedek.sql => veritabanı geri yükleme

  • mysql -u(user_name) -p(password) => mysql giriş

  • show processlist => Bağlantıları Görme

  • SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST => Bağlantıları Görme Detaylı

  • show variables => mysql değişkenlerini listeler

  • show variables like "max_connections"; => spesifik bir değişkeni görme

  • set global max_connections = 200; => değişken atama (bu değişiklik mysql yeniden açıldığında unutulur. Kalıcı değişiklik için /etc/mysqld/my.cnf dosyasının içindeki max_connections satırı değiştirilmelidir)

  • use (veritabanı_adı) => database seçme

  • describe (tablo_adı) => tablo yapısını görme

  • show databases => mysqldeki tüm databaseleri görme

  • show tables => veritabanındaki tüm tabloları görme

  • drop databse (veritabanı_adı) => veritabanı silme

  • CREATE DATABASE (veritabanı_adı) DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci => yeni veritabanı oluşturma utf-8 li

  • CREATE TRIGGER {trigger_adı} AFTER INSERT ON {etkinmiş tablo adı} FOR EACH ROW INSERT INTO {etkilenecek tablo adı}(id,type) VALUES(NEW.i_episode, 2); => veritabanında trigger oluşturma


Uzak Sunucudaki Dosyayı Mount Etme

  • sshfs (user_name)@(ip):/(dosya yolu) (bizdeki boş klasör)

Unmount Etme

  • df -h
  • sudo unmount -f (dosya yolu)

APACHE TOMCAT

  • cd $CATALINA_TOMCAT_HOME/bin

  • ./startup.sh (START TOMCAT)

  • cd $CATALINA_TOMCAT_HOME/bin

  • ./shutdown.sh (SHUTDOWN TOMCAT)

  • webapps klasörünün altındaki .war uzantılı dosyalar çalışmaya başlar, isimlerine göre istek yapılabilir.

  • request example : curl -d "(parameters ex :'func=getConf')" (server_ip):(port_no: default 8080 or 80)/(project or war file name)/(class name)


RUN JAVA PROGRAM

  • java -Xms1G -Xmx12G -classpath StatsMob_Parser_out07.jar:./lib/* com.argeus.packagelistparser.Main 2>>StatsMob_Parser_out07.err >> StatsMob_Parser_out07.out param1

  • java (min_memory) (max_memory) -classpath (jar file) :(nesessary libraries folder) (Main Class Name) 2>>(Error Log File) >> (Log File) (parameter)

  • java -jar DBChanger.jar 2>>hata.txt >> normal.txt param1 param2 param3


CLEAR COMMAND LINE HISTORY

  • history -c => Delete all history

  • history -d (line of code ex: 5) => Delete command at specific line

  • history -w => rewrite on to old data


MERGE PDF FILES IN ONE

  • pdfunite in-1.pdf in-2.pdf in-n.pdf out.pdf

ANDROID GET PACKAGE LIST OF DEVICE

adb shell ile cihazın komut satırına düşülür ardından ilgili komut çalıştırılır.

  • pm list packages

ANDROID GET FINGERPRINT OF DEBUG KEY

  • keytool -list -v -keystore ~/.android/debug.keystore (path of keystore)
  • keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey (alias name)

BUILD JAVA PROJECT WITH MAVEN

  • mvn package

ANDROID PRESENT UNKOWN DEVICE TO ADB

  • nano /etc/udev/rules.d/51-android.rules
  • add new vendor to file (SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", MODE="0666", GROUP="plugdev")

SOCKS PROXY TANIMLAMA - SSH ÜZERİNDEN

  • ssh -D 8080(port) server_ip_adresi
  • ardından firefoxta preferences->advanced->network->settings tabında manuel proxy SOCKS host 127.0.0.1 port 8080(port) atanır
  • port çakışması olması durumunda farklı port denenmeli

LINUX SİSTEMDE DOSYA ARAMA

  • find {aranılacak dizin} -name {aranılacak dosya adı - regular exp kabul ediyor -}

Ornek : find /samanlik/ -name "topluigne.txt"


JAVA UYGULAMALARININ BİLGİLERİNİ ÖĞRENME

  • jinfo {process_id}

AÇIK PORTLARI LİSTELEME

  • sudo netstat -tulpn

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