Giới thiệu
Trong lab này, bạn sẽ học cách sử dụng lệnh screen
mạnh mẽ trong Linux. Lệnh screen
cho phép bạn tạo và quản lý nhiều phiên terminal, điều này đặc biệt hữu ích cho các tiến trình chạy dài, các phiên từ xa hoặc khi bạn cần chuyển đổi giữa các tác vụ khác nhau mà không làm mất công việc của mình. Bạn sẽ bắt đầu bằng cách cài đặt gói screen
, sau đó tạo và điều hướng giữa nhiều phiên screen. Cuối cùng, bạn sẽ học cách tách và gắn lại vào các phiên screen, đảm bảo công việc của bạn được bảo toàn ngay cả khi bạn cần ngắt kết nối khỏi terminal.
Giới thiệu về lệnh screen
Trong bước này, bạn sẽ tìm hiểu về lệnh screen
, một công cụ mạnh mẽ cho phép bạn tạo và quản lý nhiều phiên terminal. Lệnh screen
đặc biệt hữu ích cho các tiến trình chạy dài, các phiên từ xa hoặc khi bạn cần chuyển đổi giữa các tác vụ khác nhau mà không làm mất công việc của mình.
Đầu tiên, hãy cài đặt gói screen
trên container Ubuntu 22.04 Docker của chúng ta:
sudo apt-get update
sudo apt-get install -y screen
Bây giờ, hãy tạo một phiên screen mới:
screen
Điều này sẽ bắt đầu một phiên screen mới và bạn sẽ thấy một thông báo cho biết rằng bạn hiện đang ở trong một phiên screen.
Để liệt kê tất cả các phiên screen hiện đang chạy, hãy sử dụng lệnh sau:
screen -ls
Ví dụ về đầu ra:
There is a screen on:
12345.pts-0.labex (Detached)
1 Socket in /run/screen/S-labex.
Để tách khỏi phiên screen hiện tại, hãy nhấn Ctrl+A
sau đó là d
. Điều này sẽ để phiên đang chạy ở chế độ nền.
Để gắn lại vào phiên screen, hãy sử dụng lệnh sau:
screen -r
Điều này sẽ kết nối lại bạn với phiên screen đang chạy.
Tạo và điều hướng các phiên Screen
Trong bước này, bạn sẽ học cách tạo và điều hướng nhiều phiên screen, đây là một tính năng mạnh mẽ của lệnh screen
.
Đầu tiên, hãy tạo một phiên screen mới với một tên tùy chỉnh:
screen -S mysession
Điều này sẽ tạo một phiên screen mới có tên là "mysession".
Bây giờ, hãy tạo một phiên screen khác:
screen -S othersession
Bây giờ bạn có hai phiên screen đang chạy.
Để liệt kê tất cả các phiên screen hiện tại, hãy sử dụng lệnh sau:
screen -ls
Ví dụ về đầu ra:
There are screens on:
12345.mysession (Detached)
67890.othersession (Detached)
2 Sockets in /run/screen/S-labex.
Để chuyển đổi giữa các phiên screen, hãy sử dụng các lệnh sau:
## Switch to the "mysession" screen session
screen -r mysession
## Switch to the "othersession" screen session
screen -r othersession
Khi bạn ở bên trong một phiên screen, bạn có thể sử dụng các phím tắt sau để điều hướng:
Ctrl+A c
: Tạo một cửa sổ screen mớiCtrl+A n
: Chuyển sang cửa sổ screen tiếp theoCtrl+A p
: Chuyển sang cửa sổ screen trướcCtrl+A "
: Liệt kê tất cả các cửa sổ screen
Hãy thử tạo và chuyển đổi giữa nhiều phiên screen để cảm nhận cách nó hoạt động.
Tách và gắn lại các phiên Screen
Trong bước này, bạn sẽ học cách tách khỏi một phiên screen và sau đó gắn lại vào nó sau.
Đầu tiên, hãy tạo một phiên screen mới:
screen -S myapp
Bây giờ, hãy bắt đầu một tiến trình chạy dài bên trong phiên screen, chẳng hạn như chạy một web server:
python3 -m http.server 8000
Để tách khỏi phiên screen, hãy nhấn Ctrl+A
sau đó là d
. Điều này sẽ để tiến trình đang chạy ở chế độ nền.
Bạn có thể xác minh rằng phiên screen vẫn đang chạy bằng lệnh screen -ls
:
screen -ls
Ví dụ về đầu ra:
There is a screen on:
12345.myapp (Detached)
1 Socket in /run/screen/S-labex.
Để gắn lại vào phiên screen, hãy sử dụng lệnh sau:
screen -r myapp
Điều này sẽ kết nối lại bạn với phiên screen "myapp" và bạn sẽ thấy web server vẫn đang chạy.
Để thoát khỏi phiên screen, hãy nhấn Ctrl+C
để dừng web server, sau đó nhấn Ctrl+D
để thoát khỏi phiên screen.
Tóm tắt
Trong lab này, bạn đã học về lệnh screen
mạnh mẽ, cho phép bạn tạo và quản lý nhiều phiên terminal. Bạn đã cài đặt gói screen
và tạo một phiên screen mới, tách khỏi nó và sau đó gắn lại vào phiên đang chạy. Ngoài ra, bạn đã học cách tạo và điều hướng giữa nhiều phiên screen, điều này đặc biệt hữu ích cho các tiến trình chạy dài hoặc khi bạn cần chuyển đổi giữa các tác vụ khác nhau mà không làm mất công việc của mình.
Bạn cũng đã khám phá cách liệt kê tất cả các phiên screen hiện đang chạy và chuyển đổi giữa chúng bằng lệnh screen -r
. Những kỹ năng này sẽ giúp bạn làm việc hiệu quả và năng suất hơn khi làm việc trong môi trường terminal.