Uzun ve işe yarar Linux komutları ve komut kombinasyonları nelerdir?

Bunlar bir kısmını benim yazdığım, bir kısmını internetten bulup düzenlediğim, bir kısmını ise internetten bulup olduğu gibi kullandığım ve arada sırada işime yarayan komutlar. Umarım başkalarının da işine yarar.

Harici IP adresinizi öğrenin:

Bash:
dig TXT +short o-o.myaddr.l.google.com @ns1.google.com | awk -F'"' '{ print $2}'

Belirtilen dizindeki (ve alt dizinlerdeki) dahil bütün resimleri özyineli şekilde tek bir PDF dosyasına dönüştüren komut:

Bash:
for ((a=1; a<=X; a++)) do let b=$a && cd "örnek/dizin $b" && img2pdf *.jpg --output $b.pdf && mv $b.pdf .. && cd ..; done

  • Not: img2pdf paketi yüklü olmalıdır.

Mevcut dizin ve alt dizinlerdeki PDF dosyalarını tek bir PDF dosyasına dönüştüren komut:

Bash:
pdftk $(find ./ -name "*.pdf" | sort -V) cat output dosya.pdf

  • Not: pdftk paketi yüklü olmalıdır.

Parça parça halindeki MPEG transport stream dosyalarını birleştirin:

Bash:
cat $(find ./ -name "*.ts" | sort -V) > dosya.ts

Sonra isterseniz dönüştürün. MPEG-4 için:

Bash:
ffmpeg -i input -map 0 -c copy dosya.mp4

Matroska için:

Bash:
ffmpeg -i input -map 0 -c copy dosya.mkv

  • Not: ffmpeg paketi yüklü olmalıdır.

Alt dizinlerdeki bütün dosyaları mevcut dizine özyineli bir şekilde taşıyan komut:

Bash:
find -type f -exec mv -v {} . \;

  • Uyarı: Gerektiği yerlerde çok işe yarar ama yanlışlıkla yanlış yerde kullanırsanız her şeyi elle düzeltmek zorunda kalabilirsiniz.
Argüman şeklinde verilen dosyaların içeriğine istenilen veriyi ekleyen betik programı:

Bash:
while read value; do
    echo "$value" | tr "\t" " "
done <$1> $2

Örnek olarak \t girilmesi istenmiş. Bunun anlamı bir TAB karakterinin kapladığı kadar boşluk bırakır. Onun yerine farklı bir değer ya da karakter girebilirsiniz. Program aşağıdaki şekilde argüman alır:

Bash:
./program işlenecek_dosya.varsa_uzantısı

İstenen dosyanın sonuna NULL karakteri ekleyen komut:

Bash:
echo -ne "n\0m\0k" >> dosya

  • Uyarı: Yanlışlıkla >> yerine > kullanmamaya dikkat edin.

QEMU sanal makinesinde Windows 10 sanal makinesini başlatan komut:

Bash:
windows10.sh -boot d -drive file=Win10.iso,media=cdrom -drive file=virtio.iso,media=cdrom -device qemu-xhci,id=xhci -device usb-tablet,bus=xhci.0

man komutu ile açtığınız dökümanları PDF´e dönüştürüp istediğiniz programla açın:

Bash:
alias pman='pman() { man -Tpdf $1 > /tmp/man.pdf; google-chrome-stable --incognito /tmp/man.pdf ;}; pman'

Ben Google Chrome ile açmasını tercih ediyorum. O kısmı değiştirip herhangi bir PDF görüntüleyici programı da kullanabilirsiniz. Örnek kullanım:

Bash:
pman man

  • Not: Komutun kalıcı olmasını istiyorsanız $HOME/.bashrc dosyanıza kaydetmeyi unutmayın.

i3 pencere yöneticisinde istenildiği zaman i3´e özel klavye kısa yollarını kilitlemeye yarayan komut:

Bash:
bindsym $mod+F12 mode "Klavye Kısayolu Geçiş Modu - Çıkmak İçin mod+F12 Tuşlarına Basınız"

i3´te biliyorsunuz mod tuşu Alt ya da Super/Win tuşu olabiliyor. Başlangıçta hangisini ayarladıysanız onu kullanacaksanız.

  • Not: Komutun kalıcı olmasını istiyorsanız $HOME/.config/i3/config dosyasına kaydetmeniz gerekiyor.

Bir önceki komutu tekrar çalıştıran komut:

Bash:
!!

Evet, bu çok uzun oldu.

Büyükten küçüğe programları bellek kullanımlarına göre sıralayın:

Bash:
free -m && ps -eo size,pid,user,command --sort -size | awk '{ hr=$1/1024 ; printf("%13.2f MB ",hr) } { for ( x=4 ; x<=NF ; x++ ) { printf("%s ",$x) } print "" }' | cut -d "" -f2 | cut -d "-" -f1

Evet, bu da çok kısa oldu.
 
Sanırım shell script öğrenmem gerekiyor... Saygılar.
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…