README
¶
adbtuifm
This is a fork of darkhz/adbtuifm (which looks abandoned with the last commit being three years ago in 2025) that makes this work better for me in macOS. Feel free to also use it.

adbtuifm is a TUI-based file manager for the Android Debug Bridge, to make transfers between the device and client easier.
It has been tested only on Mac. Windows/Linux might be supported by darkhz/adbtuifm.
Features
-
Multiselection support, with a selections editor
-
Transferring files/folders between the device and the local machine
-
Open files of any file type from the device or local machine
-
Copy, move, and delete operations on the device and the local machine
separately -
View file operations separately on a different screen, with ability to monitor
progress and cancel operation -
ADB command log panel showing all ADB commands with timestamps and output
-
Execute commands on the device or local machine, with toggleable
foreground/background execution modes -
Filter entries in each directory
-
Display file size and modification date for all entries
-
Directory navigation history with back/forward support
-
Rename files/folders or create directories
-
Switch between adbtuifm and shell easily
-
Change to any directory via an inputbox, with autocompletion support
Installation
go install github.com/akirk/adbtuifm@latest
Usage
adbtuifm [<remote-path>]
Arguments:
[<remote-path>] Remote (ADB) path to start in (default: /sdcard)
The local directory is always set to your current working directory.
Note: If the remote path doesn't start with /, it will be treated as relative to /sdcard/.
Examples:
# Start with default ADB path (/sdcard) and current directory
adbtuifm
# Start with a specific ADB directory using absolute path
adbtuifm /sdcard/Downloads
# Start with a relative ADB path (resolved to /sdcard/Downloads)
adbtuifm Downloads
# Start in a specific local directory with custom ADB path
cd ~/Documents
adbtuifm Music # Opens /sdcard/Music on device
Keybindings
Main Page
| Operation | Key |
|---|---|
| Switch between panes | Tab |
| Navigate between entries | Up/Down |
| Change directory to highlighted entry | Enter/Right |
| Change one directory back | Backspace/Left |
| Switch to operations page | o |
| Switch between ADB/Local (in each pane) | s/< |
| Change to any directory | g/> |
| Toggle hidden files | h/. |
| Execute command | ! |
| Refresh | r |
| Move | m |
| Put/Paste (duplicate existing entry) | p |
| Put/Paste (don't duplicate existing entry) | P |
| Delete | d |
| Open files | Ctrl+o |
| View fullscreen log | l |
| Filter entries | / |
| Toggle filtering modes (normal/regex) | Ctrl+f |
| Sort entries | ; |
| Clear filtered entries | Ctrl+r |
| Select one item | Space |
| Inverse selection | a |
| Select all items | A |
| Edit selection list | S |
| Make directory | M |
| Navigate back in history | [ |
| Navigate forward in history | ] |
| Rename files/folders | R |
| Reset selections | Esc |
| Suspend to shell | Ctrl+z |
| Launch local/ADB shell | Ctrl+d/Alt+d |
| Help | ? |
| Quit | q |
Operations Page
| Operation | Key |
|---|---|
| Navigate between entries | Up/Down |
| Cancel selected operation | x |
| Cancel all operations | X |
| Switch to main page | o/Esc |
Change Directory Selector
| Operation | Key |
|---|---|
| Navigate between entries | Up/Down |
| Autocomplete | Tab |
| Change directory to highlighted entry | Enter |
| Move back a directory | Ctrl+w |
| Switch to main page | Esc |
Selections Editor
| Operation | Key |
|---|---|
| Select one item | Alt+Space |
| Inverse selection | Alt+a |
| Select all items | Alt+A |
| Save edited list | Ctrl+s |
| Cancel editing list | Esc |
Execution mode
| Operation | Key |
|---|---|
| Switch between Local/Adb execution | Ctrl+a |
| Switch between Foreground/Background execution | Ctrl+q |
Notes
-
As of v0.5.5, keybindings have been revised and the UI has been revamped.
-
Only Copy operations are cancellable. Move and Delete operations will persist.
-
The current method to open files is via xdg-open. In certain cases, after opening
and modifying a file, the application may take time to exit, and as a result no operations
can be performed on the currently edited file until the application exits. For example, after
opening a zip file via file-roller, modifying it and closing the file-roller GUI, file-roller takes some
time to fully exit, and since the UI is waiting for file-roller to exit, the user cannot perform operations
on the currently modified file until file-roller exits.
Bugs
- In directories with a huge amount of entries, autocompletion will lag. This happens only on the device side (i.e ADB mode), where there is significant latency in transferring and processing the directory listing to the client.
Documentation
¶
There is no documentation for this package.