Làm thế nào để có được và sao chép một đầu ra quá dài hoàn toàn trong thiết bị đầu cuối?


8

Trong terminal một lệnh có đầu ra quá dài. Nhưng khi tôi cuộn lại, tôi thấy nó bị cắt ngắn và chỉ phần cuối cùng được hiển thị. Trong Gnome-Terminal và Konsole tôi có vấn đề này. Trong xterm không có vấn đề như vậy nhưng tôi không thể sao chép đầu ra trong xterm.

Làm thế nào tôi có thể nhận được đầu ra hoàn chỉnh?


Câu trả lời:


5

Tôi biết trong xfce4-terminal có một tùy chọn để tăng số lượng dòng được hiển thị:

nhập mô tả hình ảnh ở đây

Dành cho Ubuntu Terminal nhập mô tả hình ảnh ở đây

Bên cạnh đó là những gì @ Zelda64fan nói.


+1 Ống và teekhông tối ưu vì không hoạt động trong một số trường hợp như mất trongHROOT 3NVIORTNM3NT
22lk94k943 chỉ

9

Bạn có thể gửi đầu ra tới một tệp: command > file.txt(đây commandlà lệnh bạn muốn chạy và file.txtlà tệp bạn muốn lưu nó vào) và sau đó xem nó với gedit file.txt.


8

Sử dụng xclip

cat long.output | xclip -sel clip

Nếu không cài đặt, bạn có thể làm

sudo apt-get install xclip

Đây là một yêu thích cá nhân của tôi cho các thiết bị đầu cuối GUI. Với TTY, nó không hoạt động, thật không may, chỉ chuyển hướng đến một tệp sẽ giúp ở đó
Sergiy Kolodyazhnyy

5

Nếu bạn không cần toàn bộ đầu ra, bạn có thể chuyển nó qua ít hơn : command | less. Điều này cũng sẽ giúp bạn tránh phải xóa tập tin sau khi đã xem lại kết quả đầu ra.


lessđầu ra là khá khó để sao chép.
Sparhawk

2

Trong xterm, autocopy trên select phải là mặc định. Hãy thử nhấp ba lần sau đó sử dụng nút chuột giữa (hoặc nút thứ ba giả lập) để dán.

Điều tương tự sẽ làm việc với các thiết bị đầu cuối khác, nhưng bạn cần phải sao chép và dán thủ công.

Có rất nhiều, nhiều cách để làm điều này. Tôi thích sử dụng scripttrong một số trường hợp. Nhập 'script' từ một dòng lệnh để khởi động nó trước khi bạn khởi chạy một lệnh từ dòng lệnh, sau đó nhấn Ctrl-D để dừng lại. Nếu bạn không chỉ định tên tệp chụp, 'typecript' là mặc định. Tất cả mọi thứ được in ra màn hình nên được ghi lại trong tập tin.


2

Lưu đầu ra giao diện điều khiển vào một tệp:

  1. tee chỉ huy

lệnh tee - đọc từ đầu vào tiêu chuẩn và ghi vào đầu ra và tập tin tiêu chuẩn.

Nó tự động tạo tập tin và lưu, tất cả đầu ra của cmd ps -axvào một tệp có tên như processes_infotrong cùng một thư mục từ nơi cmd đã chạy.

user@admin:~$ ps -ax | tee processes_info
  1. script chỉ huy

lệnh script - tạo bản thảo của phiên cuối.

user@admin:~$ script my_console_output.txt

Điều này tạo ra một tệp có tên là my_console_output.txtvà sẽ mở một mạng con và ghi lại tất cả thông tin qua phiên này. Sau này, script bắt đầu và bất cứ đầu ra giao diện điều khiển nào, nó sẽ được lưu trữ trong tệp my_console_output.txt; trừ khi và cho đến khi đoạn script kết thúc khi shell fork xuất hiện. (ví dụ: khi người dùng gõ exithoặc khi CTRLDđược gõ.)

user@admin:~$ script -c "ps ax" processes_info.txt
  • nó bắt đầu kịch bản;
  • tạo tập tin processes_info.txt;
  • lưu trữ đầu ra giao diện điều khiển vào tập tin;
  • kết thúc (đóng) kịch bản.

    Ví dụ khác:

    script -c 'echo "Hello, World!"' hello.txt
    

script -c "rails runner -e development lib/scripts/my_script.rb" report.txtđã giúp tôi nắm bắt được tập lệnh chạy rất dài của tập lệnh Rails một tập tin. Tôi đã thử sử dụng chuyển hướng đến một tập tin nhưng nó chỉ được viết ở cuối tập lệnh. Điều đó đã không giúp tôi vì tôi có một vài lệnh tương tác trong kịch bản của mình. Sau đó, tôi chỉ sử dụng scriptvà sau đó chạy rails runnerphiên thảo luận nhưng nó không viết mọi thứ. Sau đó, tôi tìm thấy điều này script -c "runner command here" output_filevà nó đã lưu tất cả đầu ra như mong muốn. Đây là trên Ubuntu 14.04 LTS
Jignesh Gohel
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.