Chạy Ubuntu, tôi mở một thiết bị đầu cuối và làm
sudo bash
cd /
ls | head -n 1000
Và dự đoán khoảng 20 thư mục được trả lại.
Tuy nhiên, nếu tôi làm một ls, và không đưa nó vào bất cứ thứ gì, ls chỉ treo ở đó cho đến khi tôi giết nó từ một thiết bị đầu cuối khác. Điều gì có thể xảy ra?
CHỈNH SỬA:
> type ls
ls is aliased to `ls --color=auto`
CHỈNH SỬA:
> /bin/ls /
<normal response>
> /bin/ls --color=auto
<hangs indefinitely>
Tại sao tô màu đầu ra của ls khiến lệnh này bị treo?
strace ls
có khả năng giúp bạn xác định vấn đề. strace
hiển thị tất cả các cuộc gọi hệ thống được thực hiện bởi chương trình mà nó gọi.
/bin/ls
(hoặc đúng hơn command ls
) để chạy ls
mà không có các tùy chọn bí danh, để xác nhận xem đó có phải là tùy chọn màu sắc đang tạo ra sự khác biệt hay không. FWIW, ls
tắt màu khi đầu ra của nó là một đường ống hoặc thiết bị không đầu cuối khác.
\ls
type ls
để kiểm tra bất kỳ bí danh nào có thể, v.v.