15 puan yazan winterjung 2025-04-19 | 6 yorum | WhatsApp'ta paylaş

Ben aşağıdaki shell scriptlerini veya snippet’ları ~/.zshrc içine ekleyip ya da alias tanımlayıp kullanıyorum; başkalarının hangi snippet’ları kullandığını merak ettiğim için paylaşmak istedim.

Aşağıdaki içeriği kişisel blog: sık kullandığım shell snippet’ları yazısına da not etmiştim ama özellikle gidip bakmanıza gerek olmasın diye içeriğin tamamını buraya yapıştırdım.


1. man sayfalarını PDF olarak görüntülemek

pman() {  
  mandoc -Tpdf "$(man -w $@)" | open -f -a Preview  
}  

macOS'ta $ pman curl gibi kullanıyorum.

2. Git remote’da silinmiş branch’leri temizlemek

git fetch -p && for branch in $(git branch -vv | grep ': gone]' | awk '{print $1}'); do git branch -D $branch; done  

Ya da git gone - uzakta silinen branch’lerin tamamını silen özel komut kullanmak da mümkün görünüyor.

3. .env içindeki environment variable’ları uygulamak

export $(grep -v '^#' .env | xargs)  

direnv kullanmak muhtemelen daha iyi ama sanırım alışkanlıktan dolayı yukarıdaki snippet’ı daha sık kullanıyorum.

4. Yerelde kısa süreliğine MySQL gerektiğinde

docker run --rm -d --name mysql \  
  -e MYSQL_ROOT_PASSWORD=password \  
  -e MYSQL_ROOT_HOST=% \  
  -p 3306:3306 \  
  -v $(pwd)/mysql_data:/var/lib/mysql \  
  mysql:8 \  
  --character-set-server=utf8mb4 \  
  --explicit_defaults_for_timestamp=true  

Sonrasında localhost:3306 üzerinden bağlanıp kullanıyorum; volume’u korumak gerekmiyorsa -v seçeneğini kaldırarak kullanıyorum.

6 yorum

 
roxie 2025-06-23
alias enable-sudo-with-touchid="cat /etc/pam.d/sudo && echo 'ÖNCE===================\n===================SONRA' && sudo gsed -i '1i auth sufficient pam_tid.so' /etc/pam.d/sudo && cat /etc/pam.d/sudo"  

MacBook'ta yönetici parolası girmeniz gereken durumlarda (ör. sudo), Touch ID ile devam etmenizi sağlayan bir betiktir.

Bunu yalnızca bir kez ayarlamak yeterli ama neden bir alias var derseniz... bazen macOS sürümünü yükselttiğinizde bu ayar sıfırlanıyor.

 
tequila 2025-04-21

MySQL’i kısa süreliğine ayağa kaldırmayı bir alias olarak kullanmayı hiç düşünmemiştim, ilginçmiş.
Ben de .zshrc içine böyle ufak ayarlar ekleyip kullanıyorum.

cpcat() {  
  cat "$@" | pbcopy  
}  

cpcat [dosya_adı] komutunu çalıştırınca belirli bir dosyanın içeriği panoya kopyalanıyor.

 
roxie 2025-06-23
alias cb="pbcopy"  

Ben de böyle kullanıyorum haha

 
winterjung 2025-04-21

Ah, her seferinde pbcopy yapmakla uğraşmak sinir bozucuydu, bu güzelmiş! Adı da Copycat'miş, hahaha

 
ndrgrd 2025-04-19

3000 aralığındaki portlar içinde kullanılmayan portları gösterir.

function idleports()  
{  
    cols=10  
    count=0  
    output=""  
  
    listening_ports=($(sudo ss -tlpn | grep -o ':30[0-9]*' | sed 's/://g' | sort | uniq))  
  
    for port in {3000..3099}; do  
        if [[ " ${listening_ports[@]} " =~ " $port " ]]; then  
            output+="\033[38;5;235m$port\033[0m  "  
        else  
            output+="$port  "  
        fi  
  
        ((count++))  
        if ((count % cols == 0)); then  
            output+='\n'  
        fi  
    done  
  
    if ((count % cols != 0)); then  
        output+='\n'  
    fi  
  
    echo -e "$output"  
}  
 
kohs100 2025-04-21

Yok artık, bu gerçekten harika bir ipucuymuş... Teşekkürler.