df komutunu kullanabilirsiniz. df -h ile daha okunabilir bir sonuç elde etmeniz mümkün.
cd /dizin_ismi/ du -sk * # Kontrol etmek istediğiniz dizinler için tekrarlayınız.
veya;
find /dizin_ismi/ -size +2000k -ls # /dizin_ismi/ ile belirtilen dizinde 2000 kilobytes'ın üzerindeki dosyaları listeler
.deb dosyalarını bu işlemin dışında tutmak isterseniz;
find / -size +2000k -ls | awk ' substr($NF, length($NF) - 3, 4) != ".deb" ' # /dizin_ismi/ ile belirtilen dizinde 2000 kilobytes'ın üzerindeki .deb harici dosyaları listeler
Şayet dosya yerine çok yer kaplayan dizinleri listelemek isterseniz;
du -x /dizin_ismi/ | sort -n | tail -10 # /dizin_ismi/ ile belirtilen dizinin altında yer alan en fazla yer kaplayan 10 dizini listeler.
rename 's/ /_/g' *.mp3
rename, sistem komutu değildir, Perl ile gelir. Sisteminizde Perl zaten yüklenmiş olacağı için sorun çıkarmaz.
cd /dizin_ismi/ find . -depth -name '* *' -type f -print0 | xargs -r0 rename 's/ /_/g'
cd /dizin_ismi/ find . -name '*[A-Z]*' -type f -print0 | xargs -0 rename 'y/A-Z/a-z/'
Dosya isimleri ile birlikte, dizin isimlerinide büyük harften küçük harfe çevirmek isterseniz.
cd /somewhere find . -type d -depth -name '*[A-Z]*' -print | while read dir; do dname="$(dirname $dir)"; bname="$(basename $dir)"; newbname="$(echo $bname | tr [:upper:] [:lower:])"; mv "$dir" "$dname/$newbname"; done # Dizin isimlerini değiştirir. # A to a until we've already renamed A/B to A/b. find . -name '*[A-Z]*' -type f -print0 | xargs -0 rename 'y/A-Z/a-z/'
Yukarıdaki betik bazı durumlarda kusurlu sonuçlar verebilir. Dizin isimlerinizin newline, _ veya whitespace karekterine sahip olduğu durumlar için başarısız olur. Betiği kullanma riski tamamıyle size aitdir, dilerseniz kullanmadan önce mv komutunun baş tarafına echo 'yu ekleyerek sonucu görerek değerlendirmeye çalışın.
Buna karşın aşağıdaki basit betik daha kararlı sonuç verebilir.
find /somewhere -depth -name '*[A-Z]*' -print0 | xargs -r0 rename 'y/A-Z/a-z/'
Yine bu betiği sisteminizde uygulamadan önce rename komutunun başına echo'yu ilave ederek sonucu değerlendirmeye çalışınız. Kullanım riski size ait.
unlink -foo
Üç farklı yöntem uygulanabilir;
tail -f /var/log/messages
veya
less +F /var/log/messages
veya duruma göre;
watch -n 1 ls -l ~/dizin_ismi/dosya
basename /dosyanın_yolu/dosya_ismi
veya
foo=/dosyanın_yolu/dosya_ismi ; echo ${foo##*/}
if [ "$(ls -A dizin_ismi)" ]; then
echo "Bu dizin içerisinde dosya var"
fi
Diğer yöntem;
if [ "`ls -A dizin_ismi | wc -l`" -gt 0 ]; then
echo "dosya bulundu"
fi
veya daha kısa bir yöntem;
[ $(ls -A dizin_ismi) ] && echo "dizin boş değil"
Komutun sonuna & işareti eklemeniz yeterlidir.
örnek :cp dosya1 dosya2 & dosya1, dosya2 olarak geri planda kopyalanıyor.
Bu işlemi en sona & işareti koymaksızın da yapabilirsiniz.
Bunun için de komut uyguladıktan sonra Ctrl+Z ile işlemi geri plana atıp daha sonra geri planda sürece devam et demelisiniz. Ctrl+Z işlemi sürecin çalışmasına ara verir, fakat tamamen durdurmaz. Sürecin çalışmasını arkaplanda sürdürmek için bg komutunu kullanın.
bg ile geri plana attığınız süreç tekrar işlemeye devam edecektir. Bu komutu tekrar komut satırında çalışacak ve klavyeden bilgi girilecek şekilde terminale bağlamak için fg 'yi kullanabilirsiniz. Bir programı çalıştırmaya başlattıktan sonra tamamen durdurmaya karar vermişseniz klavyeden Control-C tuşlarına basın veya;
killall cp şeklinde tüm cp süreçlerini yok edebilirsiniz. Durdurulup arkaplanda çalışmaya yönlendirilen süreçlere kısaca görev ismi verilir. Tüm görevleri görebilmek için;
jobs yazın. Görevler, birden fazla oldukları zaman sıra numarası ile belirtilirler.