Skip to content

Latest commit

 

History

History
139 lines (127 loc) · 7.12 KB

advanced-command-line-file-manager.md

File metadata and controls

139 lines (127 loc) · 7.12 KB

For advanced command-line file management, tools like ranger and yazi are popular because they provide a TUI (Text User Interface), making it easier to navigate directories and manage files. Here are some advanced file managers that you might find useful:

1. ranger

  • Description: A minimalistic, TUI-based file manager written in Python. It features VI-style keybindings, previews of selected files, and support for extensions.
  • Key Features:
    • VI-style navigation: Move between directories and files using the keyboard.
    • Preview pane: Show file previews, including images, documents, and media files.
    • Bookmarking: Bookmark frequently accessed directories.
    • Extensible: Extend functionality using Python scripts or shell commands.
  • Installation:
    sudo apt install ranger   # For Debian-based systems
  • Usage:
    • Start it with ranger and navigate using arrow keys or h, j, k, l (like vim).
    • Press ? for help or keybindings.

2. yazi

  • Description: A modern, high-performance terminal file manager written in Rust. It emphasizes performance, customization, and simplicity.
  • Key Features:
    • Cross-platform: Runs on Linux, macOS, and Windows.
    • Extremely fast: Written in Rust, optimized for speed.
    • Highly customizable: You can modify the configuration to suit your workflow.
    • Low memory usage: Suitable for resource-constrained systems.
  • Installation:
    cargo install yazi
  • Usage:
    • Start with yazi, and navigate using similar vim-style keybindings.
    • Customizable via config files (yazi.yml), located in ~/.config/yazi/.

3. nnn

  • Description: A very fast, lightweight terminal file manager that uses minimal system resources.
  • Key Features:
    • Plugin support: Extend its functionality with various plugins.
    • Batch rename and bulk operations: Efficiently manage large groups of files.
    • Disk usage analyzer: Check space usage on the fly.
    • VI-like keyboard shortcuts.
    • File previews: With external tools, you can preview images, videos, and PDFs.
  • Installation:
    sudo apt install nnn
  • Usage:
    • Start with nnn.
    • Use plugins by pressing :, then select the plugin from the list.

4. lf (List Files)

  • Description: A minimalist, cross-platform terminal file manager with a focus on simplicity and speed.
  • Key Features:
    • Customizability: Highly customizable using shell commands.
    • VI-style keybindings.
    • Low dependencies: Written in Go, which ensures it’s fast and portable.
    • Previews: Works with external commands to preview media.
  • Installation:
    sudo apt install lf
  • Usage:
    • Start with lf, navigate with vim-like keys.
    • Configure using the ~/.config/lf/lfrc file for keybindings and commands.

5. vifm

  • Description: A file manager that uses vim-like keybindings, allowing for fast, keyboard-driven navigation and file manipulation.
  • Key Features:
    • VI keybindings.
    • Dual-pane interface: Easily move files between two directories.
    • File previews: Supports file previews using external tools.
    • Integration: Can integrate with vim and execute shell commands.
  • Installation:
    sudo apt install vifm
  • Usage:
    • Start with vifm, navigate with h, j, k, l, and other vim commands.
    • Press : to access a command prompt for advanced operations.

6. mc (Midnight Commander)

  • Description: A classic text-based file manager, inspired by Norton Commander, with a two-pane layout.
  • Key Features:
    • Dual-pane interface: Efficient file management with drag-and-drop-like functionality.
    • File viewer/editor: Built-in text viewer and editor.
    • Support for various protocols: Work with FTP, SFTP, and other file transfer protocols.
    • Extensive mouse and keyboard support.
  • Installation:
    sudo apt install mc
  • Usage:
    • Start with mc, navigate with arrow keys or mouse.
    • Use F5 to copy, F6 to move, and other function keys for specific tasks.

7. fuzzy-finder (fzf)

  • Description: Although not a full-fledged file manager, fzf is a general-purpose command-line fuzzy finder that is incredibly fast and powerful for finding and opening files.
  • Key Features:
    • Fuzzy search: Quickly find files or directories by typing parts of their names.
    • Command integration: Can be integrated with many other tools, such as vim, tmux, or your shell.
    • Custom keybindings: Easily set up for your most-used commands.
  • Installation:
    sudo apt install fzf
  • Usage:
    • Use fzf to search directories interactively:
    • Example: find . | fzf lets you search through files and directories.

8. broot

  • Description: A modern file manager designed for fast directory navigation and previewing.
  • Key Features:
    • Graphical tree view: Display a file tree with sizes and quick navigation options.
    • Search and navigate: Quickly find and navigate to files within directories.
    • File preview: Can preview files directly.
    • File operations: Easily manage files with commands like move, copy, delete, etc.
  • Installation:
    cargo install broot
  • Usage:
    • Start broot and use arrow keys to navigate.
    • Use / for fuzzy search, and q to quit.

Summary Table:

Tool Interface Key Features Installation
ranger TUI VI keybindings, previews, extensibility sudo apt install ranger
yazi TUI Rust-based, high performance, customizable cargo install yazi
nnn TUI Fast, lightweight, plugin support sudo apt install nnn
lf TUI Minimal, Go-based, VI-style navigation sudo apt install lf
vifm TUI VI keybindings, dual-pane interface sudo apt install vifm
mc TUI Dual-pane, file viewer/editor, FTP support sudo apt install mc
fzf CLI Fuzzy search, integrations with other commands sudo apt install fzf
broot TUI Graphical tree view, fast navigation cargo install broot

Conclusion:

For a more advanced and interactive experience, you might enjoy tools like ranger or yazi. If you want something super lightweight but powerful, nnn and lf are excellent choices. For VI-like navigation with a dual-pane interface, vifm or mc is perfect.

Do you need help with installation or configuration for any of these tools?