Bash Örnekleri – cd ve ls nasıl tek komutta kullanılır

Bash Örnekleri – cd ve ls nasıl tek komutta kullanılır

Nisan 12, 2020 2 Yazar: admin

Ne zaman cd ile bir klasörün içine girsem, hemen akabinde yaptığım şey klasörün içeriğini ls komutu ile listelemek olur. Hepiniz bunu yapıyor mu bilmiyorum ama bazılarınızın bu alışkanlığının olduğunu tahmin ediyorum. cd ve ls komutlarının fonksiyonlarını birleştirmek daha iyi olabilir öyle değil mi? Bu kısa belge sizlere Linuxta klasörün içine cd ile girdiğinizde aynı anda içeriği listelemenizi sağlayacaktır.

Esasında benim size bahsettiğim şey tek satır komutla alakalı bir konu değil. Bunu zaten aşağıdaki komutla yapabilirdiniz.

$ cd dir && ls

Evet bu çalıştı ancak bu belgede bizim kastettiğimiz şey elbette bu değil. Biz bunu basit BASH fonksiyonu ile yapacağız. Bu BASH ı destekleyen Unix tarzı bütün işletim sistemlerinde işe yarayacaktır.

$ nano ~/.bashrc

Aşağıdaki satırları sona ekleyin
cdls() {
        local dir="$1"
        local dir="${dir:=$HOME}"
        if [[ -d "$dir" ]]; then
                cd "$dir" >/dev/null; ls --color=auto
        else
                echo "bash: cdls: $dir: Directory not found"
        fi
}

Ben burada cdls() ismindeki fonksiyonu hatırlaması kolay olsun diye kullandım. Bu fonksiyonu istediğiniz gibi isimlendirebilirsiniz. Ayrıyeten ls –color=auto parametresini kaldırabilirsiniz. Dosyayı kaydedip kapatın.

Değişikliklerin etkili olması için aşağıdaki komutu çalıştırın.

$ source ~/.bashrc

Şimdi klasörün içine cdls ile girmeye çalıştığınızda otomatik olarak içeriğini listelediğini göreceksiniz.

$ cdls /var/log/
alternatives.log  btmp                   dpkg.log   kern.log   syslog               wtmp
apt               cloud-init.log         faillog    landscape  syslog.1
auth.log          cloud-init-output.log  installer  lastlog    tallylog
bootstrap.log     dist-upgrade           journal    lxd        unattended-upgrades
sk@ubuntuserver:/var/log$ pwd
/var/log

Selam ve sevgi ile.