Termux - Bắt đầu cho người mới


Termux là một trình giả lập thiết bị đầu cuối Android và môi trường Linux trên Android, được tăng cường bằng cách tận dụng một lượng lớn bộ tiện ích dòng lệnh đã được chuyển sang hệ điều hành Android. Mục đích chính là mang lại trải nghiệm giao diện dòng lệnh như trên các hệ thống Linux mà không yêu cầu quyền truy cập root đặc biệt hoặc những thiết lập nào khác.

Làm thế nào Termux hoạt động?

Terminal emulator (Trình mô phỏng đầu cuối) về cơ bản là ứng dụng chạy command line bằng cách sử dụng hệ thống execve(2) và chuyển hướng đầu vào, đầu ra, thông báo lỗi lên màn hình. Nhiều trình mô phỏng dầu cuối có khả năng chạy trên Android thường làm việc với rất ít bộ tiện ích ứng dụng đi kèm và thường thì được cung cấp bởi chính hệ điều hành hoặc yêu cầu quyền root như Magisk. Và các nhà phát triển Termux đã quyết định đi xa hơn bằng cách chuyển từ một phần mềm Android thông thường thành khả dụng ở dạng hệ thống GNU/Linux.

Termux không phải là một máy ảo và cũng chưa bao giờ là một trong bất kì thể loại chương trình mô phỏng hay giả lập nào. Tất cả các gói ứng dụng đi kèm với Termux đều được biên dịch chéo (cross-compile) với Android NDK để giúp chúng có khả năng chạy trên Android.

Và tất nhiên bởi vì Android không cung cấp toàn bộ quyền truy cập file của nó nên do đó Termux không thể cài đặt ứng dụng đi kèm của nó vào các thư mục thuộc cây thư mục như một hệ thống Linux bình thường như /bin, /etc, /usr hoặc /var. Thay vào đó,tất cả tập tin của Termux đều được đặt vào trong thư mục riêng của mỗi ứng dụng khi chúng được cài đặt trên Android, và đối với Termux nó có địa chỉ tại:

/data/data/com.termux/files/usr

Và các ông hãy gọi thư mục trên là "prefix". Và biến môi trường "$PREFIX" cũng thường xuất hiện trong giao diện làm việc shell của Termux. 

Lưu ý rằng thư mục này không thể thay đổi hoặc di chuyển vào thẻ nhớ SD bởi vì:

  • Đường dẫn đến Prefix đã được mã hóa cứng vào tất cả các tệp nhị phân.
  • File hệ thống phải hỗ trợ quyền cho unix và một số tệp đặt biệt như symlinks hoặc sockets

Ngoài hệ thống tập tin prefix, termux còn hỗ trợ một thư mục khác nơi chứa các tập tin nữa đó là "home" ("$HOME") và được khả dụng tại địa chỉ:

/data/data/com.termux/files/home
Tuy nhiên, hệ thống tệp không phải là sự khác biệt duy nhất so với linux, để biết thêm thông tin, đọc bài "Sự khác biệt giữa Termux và Linux".

Tôi có thể sử dụng Termux vào những việc gì?

Dưới đây là một số ví dụ phổ biến về sử dụng Termux
  • Xử lí dữ liệu bằng Python
  • Một môi trường cho phát triển
  • Tải xuống và quản lí file , pages bằng các công cụ được thiết lập tự động theo thời gian
  • Học cách sử dụng cơ bản môi trường dòng lệnh
  • Làm máy khách SSH
  • Đồng bộ và sao lưu dữ liệu của các ông
Và tất nhiên là việc sử dụng termux không chỉ giới hạn như ở trên. Termux có hơn 1000 gói ứng dụng khác nhau trong kho lưu trữ và thậm chí các ông cũng có thể tự viết và biên dịch cho mình một công cụ chạy trên Termux bằng cách sử dụng một số ngôn ngữ lập trình như  C, C++, Go, Rust. Và một số ngôn ngữ có sẵn như NodeJS, Python, Ruby.

Termux có tương tự như một bản phân phối Linux?

Termux cung cấp một hệ sinh thái tương tự như các bản phân phối Termux. Tuy nhiên hệ điều hành cơ bản vẫn là Android và Termux chỉ là một ứng dụng đầu cuối thông thường. 
Dưới đây là một số khác biệt:
  • Các gói nhị phân chạy trên Linux sẽ không thể thực thi trên Termux do không tương thích với (Application Binary Interface).
  • Môi trường đơn nhiệm người dùng
  • Hệ thống tập tin gốc được lưu dưới dạng dữ liệu của một ứng dụng thông thường
Nhận thêm nhiều thông tin hơn tại Sự khác biệt giữa Termux và Linux

Một số hướng dẫn cơ bản và nâng cao

Lệnh thực thi
Kịch bản Shell
Shell scripting là một phần thiết yếu của việc sử dụng thiết bị đầu cuối. Dưới đây là danh sách các hướng dẫn về kịch bản shell (Bash):
Dành cho các ông muốn tìm hiểu nâng cao 

Những liên kết hữu ích khác: