Thứ Năm, 28 tháng 5, 2020

Cách sử dụng tmux trên Linux (và tại sao nó lại tốt hơn màn hình)


fatmawati achmad zaenuri / Shutterstock

Linux tmux lệnh là một bộ ghép kênh đầu cuối, như screen. Những người ủng hộ nó rất nhiều và có tiếng nói, vì vậy chúng tôi quyết định so sánh hai. Là tmux thực sự tốt hơn, hay đó chỉ là một trường hợp thích những gì bạn biết?

tmux so với màn hình


Cả hai tmux và GNU screen lệnh là bộ ghép kênh đầu cuối. Chúng cho phép bạn có nhiều cửa sổ trong một cửa sổ đầu cuối duy nhất và nhảy qua lại giữa chúng. Một cửa sổ có thể được chia thành các ô, mỗi cửa sổ cung cấp cho bạn một dòng lệnh độc lập.

Bạn cũng có thể tách phiên và nó trở thành một thực thể không đầu đang chạy trong nền Bối cảnh bạn thậm chí có thể đóng cửa sổ đầu cuối đã khởi chạy nó. Khi bạn đã sẵn sàng, bạn có thể mở một cửa sổ terminal mới và gắn lại phiên vẫn đang chạy. Bạn cũng có thể làm điều này qua kết nối SSH.

Bạn có thể tách phiên trên một máy tính, về nhà và đăng nhập vào máy tính từ xa. Khi được kết nối lại, bạn có thể gắn lại phiên nền và sử dụng lại tương tác.

Lệnh gì trên màn hình?


Các screen lệnh cũng là một bộ ghép kênh đầu cuối và nó có rất nhiều tùy chọn. Để biết thông tin chi tiết về mọi thứ bạn có thể làm với nó, hãy xem bài viết chuyên sâu của chúng tôi.

Lần này, chúng tôi sẽ tập trung vào tmux. Khi chúng tôi đi cùng, chúng tôi sẽ đề cập đến cách screen xử lý các tính năng hoặc chức năng tương tự.

Chỉ có một điều làm chúng tôi khó chịu về screen. Chúng tôi sẽ bao gồm điều đó khi chúng tôi nhận được nó, và xem nếu tmux giá vé nào tốt hơn

LIÊN QUAN: Cách sử dụng lệnh màn hình của Linux

Cài đặt tmux


Trong khi screen thường được cài đặt theo mặc định trên các bản phân phối Linux phổ biến, tmux isn Quảng. Để cài đặt tmux trên Ubuntu, gõ như sau:
sudo apt-get install tmux

sudo apt-get cài đặt tmux trong cửa sổ terminal.

Trên Manjaro bạn có thể sử dụng pacman:
sudo pacman -Sy tmux

sudo pacman -Sy tmux trong cửa sổ terminal.

Trên Fedora 31, tmux đã được cài đặt.

Bắt đầu một phiên tmux


Để bắt đầu tmux, chỉ cần gõ nó và nhấn Enter:
tmux

tmux trong một cửa sổ đầu cuối.

Cửa sổ terminal sẽ hiển thị một thanh trạng thái khi bạn trong một tmux phiên.

Một phiên tmux mới trong một cửa sổ đầu cuối.

Phía bên phải của thanh trạng thái hiển thị tên máy chủ và thời gian và ngày. Phía bên trái hiển thị các thông tin liên quan đến phiên sau:
  • (0): Đây là tên phiên. Theo mặc định, họ đã đánh số thứ tự, bắt đầu bằng số không. Chúng tôi trình bày cách bạn có thể đặt tên có ý nghĩa cho các phiên bên dưới.

  • 0: bash *: Số 0 chỉ ra đây là cửa sổ đầu tiên trong phiên này. Quá trình duy nhất đang chạy trong phiên này là bash. Nếu bạn chạy một chương trình, tên của nó sẽ xuất hiện ở đây. Dấu hoa thị (*) có nghĩa đây là cửa sổ mà bạn đang nhìn. Mỗi khi bạn tạo một cửa sổ mới trong một tmux phiên, số cửa sổ của nó và tên của chương trình đang chạy trong nó được thêm vào thanh trạng thái.


Các screen lệnh doesn không cung cấp cho bạn một thanh trạng thái. Bạn phải bay mù và dựa vào trí thông minh của mình để biết những gì đang diễn ra, điều này cần một chút luyện tập.

Về mặt tích cực, bạn thắng won mất một dòng bất động sản cửa sổ thiết bị đầu cuối. Tất nhiên, bạn thường mở rộng cửa sổ đầu cuối của mình để sử dụng bộ ghép kênh đầu cuối đáng giá. Trong trường hợp đó, việc mất một dòng cho thanh trạng thái không phải là vấn đề. Chúng tôi đã để lại hình ảnh của các cửa sổ đầu cuối ở đây với kích thước mặc định để bạn có thể xem thông tin.

Các lệnh được trao cho tmux sử dụng tổ hợp phím và có hai phần này. Đầu tiên, bạn nhấn Ctrl + B để nhận tmuxChú ý. Sau đó, bạn nhanh chóng nhấn phím tiếp theo để gửi lệnh đếntmux. Các lệnh được đưa ra bằng cách nhấn chữ cái, số, dấu chấm câu hoặc phím mũi tên.

Nó giống nhau trong screen, ngoại trừ bạn nhấn Ctrl + A để thu hút sự chú ý của nó.

Để đóng cửa sổ, nhấn Ctrl + B, sau đó nhấn nhanh X. Thanh trạng thái chuyển sang màu hổ phách. Sau đó, bạn nhắc nhở để xác nhận rằng bạn muốn giết cửa sổ.

Nhấn Y để đóng cửa sổ hoặc N nếu bạn đổi ý. Bạn không cần phải nhấn Enter sau đó; Y hoặc N là đủ để đăng ký lựa chọn của bạn.

phiên tmux với thanh trạng thái màu hổ phách và đóng cửa sổ này có hoặc không có dấu nhắc, trong cửa sổ đầu cuối.

Nếu bạn nhấn Y, cửa sổ sẽ đóng lại. Bởi vì đây là cửa sổ duy nhất trong phiên này, phiên bị chấm dứt.

Dấu nhắc lệnh sau khi đóng phiên tmux trong cửa sổ terminal

Các tmux phiên bị đóng và bạn đã quay trở lại dòng lệnh mà bạn đã khởi chạy tmux. Bạn có thể nhìn thấy những người khác (đã thoát) trong cửa sổ terminal.

Điều này có vẻ giống như nó nói rõ ràng, nhưng đó là một xác nhận mà bạn đã đóng phiên và không để nó tách ra và chạy. Chúng tôi sẽ thảo luận về các phiên tách ra dưới đây.

Bắt đầu một phiên tmux được đặt tên


Nếu bạn thường xuyên bắt đầu nhiều tmux các phiên, bạn sẽ nhanh chóng đánh giá cao chức năng của việc đặt cho mỗi người một cái tên có ý nghĩa. Bạn có thể đặt tên phiên trong screencũng vậy, nhưng họ không hiển thị ở bất cứ đâu trong cửa sổ phiên.

Để bắt đầu tmux với tên phiên, sử dụng new (phiên mới) lệnh và lệnh -s (tên phiên) tùy chọn. Phiên của chúng tôi sẽ có tên là geek-1, nên chúng tôi gõ như sau:
tmux new -s geek-1

tmux new -s geek-1 trong cửa sổ terminal.

Khi mà tmux tải phiên, trên geek-1, được hiển thị dưới dạng mục đầu tiên trên thanh trạng thái, ở phía xa bên trái.

Một phiên tmux có tên "geek-1" ở bên trái của thanh trạng thái.

Thêm Windows nữa


Để tạo một cửa sổ mới trong phiên hiện tại, nhấn Ctrl + B, sau đó C. Bạn sẽ nhận được một cửa sổ đầu cuối trống trong phiên hiện tại. Vì vậy, chúng tôi sẽ có một cái gì đó chạy trong cửa sổ mới này, hãy để bắt đầu dmesg lệnh với -w (theo) tùy chọn:
dmesg -w

dmesg -w trong một cửa sổ đầu cuối.

Bây giờ chúng tôi có hai cửa sổ trong phiên; một cái đang chạy top, và điều khác dmesg. Tuy nhiên, chúng ta chỉ có thể nhìn thấy từng cái một (nhiều hơn về điều đó trong một khoảnh khắc).

dmesg chạy trong cửa sổ hai phiên tmux, trong cửa sổ terminal.

Hãy nhìn vào phía bên trái của thanh trạng thái. Chúng tôi vẫn còn trong thế giới geek-1 tmux phiên. Trong cửa sổ số 0, đỉnh đang chạy và trong cửa sổ một, dmesg đang chạy. Dấu hoa thị (*) sau dmesg cho chúng tôi biết cửa sổ nào có thể nhìn thấy.

Để nhảy giữa các cửa sổ, nhấn Ctrl + B, và sau đó một trong các phím sau:
  • N: Hiển thị cửa sổ tiếp theo.

  • P: Hiển thị cửa sổ trước.

  • 0 đến 9: Hiển thị một cửa sổ được đánh số từ 0 đến 9.


Bạn cũng có thể chọn một cửa sổ từ danh sách. Nếu bạn nhấn Ctrl + B, rồi W, một danh sách các cửa sổ sẽ xuất hiện.

danh sách cửa sổ tmux hiển thị trong một cửa sổ đầu cuối.

Để di chuyển thanh tô sáng màu hổ phách, nhấn Mũi tên Lên hoặc Xuống, Trang chủ hoặc Kết thúc. Phần dưới cùng của màn hình hiển thị bản xem trước của nội dung trong cửa sổ được tô sáng.

Nhấn Enter để di chuyển đến cửa sổ được tô sáng hoặc Esc để rời khỏi danh sách cửa sổ mà không cần chuyển đổi.

Tách rời và đính kèm phiên


Nếu bạn nhấn Ctrl + B, rồi D, bạn sẽ tách phiên. Nó sẽ tiếp tục chạy trong nền, nhưng bạn đã thắng có thể nhìn thấy hoặc tương tác với nó.

Chúng tôi bắt đầu top trong phiên để chúng tôi có một quy trình chạy để chứng minh với. Sau đó, chúng tôi nhấn Ctrl + B và sau đó D. Phiên biến mất và trở thành phiên nền.

tin nhắn tmux sau khi tách phiên, trong cửa sổ đầu cuối.

Chúng tôi trở lại cửa sổ thiết bị đầu cuối ban đầu. Có một tin nhắn từ tmux nói với chúng tôi phiên là tách ra. Nó cũng nhắc nhở chúng ta về tên mà chúng ta đã đặt cho phiên. Điều này rất hữu ích vì đó là những gì chúng ta sử dụng để đính kèm vào một phiên nền, và sau đó khôi phục nó thành một phiên tương tác.

Để đính kèm một phiên tách ra, chúng tôi sẽ sử dụng phần tự giải thích attach-session lệnh với -t (phiên mục tiêu) tùy chọn. Chúng tôi cũng sẽ cung cấp tên của phiên chúng tôi muốn nhớ lại.

Chúng tôi gõ như sau:
tmux attach-session -t geek-1

tmux Đính kèm phiên -t geek-1 trong cửa sổ đầu cuối.

Phiên của chúng tôi trở lại và trở thành một phiên tương tác rõ ràng một lần nữa.

Một phiên tmux được khôi phục trong một cửa sổ đầu cuối.

Bất kỳ quy trình chạy dài hoặc liên tục nào bạn đã khởi chạy trước khi tách phiên vẫn sẽ chạy trong nền (trừ khi chúng kết thúc) khi bạn đính kèm phiên.

screen có thể làm điều này, nhưng không phải bằng trực giác.

Xử lý nhiều phiên


Hãy để mở một cửa sổ đầu cuối khác và bắt đầu một cửa sổ mới tmux phiên gọi là geek-2
tmux new -s geek-2

tmux new -s geek-2 trong cửa sổ terminal.

Trong phiên đó, chúng tôi sẽ bắt đầu dmesg:
dmesg -w

dmesg -w trong một cửa sổ đầu cuối.

Bây giờ, chúng tôi đã có được bản gốc geek-1 của chúng tôi tmux phiên và một phiên bản mới có tên là geek-2.

phiên tmux geek-2 chạy dmesg trong cửa sổ terminal.

Thanh trạng thái cho chúng ta thấy phiên này có tên là geek-2, và nó có một cửa sổ đang chạy dmesg.

Nếu chúng ta nhấn Ctrl + B, và sau đó D, chúng ta sẽ tách phiên đó.

Tách phiên tmux geek-2 trong một widnow thiết bị đầu cuối.

Quay trở lại trong thế giới geek-1 tmux phiên, chúng tôi nhấn Ctrl + B, và sau đó S để xem danh sách tmux phiên.

danh sách các phiên tmux được hiển thị trong cửa sổ terminal.

Để rõ ràng, đây là một danh sách các phiên. Màn hình tương tự mà chúng ta đã thấy trước đó là một danh sách các cửa sổ trong một phiên duy nhất.

Bạn có thể di chuyển thanh tô sáng màu hổ phách bằng cách nhấn Mũi tên Lên và Xuống, Trang chủ và Kết thúc. Phần dưới cùng hiển thị bản xem trước của nội dung trong phiên được tô sáng.

danh sách các phiên tmux được hiển thị trong cửa sổ terminal.

Nếu bạn nhấn Mũi tên Phải, các cửa sổ cho phiên được tô sáng sẽ được hiển thị.

danh sách phiên tmux với chi tiết cửa sổ được hiển thị trong cửa sổ đầu cuối.

Nhấn Enter để di chuyển đến phiên hoặc cửa sổ được tô sáng hoặc Esc để rời khỏi danh sách phiên mà không thay đổi phiên. Nếu bạn chọn một phiên mới, phiên hiện tại của bạn sẽ tách ra và phiên bạn đã chọn được đính kèm.

Chúng tôi đã tách phiên làm việc của geek-2 trước khi chúng tôi làm điều này. Tuy nhiên, bạn có thể làm điều này với các phiên vẫn được gắn vào cửa sổ đầu cuối ban đầu của chúng. Khi bạn thực hiện, mọi thay đổi màn hình sẽ xuất hiện đồng thời ở cả hai tmux phiên.

Các screen lệnh cũng có thể làm điều này thông qua một bộ lệnh tương tự.

Làm việc với các ô cửa sổ


Nếu bạn nhấn Ctrl + B, sau đó tăng gấp đôi dấu ngoặc kép (kiểu Tối), bạn chia cửa sổ theo chiều ngang thành hai tấm.

phiên tmux với các tấm ngang trong cửa sổ đầu cuối.

Điều này chỉ ảnh hưởng đến cửa sổ hiện tại; những người khác trong phiên thắng won được thay đổi. Chúng tôi đã sử dụng tmux ls lệnh trong khung trên cùng để liệt kê các cửa sổ trong phiên này. Có hai và dòng trạng thái cho chúng ta biết chúng ta ở cửa sổ một. Nếu chúng ta nhảy qua cửa sổ số 0 bằng cách nhấn Ctrl + B, rồi 0 (không), chúng ta sẽ thấy nó giống như khi chúng ta rời khỏi nó.

Đây là hai dòng lệnh độc lập, không phải hai khung nhìn trong một cửa sổ; chúng là vỏ riêng biệt và riêng biệt. Chúng ta có thể hiển thị điều này bằng cách chạy một lệnh khác nhau trong mỗi khung.

Chúng tôi gõ như sau:

uname -a

ls -hl

Để di chuyển từ khung này sang khung khác, nhấn Ctrl + B, sau đó chọn Mũi tên Lên, Xuống, Trái hoặc Phải.

Hai lệnh khác nhau trong hai bảng trong phiên tmux trong góa phụ cuối.

Nếu bạn nhấn Ctrl + B, và sau đó là dấu phần trăm (%) nó tách khung hiện tại theo chiều dọc.

phiên tmux với các tấm chia dọc và ngang trong cửa sổ đầu cuối.

Nhấn Ctrl + B, sau đó Q để thực hiện tmux chớp nhoáng số lượng của mỗi khung.

tmux hiển thị số khung trong cửa sổ terminal.

Những số này được sử dụng trong lời nhắc và tin nhắn từ tmux. Nhấn Ctrl + B, rồi X để đóng khung hiện tại. Thanh trạng thái thay đổi thành màu hổ phách và bạn được nhắc xác nhận rằng bạn muốn đóng số khung đó. Nhấn Y để loại bỏ khung hoặc N để rời khỏi mọi thứ.

tmux nhắc xóa một khung trong cửa sổ terminal.

Nếu bạn nhấn Y, khung sẽ bị xóa.

tmux với hai tấm ngang trong cửa sổ đầu cuối.

Các screen lệnh cũng có panes, nhưng, một lần nữa, chúng lại ít trực quan hơn để sử dụng. Điều làm chúng tôi khó chịu screen là nếu bạn tách phiên bằng panes, chúng sẽ biến mất khi bạn gắn lại phiên đó. Điều này trở nên cũ rất nhanh chóng.

Một bảng cheat Ctrl + B


Chúng tôi đã bao gồm một bảng cheat của các lệnh khác nhau mà bạn có thể sử dụng trong tmux phía dưới.

Lệnh phiên


  • S: Liệt kê các phiên.

  • $: Đổi tên phiên hiện tại.

  • Đ: Tháo phiên hiện tại.

  • Ctrl + B, sau đó ?: Hiển thị trang Trợ giúp trong tmux.

Lệnh cửa sổ


  • C: Tạo một cửa sổ mới.

  • ,: Đổi tên cửa sổ hiện tại.

  • W: Liệt kê các cửa sổ.

  • N: Di chuyển đến cửa sổ tiếp theo.

  • P: Di chuyển đến cửa sổ trước.

  • 0 đến 9: Di chuyển đến số cửa sổ được chỉ định.

Lệnh Pane


  • %: Tạo sự phân chia ngang.

  • Sầu: Tạo sự phân chia theo chiều dọc.

  • H hoặc Mũi tên trái: Di chuyển đến khung bên trái.

  • Tôi hoặc Mũi tên phải: Di chuyển đến khung bên phải.

  • Mũi tên J hoặc Xuống: Di chuyển đến khung bên dưới.

  • Mũi tên K hoặc Up: Di chuyển đến khung ở trên.

  • Q: Hiển thị ngắn gọn số khung.

  • Ôi Di chuyển qua các tấm theo thứ tự. Mỗi lần nhấn sẽ đưa bạn tới lần tiếp theo, cho đến khi bạn lặp qua tất cả chúng.

  • }: Hoán đổi vị trí của khung hiện tại với tiếp theo.

  • {: Hoán đổi vị trí của khung hiện tại với trước đó.

  • X: Đóng khung hiện tại.

Họ so sánh như thế nào


Về chức năng, screentmux cả hai thực hiện tương tự và cung cấp các tính năng chính giống nhau. Nó khác với cách bạn truy cập các tính năng khác biệt rõ rệt. tmux cung cấp các cách mượt mà, thoải mái hơn để có được các chức năng khác nhau. Tuy nhiên, đó không phải là sự khác biệt duy nhất.

Khả năng đổi tên phiên và cửa sổ trong tmux là gọn gàng, và thực tế là nó giữ lại các bảng khi bạn gắn lại một phiên là một thay đổi trò chơi.

screenmặt khác, mất hoàn toàn panes khi bạn tách ra và gắn lại một phiên. Điều này gần như đủ khó chịu để làm cho bạn tránh tách ra ngay từ đầu.

Có rất nhiều thứ nữa tmux, bao gồm khả năng kịch bản vô cùng linh hoạt của nó. Bạn nợ nó để kiểm tra xem nó ra.



Link: https://toiyeuit.com/cach-su-dung-tmux-tren-linux-va-tai-sao-no-lai-tot-hon-man-hinh/

Không có nhận xét nào:

Đăng nhận xét