Hướng dẫn sử dụng lệnh Screen trong linux – GNU Screen

0
696

Sử dụng lệnh Screen trong linux – GNU Screen

Bạn có một máy trạm kết nối với một máy chủ linux. Bạn muốn về nhà, trong khi vẫn muốn giữ chương trình trên máy trạm tiếp tục chạy. Hoặc trong trường hợp xấu, khi máy trạm bị ngắt điện đột ngột hoặc bị trục trặc. Trong các trường hợp đó làm sao để giữ chương trình của bạn an toàn và tiếp tục làm việc?. Thực tế trong linux có nhiều cách để làm việc này, một trong những cách dùng đơn giản và khá là dễ sử dụng đó là sử dụng lệnh “nohup” mà mình đã giới thiệu trong bài trước.

su dung lenh Screen trong linux

Trong bài này tôi sẽ giới thiệu lệnh nâng cao khác, đó là lệnh “screen”. Về cơ bản lệnh screen cho phép bạn:
– Mở nhiều cửa sổ shell trong duy nhất một cửa sổ lệnh (terminal command).
– Giữ shell hoạt động trên máy chủ ngay khi cả kết nối từ máy trạm tới máy chủ bị ngắt (mất điện hoặc bị rớt mạng).
– Có thể ngắt và kết nối lại cửa sổ shell từ nhiều nơi khác nhau (từ máy cá nhân khác có kết nối với máy chủ).
– Có thể chạy ẩn shell với một chương trình mất nhiều thời gian.

Cài đặt screen:

Đầu tiên bạn nên kiểm tra screen đã được cài đặt trên hệ thống chưa. Với đa số các hệ điều hành linux như Redhat hoặc CentOS, screen thường được cài đặt trong thư mục: /usr/bin/screen. Hoặc sử dụng lệnh sau để tìm kiếm lệnh screen, nếu ra kết quả như dưới đây thì tức là đã cài đặt.

[root@server ~]# which screen
/usr/bin/screen

Nếu lệnh screen hiển thị như sau thì tức làchưa có trong hệ thống bạn có thể sử dụng yum (CentOS) hoặc atp-get (Ubuntu) để cài đặt:

[root@server ~]# which screen 
/usr/bin/which: no screen in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)

[root@server ~]# yum install screen
................
Installed: screen.x86_64 0:4.1.0-0.23.20120314git3c2946.el7_2
................
Complete!

Sử dụng screen:

Sau khi cài đặt screen thành công, bạn có thể khởi tạo một cửa sổ screen bên trong một terminal như sau:

[root@server ~]# screen

Nếu bạn muốn gắn tên cho cửa sổ lệnh screen để tiện quản lý, bạn sử dụng lệnh sau:

[root@server ~]# screen -S name

Command: “Ctrl-a”Khi này bạn sẽ có một cửa sổ mới bên trong cửa sổ terminal. Giao diện của hai cửa sổ này giống nhau, điểm khác nhau là screen cho phép bạn sử dụng một số lệnh từ các tổ hợp phím tắt.

Để sử dụng các phím lệnh trong screen trong linux, đầu tiên bạn nhấn tổ hợp phím “Ctrl-a”. Ví dụ, “Ctrl-a” sau đó bạn nhấn “?”. Screen sẽ hiển thị các lệnh mà bạn có thể sử dụng với screen.

Screen key bindings, page 1 of 4.                        
…
Command key:  ^A   Literal ^A:  a
…
break      ^B b          only       Q
clear      C             other      ^A
colon      :             pow_break  B
copy       ^[ [          pow_detach D
detach     ^D d          prev       ^P p ^?
digraph    ^V            readbuf    <
displays   *             redisplay  ^L l
fit        F             removebuf  =
flow       ^F f          reset      Z
focus      ^I            screen     ^C c
hardcopy   h             select     '
help       ?             silence    _

Bạn có thể thay đổi các phím lệnh mặc định của screen bằng cách sử dụng file “.screenrc” tuỳ theo thói quen của bạn. Tuy nhiên với mình các phím tắt lệnh trên là khá tiện lợi để sử dụng.

Thoát khỏi screen:

Command: “Ctrl-a” “d”

Để thoát khỏi lệnh screen, bạn sử dụng tổ hợp phím sau:“Ctrl-a” “d”. Đây là ưu điểm lớn của screen, bạn có thể thoát ra khỏi screen và truy cập lại ở bất cứ nơi đâu, trong khi các lệnh trong screen vẫn tiếp tục hoạt động trên máy chủ. Trong trường hợp mất kết nối đột ngột, screen tự động thoát để giữ chương trình của bạn vẫn an toàn chạy trên máy chủ.

Liệt kê screen:

Sau khi thoát khỏi screen, để muốn biết có bao nhiêu cửa sổ screen đang chạy. Từ cửa sổ terminal bạn sử dụng lệnh sau:

[root@server ~]# screen -ls                      
There is a screen on:
31917.name1      (Detached)
31844.name2      (Detached)
2 Socket in /var/run/screen/S-flex

Truy cập screen:
Để truy cập lại screen, trong trường hợp đơn giản, bạn chỉ sử dụng một cửa sổ screen, thì bạn có thể sử dụng lệnh sau:

[root@server ~]# screen -r

Trong trường hợp có nhiều cửa sổ lệnh, bạn có thể sử dụng lệnh sau:

[root@server ~]# screen -x name1

Ngắt screen:
Có hai cách để bạn tắt screen, nếu bạn đang ở trong screen bạn có thể sử dụng tổ hợp phím “Ctrl-a” “k”. Còn trong trường hợp bạn đang ở ngoài screen, thì trong cửa sổ terminal bạn sử dụng lệnh:

[root@server ~]# screen -S name1 -X quit

Đó là các lệnh và thủ tục cơ bản để sử dụng lệnh screen trong linux, mình nghĩ như vậy là quá đủ để các bạn sử dụng và thao tác.

 

Bài viết có sự tham khảo tại nguyentuanhung Blog. Chúc các bạn thành công với bài hướng dẫn tại tuanvd.com này.

BÌNH LUẬN

Please enter your comment!
Please enter your name here