Bạn muốn chạy các tác vụ trên server Linux mà không lo bị gián đoạn khi ngắt kết nối? Hãy khám phá lệnh
screen
, một công cụ mạnh mẽ giúp bạn quản lý các phiên làm việc từ xa một cách hiệu quả. Bài viết này sẽ cung cấp hướng dẫn chi tiết và các ví dụ thực tế để bạn làm chủ lệnh
screen
.
screen
là một trình quản lý phiên dòng lệnh toàn màn hình cho phép bạn mở nhiều phiên thiết bị đầu cuối trong một cửa sổ duy nhất. Nó rất hữu ích để chạy các chương trình trong thời gian dài, đặc biệt là trên máy chủ từ xa, bởi vì bạn có thể ngắt kết nối và kết nối lại mà không làm gián đoạn các chương trình đang chạy. Tìm hiểu thêm về
Linux
.
This article will cover the 'screen' command in Linux.
Tại Sao Nên Sử Dụng Lệnh Screen?
Lệnh
screen
mang lại nhiều lợi ích cho người dùng Linux:
- Duy trì phiên làm việc: Tiếp tục công việc sau khi ngắt kết nối SSH mà không làm mất dữ liệu.
- Chạy lệnh nền: Khởi chạy các tác vụ dài hạn và để chúng chạy mà không cần giữ terminal mở.
- Quản lý nhiều phiên: Làm việc đồng thời trên nhiều phiên terminal trong cùng một cửa sổ.
- Chia sẻ phiên: Cộng tác với người khác bằng cách chia sẻ phiên làm việc.
Cài Đặt Lệnh Screen
Hầu hết các bản phân phối Linux đều có sẵn
screen
trong kho phần mềm của chúng. Để cài đặt, hãy sử dụng trình quản lý gói tương ứng:
Trên Debian/Ubuntu:
sudo apt update
sudo apt install screen
Trên CentOS/RHEL:
sudo yum install screen
Trên Fedora:
sudo dnf install screen
Các Lệnh Screen Cơ Bản
Khởi Tạo Phiên Mới
Để bắt đầu một phiên
screen
mới, chỉ cần gõ:
screen
Một terminal mới sẽ xuất hiện, nơi bạn có thể thực hiện các lệnh như bình thường.
Đặt Tên Cho Phiên
Bạn có thể đặt tên cho phiên để dễ dàng quản lý:
screen -S ten_phien
Ví dụ:
screen -S download_files
Ngắt Kết Nối Phiên
Để ngắt kết nối khỏi phiên mà không đóng nó, sử dụng tổ hợp phím:
Ctrl + a
sau đó nhấn
d
(detach).
Bạn sẽ trở lại terminal ban đầu.
Liệt Kê Các Phiên Đang Chạy
Để xem danh sách các phiên
screen
đang chạy, sử dụng lệnh:
screen -ls
Kết quả sẽ hiển thị danh sách các phiên, bao gồm ID và tên (nếu có).
Kết Nối Lại Phiên
Để kết nối lại một phiên đã ngắt kết nối, sử dụng lệnh:
screen -r
Nếu có nhiều phiên đang chạy, bạn cần chỉ định ID hoặc tên của phiên:
screen -r ten_phien
Hoặc:
screen -r id_phien
Đóng Phiên
Để đóng một phiên
screen
, đơn giản chỉ cần gõ
exit
trong terminal của phiên đó.
Các Phím Tắt Hữu Ích
screen
có nhiều phím tắt giúp bạn thao tác nhanh chóng:
-
Ctrl + a
sau đóc
: Tạo một cửa sổ mới. -
Ctrl + a
sau đón
: Chuyển sang cửa sổ tiếp theo. -
Ctrl + a
sau đóp
: Chuyển sang cửa sổ trước đó. -
Ctrl + a
sau đó"
: Hiển thị danh sách các cửa sổ để chọn. -
Ctrl + a
sau đók
: Đóng cửa sổ hiện tại. -
Ctrl + a
sau đóa
: Gửi Ctrl+a đến ứng dụng trong screen.
Ví Dụ Thực Tế
Chạy Một Tác Vụ Tải Xuống Lớn
Bạn muốn tải xuống một tập tin lớn từ server bằng
wget
. Để đảm bảo quá trình tải không bị gián đoạn, hãy sử dụng
screen
:
screen -S download
wget https://example.com/largefile.zip
Sau khi tải xuống bắt đầu, bạn có thể ngắt kết nối bằng
Ctrl + a
sau đó
d
. Tệp sẽ tiếp tục được tải xuống trong nền.
Quản Lý Nhiều Kết Nối SSH
Bạn cần kết nối đến nhiều server khác nhau để thực hiện các tác vụ. Sử dụng
screen
để quản lý các kết nối này dễ dàng hơn:
screen
Trong cửa sổ đầu tiên, kết nối đến server A bằng SSH.
Nhấn
Ctrl + a
sau đó
c
để tạo một cửa sổ mới.
Trong cửa sổ thứ hai, kết nối đến server B bằng SSH.
Bây giờ bạn có thể dễ dàng chuyển đổi giữa các kết nối bằng
Ctrl + a
sau đó
n
hoặc
Ctrl + a
sau đó
p
.
Làm thế nào để biết phiên screen của tôi có đang chạy không?
Sử dụng lệnh
screen -ls
để liệt kê tất cả các phiên screen đang chạy. Kết quả sẽ hiển thị trạng thái của từng phiên (ví dụ: Attached hoặc Detached).
Làm sao để chia sẻ phiên screen với người khác?
Để chia sẻ phiên screen, người dùng khác cần có quyền truy cập SSH vào cùng máy chủ. Sau đó, sử dụng lệnh
screen -x
hoặc
screen -r
để kết nối vào phiên hiện có. Lưu ý rằng chia sẻ phiên có thể gây ra các vấn đề bảo mật, hãy cẩn thận.
Có thể tùy chỉnh các phím tắt của screen không?
Có, bạn có thể tùy chỉnh các phím tắt của screen bằng cách chỉnh sửa file cấu hình
~/.screenrc
. Tìm hiểu thêm về cú pháp và các tùy chọn cấu hình trong tài liệu hướng dẫn của screen.
Screen có tương đương với tmux không?
Cả screen và tmux đều là các trình quản lý phiên terminal. Tmux thường được coi là hiện đại hơn và có nhiều tính năng hơn, nhưng screen vẫn là một lựa chọn tốt và có sẵn trên hầu hết các hệ thống Linux.
Làm sao để tự động chạy một lệnh khi khởi tạo screen?
Bạn có thể sử dụng tùy chọn
-dmS
để chạy một lệnh cụ thể trong screen khi khởi tạo. Ví dụ:
screen -dmS my_session bash -c 'your_command; bash'
sẽ tạo một phiên screen có tên 'my_session' và chạy 'your_command'.
Kết Luận
Lệnh
screen
là một công cụ vô cùng hữu ích cho bất kỳ ai làm việc với Linux, đặc biệt là trên các server từ xa. Với khả năng duy trì phiên làm việc, chạy lệnh nền và quản lý nhiều terminal,
screen
giúp bạn làm việc hiệu quả và linh hoạt hơn. Hãy thử nghiệm và khám phá các tính năng của
screen
để nâng cao năng suất làm việc của bạn!