Câu trả lời:
exit
nói với vỏ hiện tại của bạn để thoát. Vì (khi không có kết nối đường hầm, ví dụ X11, đang hoạt động) có nghĩa là quá trình mà sshd được gọi ở phía máy chủ đã thoát, SSH sau đó ngắt kết nối.
~.
là chuỗi thoát "ma thuật" mà SSH nắm bắt và ngắt kết nối ngay lập tức (bao gồm cả đường hầm X11).
Vì vậy, không, chúng không thể thay thế cho nhau. Nếu bạn muốn shell từ xa của bạn (hoặc bất kỳ chương trình nào đang chạy từ xa) thoát ra một cách duyên dáng, bạn nên kết thúc nó cho phù hợp.
Nó được mô tả tốt trong câu trả lời khác, nhưng tôi sẽ thêm một số nền tảng:
Kết nối SSH đơn ngày hôm nay có thể chứa một số phiên (shell, lệnh của bạn), kênh chuyển tiếp TCP và kênh chuyển tiếp X11 . Và có sự khác biệt:
Viết exit
(hoặc Ctrl+ D) xé kênh phiên , nhưng nếu có một số kênh X11 đang hoạt động (ví dụ gvim
để lại một số kết nối đến máy chủ X xử lý bảng tạm và tiêu đề , không được đóng bởi exit
). Viết exit
sẽ để ứng dụng X11 này chạy và thiết bị đầu cuối của bạn sẽ "treo" cho đến khi nó được đóng lại.
Viết ~.
nước mắt xuống toàn bộ kết nối . Bạn có thể nhận thấy nếu bạn chạy một số ứng dụng X11, nó cũng bị đóng khi bạn viết ~.
.