安卓上最好用的Linux终端仿真软件:Termux 从入门到精通深度剖析

前言

用过Linux的都知道,Linux里面最好用的就是terminal(终端),他提供了对Linux的所有操作,可以轻松的对文件,权限等进行管理,在安卓下也是一样,只不过我们平时在使用安卓的时候接触不到命令行,全部都是图形化操作,如果都像这样依赖可视化软件的话,那么很难有更高的自由度去操作手机。

引入

前面说过光靠图形化有时候很难自定义自己想要的操作,而termux就是一款能够仿真Linux终端的软件,它使用了当前安卓机的Linux环境,能更深入的操作和管理文件,软件。

安装Termux

官网链接:

bash 复制代码
https://termux.dev/en/

如果官网的下载不了,我在gitee上也分享了官方软件包:

bash 复制代码
https://gitee.com/cancerai/resources

下载需要登录,没有账号的自己注册一个

初识Termux

安装完第一次打开后先让他初始化完,接着会出现下面的界面 这个就是termux打开之后的样子

界面介绍

如上图所示,

上面有一个大的粉色框框,这个是写命令的地方,你可以在这里书写Linux命令,并按回车来执行,和在真实terminal(终端)上操作一样。

在粉色框框里面还有个蓝色框框,这是termux的说明以及提示语,这可以不用管他,翻译我直接贴在下面了,感兴趣的可以看看

bash 复制代码
欢迎来到 Termux!

文档:https://termux.dev/docs
捐赠: https://termux.dev/donate
社区: https://termux.dev/community

使用包:

- 搜索:pkg 搜索<query>
 - 安装:pkg install <package>
 - 升级: pkg upgrade

订阅其他存储库:

- 根:pkg install root-repo
 - X11:pkg 安装 x11-repo

要修复任何存储库问题,
尝试"termux-change-repo"命令。

在 https://termux.dev/issues 报告问题

在最底下的橙色框框中是termux的工具栏,里面包含了电脑上的esc,ctrl,alt,等按键,可以更简单的控制命令的输入和执行

基本使用

快速编辑

在工具栏里面有 上下左右 四个箭头,他和电脑上的方向功能一致,以及在工具栏提供了 HOME和END键,可以快速把光标定位到文本开始和末尾

多会话

和真实Linux环境一样,在termux中可以开多个shell窗口(多会话) 从左边靠近屏幕边缘处往右拉,即可打开会话管理 点击下面的 NEW SESSION 可创建新会话,并自动进入session2(会话2) 若要切换session,同样从左边靠近屏幕边缘处往右拉点击想要的session。

更多菜单

长按终端界面会有more选项,里面可以对termux有更多的操作,常用的例如杀进程,设置等

高级操作

termux.properties配置文件(修改后需要重启termux生效)

termux里面有个名为termux.properties的配置文件他可以自定义termux的外观和功能键,这个文件在~/.termux下

bash 复制代码
cd ~/.termux
ls

我们在mt里面打开这个文件会发现里面都是被注释掉的 不过我们可以通过注释来读懂里面的代码意思 最上面那一坨可以不用看,那是该文件的一些解释而已

通用设置General

从 # General 开始看(通用设置)

bash 复制代码
###############
# General
###############

以下每一个属性都会列出来注解:

允许外部应用程序在 Termux 中执行任意命令,但这在涉及到安全问题,所以默认是关闭(disabled)的

bash 复制代码
# allow-external-apps = true

改变启动termux时的目录

bash 复制代码
# default-working-directory = /data/data/com.termux/files/home

当去掉注释后 切换session时不显示提示

bash 复制代码
# disable-terminal-session-change-toast = true

也就是这个东西 去掉该注释时在termux启动时不显示软键盘(屏幕键盘)

bash 复制代码
# hide-soft-keyboard-on-startup = true

在去掉该注释时,当你点击键盘切换的按钮,它会在禁用或者启动软键盘之间切换,而不是单纯的隐藏或者显示软键盘

bash 复制代码
# soft-keyboard-toggle-behaviour = enable/disable

调整终端回滚缓冲区的大小,回滚缓冲区就是当你点击向上箭头时,查看之前的命令,当缓冲区的大小越大,存储的命令越多,不过这可能会对性能有影响(默认 2000,最大 50000)

bash 复制代码
# terminal-transcript-rows = 2000

去掉注释时,用音量键来调节音量,而不是使用额外功能(termux中默认音量键是充当快捷键,而不是调音量)

bash 复制代码
# volume-keys = volume

全屏模式Fullscreen mode

当去掉注释后termux会以全屏模式启动

bash 复制代码
# fullscreen = true

当在全屏模式中尝试解决全屏模式里的布局问题(因为可能会错位)

bash 复制代码
# use-fullscreen-workaround = true

光标Cursor

光标闪烁速率(值可以是0即不闪烁,或者100~2000)

bash 复制代码
# terminal-cursor-blink-rate = 0

光标的样式(值可以是block, bar, underline)分别为块、条形、下划线

bash 复制代码
# terminal-cursor-style = block

工具栏Extra keys

在Termux中,键的符号集用于在终端中显示特定键的图标。这些图标可以帮助你更清楚地识别不同的按键,并增加可视化的效果。可选的值有 default:使用默认符号集 arrows-only:只显示箭头符号 arrows-all:显示箭头符号和其他辅助符号 all:显示所有符号 none:不显示任何符号

bash 复制代码
# extra-keys-style = default

强制把工具栏所有文本大写

bash 复制代码
# extra-keys-text-all-caps = true

默认工具栏配置

bash 复制代码
extra-keys = [[ESC, TAB, CTRL, ALT, {key: '-', popup: '|'}, DOWN, UP]]

使用两行工具栏

bash 复制代码
# extra-keys = [['ESC','/','-','HOME','UP','END','PGUP'], \
#               ['TAB','CTRL','ALT','LEFT','DOWN','RIGHT','PGDN']]

配置在工具栏键的基础上的额外键(在工具栏的键中向上滑动)

bash 复制代码
# extra-keys = [[ \
#   {key: ESC, popup: {macro: "CTRL f d", display: "tmux exit"}}, \
#   {key: CTRL, popup: {macro: "CTRL f BKSP", display: "tmux ←"}}, \
#   {key: ALT, popup: {macro: "CTRL f TAB", display: "tmux →"}}, \
#   {key: TAB, popup: {macro: "ALT a", display: A-a}}, \
#   {key: LEFT, popup: HOME}, \
#   {key: DOWN, popup: PGDN}, \
#   {key: UP, popup: PGUP}, \
#   {key: RIGHT, popup: END}, \
#   {macro: "ALT j", display: A-j, popup: {macro: "ALT g", display: A-g}}, \
#   {key: KEYBOARD, popup: {macro: "CTRL d", display: exit}} \
# ]]

另一种高级的功能键弹出设置,在特定场景下使用,例如vim

bash 复制代码
#extra-keys = [ \
#  [ \
#    { key: ESC, popup: { macro: ":q\n", display: "QuickExit" } }, \
#    { key: '/', popup: '\\\\' }, \
#    { key: '-', popup: '_' }, \
#    { key: HOME, popup: { macro: "CTRL HOME", display: "Top" } }, \
#    { key: UP, popup: { macro: "CTRL UP", display: "UP" } }, \
#    { key: END, popup: { macro: "CTRL END", display: "End" } }, \
#    { key: ":", popup: ";" }, \
#    { key: "(", popup: "{" } \
#  ], \
#  [ \
#    { key: TAB, popup: { macro: ":wq\n", display: "Write And Exit" } }, \
#    { key: CTRL, popup: { macro: ":w\n", display: "Write" } }, \
#    ALT, \
#    { key: LEFT, popup: { macro: "CTRL LEFT", display: "Left" } }, \
#    { key: DOWN, popup: { macro: "CTRL DOWN", display: "Bottom" } }, \
#    { key: RIGHT, popup: { macro: "CTRL RIGHT", display: "Right" } }, \
#    { key: "#", popup: "$" }, \
#    { key: ")", popup: "}" } \
#  ] \
#]

颜色/主题Colors/Themes

强制使用黑色主题

bash 复制代码
# use-black-ui = true

硬件键盘快捷键HW keyboard shortcuts

禁止使用硬件的键盘快捷键

bash 复制代码
# disable-hardware-keyboard-shortcuts = true

使用 ctrl+t 打开新的 terminal 终端

bash 复制代码
# shortcut.create-session = ctrl + t

下降一个会话,例如 ctrl+2

bash 复制代码
# shortcut.next-session = ctrl + 2

上升一个会话,例如 ctrl+1

bash 复制代码
# shortcut.previous-session = ctrl + 1

重命名一个会话,例如 ctrl+n

bash 复制代码
# shortcut.rename-session = ctrl + n

响铃键Bell key

当按下响铃键时振动设备(默认)

bash 复制代码
# bell-character = vibrate

当按下响铃键时发出哔哔声

bash 复制代码
# bell-character = beep

当按下响铃键时忽略铃铛字符

bash 复制代码
# bell-character = ignore

返回键Back key

当按下返回键时发送Escape键

bash 复制代码
# back-key=escape

当按下返回键时隐藏键盘退出应用(默认)

bash 复制代码
# back-key=back

键盘问题解决方法Keyboard issue workarounds

在三星设备上按下回车键之前,字母可能不会出现

bash 复制代码
# enforce-char-based-input = true

Ctrl+Space(用于在 Emacs 中标记文本)在某些设备上不起作用

bash 复制代码
# ctrl-space-workaround = true


color.properties配置文件(修改后需要重启termux生效)

color.properties用于定义termux终端下的颜色方案 以下是"color.properties"文件中包含的一些配置项:

  1. foreground:定义终端前景色(文本颜色)。
  2. background:定义终端背景色。
  3. cursor:定义光标颜色。
  4. selection_foreground:定义选中文本的前景色。
  5. selection_background:定义选中文本的背景色。
  6. color0color15:定义16个不同的颜色,用于终端中的不同要素,如文件、文件夹、执行命令等。

这些配置项的值可以是命名的颜色(如red、green、blue等),也可以是RGB或HEX值(如#FF0000表示红色)。

请注意,虽然Termux的"color.properties"文件提供了自定义终端颜色的选项,但对于一些终端应用程序来说,有时也会有自己独立的颜色配置方式。例如,通过Shell环境变量可以定义终端颜色。因此,在自定义终端颜色时,你可能还需要考虑这些特定应用程序的配置。

总结

以上是所有termux的完整使用教程以及配置详解,对于文中有不足或有误的地方欢迎指出。 喜欢的投个点赞+关注支持下吧

相关推荐
拓端研究室5 分钟前
R基于贝叶斯加法回归树BART、MCMC的DLNM分布滞后非线性模型分析母婴PM2.5暴露与出生体重数据及GAM模型对比、关键窗口识别
android·开发语言·kotlin
zhangphil1 小时前
Android简洁缩放Matrix实现图像马赛克,Kotlin
android·kotlin
m0_512744641 小时前
极客大挑战2024-web-wp(详细)
android·前端
lw向北.1 小时前
Qt For Android之环境搭建(Qt 5.12.11 Qt下载SDK的处理方案)
android·开发语言·qt
不爱学习的啊Biao1 小时前
【13】MySQL如何选择合适的索引?
android·数据库·mysql
Clockwiseee2 小时前
PHP伪协议总结
android·开发语言·php
mmsx8 小时前
android sqlite 数据库简单封装示例(java)
android·java·数据库
众拾达人11 小时前
Android自动化测试实战 Java篇 主流工具 框架 脚本
android·java·开发语言
吃着火锅x唱着歌12 小时前
PHP7内核剖析 学习笔记 第四章 内存管理(1)
android·笔记·学习
_Shirley13 小时前
鸿蒙设置app更新跳转华为市场
android·华为·kotlin·harmonyos·鸿蒙