Bạn có bao giờ cảm thấy việc sao chép và dán bằng chuột trở nên mệt mỏi, đặc biệt khi bạn đã quen thuộc với terminal và bàn phím? Việc phải chuyển đổi giữa bàn phím và chuột có thể làm gián đoạn quy trình làm việc và giảm năng suất. Lệnh xclip
chính là giải pháp hữu hiệu giúp bạn duy trì thao tác hoàn toàn trên bàn phím khi muốn sao chép hoặc dán nội dung trong môi trường Linux, tối ưu hóa trải nghiệm sử dụng dòng lệnh của bạn.
xclip là gì và hoạt động như thế nào?
xclip
là một tiện ích dòng lệnh mạnh mẽ được sử dụng trên các hệ thống Linux với triển khai X11, cho phép tương tác trực tiếp với X selection (thường được gọi là clipboard hệ thống). Công cụ này cho phép bạn sao chép văn bản từ các tệp hoặc đầu vào tiêu chuẩn và làm cho nó khả dụng để dán trong các ứng dụng X khác. Ngược lại, xclip
cũng có thể in nội dung của X selection ra đầu ra tiêu chuẩn. Với nhiều tùy chọn và trường hợp sử dụng hữu ích, xclip
là một công cụ không thể thiếu cho những ai muốn tối ưu hóa công việc trên Linux terminal.
Mặc dù nghe có vẻ xclip
chỉ dành cho các hệ thống sử dụng trình quản lý cửa sổ X, nhưng thực tế không phải vậy. Bạn hoàn toàn có thể sử dụng xclip
trên các hệ thống Wayland hiện đại, chứng tỏ tính linh hoạt và khả năng tương thích rộng rãi của nó. Trong hướng dẫn chuyên sâu này, chúng ta sẽ cùng khám phá cách sử dụng lệnh xclip
để sao chép nội dung từ tệp, các tùy chọn hữu ích khác nhau và khi nào nên áp dụng xclip
để đạt hiệu quả cao nhất. Để minh họa, chúng tôi sẽ sử dụng Ubuntu 24.04 LTS, nhưng bạn vẫn có thể thực hiện theo trên các bản phân phối Linux khác với một vài điều chỉnh nhỏ trong các câu lệnh.
Tại sao xclip là công cụ không thể thiếu cho người dùng Terminal?
xclip
trở nên hữu ích nhất trong nhiều tình huống, đặc biệt khi bạn cần sao chép các tệp có dung lượng lớn hoặc đoạn văn bản dài. Việc sử dụng chuột để chọn từng dòng, từng đoạn có thể rất tẻ nhạt và tốn thời gian. Thậm chí, trong một số trình soạn thảo văn bản như nano
, các dòng dài thường bị cắt ngắn, khiến việc chọn và sao chép nội dung tệp trở nên khó khăn hơn. Trong những trường hợp như vậy, xclip
nổi lên như một công cụ tiện lợi, giúp bạn sao chép toàn bộ nội dung tệp chỉ bằng một lệnh duy nhất và dán nó vào bất cứ đâu bạn muốn, giảm thiểu thao tác chuột và tăng tốc độ làm việc đáng kể.
Hướng dẫn cài đặt và sử dụng lệnh xclip trên Linux
xclip
thường không được cài đặt sẵn trên các bản phân phối Linux phổ biến. Vì vậy, bước đầu tiên là bạn cần cài đặt nó. Bạn có thể cài đặt xclip
bằng trình quản lý gói của bản phân phối Linux bạn đang sử dụng hoặc tải mã nguồn từ kho lưu trữ GitHub chính thức của nó.
Cài đặt xclip trên các bản phân phối Linux phổ biến
Để cài đặt xclip
trên Debian, Ubuntu và các bản phân phối dựa trên chúng, bạn hãy chạy lệnh sau:
sudo apt install xclip
Giao diện cài đặt xclip trên Ubuntu qua lệnh apt package manager
Nếu bạn đang sử dụng Red Hat, Fedora hoặc các hệ thống tương tự, hãy dùng lệnh:
sudo dnf install xclip
Đối với người dùng Arch Linux và Manjaro, hãy sử dụng:
sudo pacman -S xclip
Để xác nhận quá trình cài đặt thành công, bạn có thể kiểm tra phiên bản của xclip
bằng cách chạy:
xclip -version
Sử dụng xclip để sao chép nội dung từ Input tiêu chuẩn hoặc file
Cách cơ bản nhất để sử dụng lệnh xclip
là sao chép nội dung từ đầu vào tiêu chuẩn (standard input) hoặc từ một tệp. Ví dụ, nếu bạn muốn sao chép nội dung của một tệp vào clipboard thay vì hiển thị nó trên terminal, bạn chỉ cần chuyển hướng đầu ra (pipe) đến lệnh xclip
. Để minh họa, chúng ta hãy tạo một tệp đơn giản.
Đầu tiên, tôi sẽ tạo một tệp kiểm tra (test.txt
) và thêm một số văn bản mẫu vào đó:
touch test.txt
echo 'Demonstrating the xclip command' > test.txt
Bây giờ, để đọc nội dung của tệp và hiển thị đầu ra trên dòng lệnh, chúng ta thường sử dụng lệnh cat
. Ở đây, chúng ta sẽ làm tương tự nhưng chuyển hướng đầu ra đến lệnh xclip
như sau:
cat test.txt | xclip
Sao chép nội dung file vào clipboard Linux bằng lệnh xclip
Kết quả của lệnh trên không hiển thị rõ ràng trên terminal vì không có đầu ra trực tiếp nào. Vậy làm thế nào để biết việc sao chép đã thành công? Để hiển thị nội dung clipboard hiện tại, bạn chỉ cần chạy:
xclip -o
Kiểm tra và hiển thị nội dung clipboard trong terminal với xclip -o
Nếu bạn không muốn sao chép nội dung từ một tệp cụ thể mà chỉ muốn đưa một đoạn văn bản bất kỳ vào clipboard, lệnh echo
sẽ rất hữu ích. Chúng ta sẽ chuyển hướng các lệnh theo cách tương tự như đã làm trước đó:
echo "Tôi đang nằm trong clipboard" | xclip
xclip -o
Thực hiện sao chép đoạn văn bản từ lệnh echo vào clipboard bằng xclip
Sao chép nội dung file trực tiếp không qua piping
Bạn cũng có thể sao chép nội dung từ một tệp mà không cần dùng đến thao tác chuyển hướng output (piping). Để làm điều đó, bạn chỉ cần truyền tên tệp làm đối số cho lệnh xclip
:
xclip test.txt
xclip -o
Có một sự khác biệt tinh tế giữa việc chỉ truyền tên tệp và sử dụng tùy chọn -sel clip
. Tùy chọn -sel clip
thực chất là dạng viết tắt của -selection clipboard
. Khi bạn sử dụng tùy chọn này, bạn sẽ tương tác với clipboard của hệ thống chứ không phải clipboard của cửa sổ X. Điều này có ý nghĩa gì? Nếu bạn sử dụng lệnh đầu tiên (chỉ truyền tên tệp), bạn có thể dán nội dung đã sao chép bằng nút chuột giữa. Trong trường hợp thứ hai (sử dụng -sel clip
), bạn cần dán nội dung từ menu ngữ cảnh chuột phải hoặc bằng cách nhấn Ctrl+Shift+v
.
xclip -sel clip test.txt
Minh họa sao chép nội dung file vào system clipboard bằng xclip với tùy chọn -sel clip
Các tùy chọn nâng cao với xclip
Khi sao chép nội dung từ một tệp, đôi khi bạn muốn bỏ qua ký tự xuống dòng. Để thực hiện điều đó, bạn có thể sử dụng tùy chọn -r
:
xclip -r test.txt
Sao chép văn bản từ file loại bỏ ký tự xuống dòng bằng xclip -r
Một tùy chọn thú vị khác là tùy chọn lặp (-loops
). Khi sử dụng tùy chọn này, bạn đang ra lệnh cho xclip
tải nội dung của tệp vào clipboard X11 và cho phép nó được dán một số lần cụ thể vào các ứng dụng như terminal hoặc trình soạn thảo văn bản đọc từ X selection trước khi thoát. Mặc định, số lần lặp là 0, cho phép xclip
xử lý vô số yêu cầu. Dưới đây là một ví dụ:
xclip -loops 5 -verbose test.txt
Ví dụ sử dụng tùy chọn -loops và -verbose của xclip để giới hạn số lần dán
Dán nội dung clipboard vào file mới
Sử dụng xclip
, bạn cũng có thể dán nội dung clipboard vào một tệp mới bằng cách sử dụng chuyển hướng (redirection).
touch test2.txt
xclip test.txt
xclip -o > test2.txt
cat test2.txt
Sao chép nội dung từ file này sang file khác trên Linux bằng xclip và chuyển hướng output
Sao chép kết quả từ các lệnh Linux khác
xclip
không chỉ sao chép nội dung từ các tệp văn bản mà còn có thể sao chép đầu ra từ các lệnh khác. Giả sử bạn muốn sao chép nội dung của thư mục hiện tại. Để làm điều đó, bạn chỉ cần chạy:
ls -la | xclip
xclip -o
Sao chép kết quả đầu ra của lệnh ls -la vào clipboard Linux bằng xclip
Các tiện ích xclip khác: xclip-copyfile, xclip-pastefile, xclip-cutfile
Ngoài tất cả những tính năng đã đề cập, xclip
còn đi kèm với một số tiện ích bổ sung như xclip-copyfile
, xclip-pastefile
và xclip-cutfile
. Bạn có thể sử dụng các lệnh này để sao chép và di chuyển tệp giữa các thư mục khác nhau, thậm chí giữa các máy tính. Bạn có thể tìm hiểu thêm về chúng bằng cách đọc trang hướng dẫn sử dụng (man page) hoặc sử dụng tùy chọn -h
.
xclip
là một công cụ tuyệt vời cho các công việc sao chép và dán nhanh chóng trên Linux terminal. Nếu bạn là người yêu thích và thường xuyên sử dụng dòng lệnh cũng như bàn phím cho hầu hết mọi tác vụ, xclip
sẽ giúp bạn tránh phải dùng chuột, từ đó tăng tốc quy trình làm việc và nâng cao hiệu suất đáng kể. Hãy khám phá và làm chủ xclip
cùng nhiều lệnh Linux hữu ích khác để tối ưu hóa trải nghiệm sử dụng hệ điều hành của bạn!