Ubuntu çalıştıran bir terminal açıp
sudo bash
cd /
ls | head -n 1000
Ve tahminen yaklaşık 20 dizin geri gönderilir.
Ancak, eğer bir ls yaparsam ve hiçbir şeye sokmazsam, başka bir terminalden onu öldürene kadar ls orada kalır. Neler olabilir?
DÜZENLE:
> type ls
ls is aliased to `ls --color=auto`
DÜZENLE:
> /bin/ls /
<normal response>
> /bin/ls --color=auto
<hangs indefinitely>
Neden bu komutun askıda kalmasına yol açan ls çıktısını renklendiriyor?
strace ls
, sorunu tanımlamanıza yardımcı olabilir. strace
çağırdığı program tarafından yapılan tüm sistem çağrılarını görüntüler.
/bin/ls
(veya daha doğrusu command ls
) ls
, fark yaratan renk seçeneğinin olup olmadığını onaylayın. FWIW, ls
çıktısı bir boru veya diğer terminal dışı bir cihaz olduğunda renklendirmeyi kapatır.
\ls
type ls
vb adlar olası kontrol etmek