Không thể thấy tiến trình của một tệp với `tail -f`


11

Thật ngạc nhiên tại sao bây giờ tail -fkhông hoạt động trong khi trước đó là.

Tôi có lệnh dưới đây để chạy để sao lưu.

ubuntu@ubuntu:~$ sudo tar -cvf /media/ubuntu/My*Linux/ub*data/zebra.tar /media/ubuntu/home > z1 2> z2 && echo "pass" || echo "fail"

Để xem đầu ra và lỗi, có 2 tệp đó z1z2.

Bây giờ tôi muốn xem đầu ra của lệnh trên thiết bị đầu cuối từ tệp z1:

ubuntu@ubuntu:~$ tail -f z1

nhưng lệnh này không hiển thị dữ liệu được nối thêm thời gian.

Tôi đang làm việc trên cài đặt trực tiếp Ubuntu 14.04.1 bằng ổ USB. Đây có thể là lý do?


1
Có thể không liên quan đến vấn đề của bạn, nhưng bạn nói 2 > z2. Tôi nghĩ rằng stderrcú pháp chuyển hướng 2>thực sự không cho phép một không gian giữa các 2>.
Ulrich Schwarz

@UlrichSchwarz xin lỗi đó là lỗi của tôi. Tôi đã sửa
Ravi

1
Vì bạn đã cho tar một f outputfilenametùy chọn, z1 sẽ là một tệp trống.
Đánh dấu Plotnick

@MarkPlotnick no z1 có đầu ra tương ứng với tùy chọn -v. Nếu tôi chạy 'cat z1', nó sẽ hiển thị tất cả các tệp được sao lưu. Vấn đề là lệnh đuôi không hoạt động.
Ravi

@Ravi xin lỗi, bạn đã đúng, GNU tar sẽ ghi danh sách vào thiết bị xuất chuẩn khi v và f được sử dụng cùng nhau. Điều này đi ngược lại với tiêu chuẩn bằng văn bản cho tar. Sẽ cố gắng tái tạo vấn đề của bạn. Thư mục nào là z1 và z2? Đĩa RAM của CD trực tiếp hoặc ổ USB? Nếu USB, loại hệ thống tập tin (ext3, vfat) là gì?
Đánh dấu Plotnick

Câu trả lời:


10

Tôi có thể tái tạo điều này. Đó là một lỗi.

Trên đĩa CD trực tiếp Ubuntu, hệ thống tệp chứa thư mục chính của người dùng mặc định là loại lớp phủ , tuyên bố hỗ trợ inotify nhưng không.

Vì vậy, tail -ftrên một tệp trên lớp phủ cố gắng sử dụng inotifyvà sau đó không nhận được bất kỳ thông báo nào khi tệp đã thay đổi.

Báo cáo lỗi Ubuntu cho lỗi này là Lỗi # 882147: lớp phủ không triển khai chính xác các giao diện . Một cách giải quyết được trích dẫn trong báo cáo lỗi đó, từ Jim Meyering qua Andrea Ranieri, là sử dụng

tail -f ---disable-inotify file

(Thực sự có ba dấu gạch ngang ở đó.)

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.