Rastgele bir dizin yolu seçer bir komut dosyası yürütmek istedim:
find / -type d | shuf -n1
Ne yazık ki belirli dizinlere girme yasağı hakkında hata mesajları alıyorum.
Bir dizini find ile aramadan nasıl hariç tutabilirim?
Rastgele bir dizin yolu seçer bir komut dosyası yürütmek istedim:
find / -type d | shuf -n1
Ne yazık ki belirli dizinlere girme yasağı hakkında hata mesajları alıyorum.
Bir dizini find ile aramadan nasıl hariç tutabilirim?
Yanıtlar:
Linux'ta belirli yolları hariç tutmak için:
find / -path /sys -prune -o -path /proc -prune -o -type d
Başka bir yaklaşım, find
farklı dosya sistemleri altında geri çekilmemeyi söylemektir .
find / -xdev -type d
Canlı sistem yerine dosya adlarının bir veritabanını sorgulamak için (genellikle her gün güncellenen, manuel olarak kullanarak da güncelleyebilirsiniz ) konum bulmayı da kullanabilirsiniz updatedb
.
locate '*' | shuf -n 1
find / -xdev -type d 2>/dev/null
.
find / \( -path /sys -o -path /proc \) -prune -o -type d
sen gibi daha dizininin dışında tutmak istiyorsanız misiniz yararlı olabilir /dev
ya da /tmp
vb
GNU find ile regex seçeneklerini de kullanabilirsiniz, örneğin:
find / -regextype posix-extended -regex "/(sys|srv|proc)" -prune -o -type d