Khi bạn nhấn Ctrl-C trên một tệp trong trình quản lý tệp, nội dung của tệp KHÔNG được sao chép vào bảng tạm. Một thử nghiệm đơn giản: chọn một tệp trong trình quản lý tệp, nhấn Ctrl-C, mở trình soạn thảo văn bản, nhấn Ctrl-V. Kết quả không phải là nội dung của tệp mà là đường dẫn đầy đủ của nó.
Trong thực tế, tình hình phức tạp hơn một chút vì bạn không thể làm ngược lại - sao chép danh sách tên tệp từ trình soạn thảo văn bản và dán chúng vào trình quản lý tệp.
Để sao chép một số dữ liệu từ dòng lệnh vào bảng tạm X11, bạn có thể sử dụng xclip
lệnh, có thể được cài đặt với
sudo apt-get install xclip
để sao chép nội dung của một tập tin hoặc đầu ra của một số lệnh vào clipboard sử dụng
cat ./myfile.txt|xclip -i
văn bản sau đó có thể được dán ở đâu đó bằng nút chuột giữa (đây được gọi là "bộ đệm lựa chọn chính").
Nếu bạn muốn sao chép dữ liệu vào lựa chọn "clipboard", để nó có thể được dán vào một ứng dụng bằng Ctrl-V, bạn có thể làm
cat ./myfile.txt|xclip -i -selection clipboard
Để có thể sao chép tệp từ dòng lệnh và dán chúng vào trình quản lý tệp, bạn cần chỉ định một "nguyên tử đích" chính xác để trình quản lý tệp nhận ra dữ liệu trong bảng tạm và cũng cung cấp dữ liệu ở định dạng chính xác - may mắn thay, trong trường hợp sao chép tệp trong trình quản lý tệp, nó chỉ là một danh sách các tên tệp tuyệt đối, mỗi tên trên một dòng mới, một thứ dễ tạo bằng cách sử dụng find
lệnh:
find ${PWD} -name "*.pdf"| xclip -i -selection clipboard -t text/uri-list
(ít nhất điều này hoạt động với tôi trong KDE). Bây giờ bạn có thể gói thành một tập lệnh nhỏ mà bạn có thể gọi, nói cb
:
#!/bin/sh
xclip -i -selection clipboard -t text/uri-list
sau đó bạn đặt nó vào ~/bin
, đặt bit thực thi trên nó và sử dụng nó như thế này:
find ${PWD} -name "*.txt"| cb
Đẹp phải không?