Sử Dụng Lệnh Screen Hiệu Quả Trong Linux

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!