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 lsvb adlar olası kontrol etmek