7.2 KiB
Manage your file system from the Linux terminal
I tend to enjoy lightweight applications. They're good for low spec computers, for remote shells, for the impatient user (OK, I admit, that's me), and for the systems we scrap together to fight the inevitable zombie apocalypse. In my search for a perfect blend of a lightweight application with all the modern conveniences we've learned from experience, I stumbled across a file manager called nnn. The nnn file manager exists in a terminal only, but it feels like a modern keyboard-driven application with intuitive actions and easy navigation.
Install nnn
On Linux, you may find nnn in your Linux distribution's software repository. For instance, on Debian:
$ sudo apt install nnn
If your repository doesn't have nnn available, you can download a package for your distribution from OBS or from the project Git repository.
On macOS, use Homebrew or MacPort.
Using nnn
Launch nnn from a terminal:
$ nnn
Your terminal is now the nnn interface, and by default it lists the contents of your current directory:
1 2 3 4 ~
Desktop/
Documents/
Downloads/
Music/
Pictures/
Public/
Templates/
Videos/4/8 2022-12-01 15:54 drwxr-xr-x 6B
At the top of the nnn interface are tabs (called a "context" in nnn terminology), numbered one to four.
At the bottom of the nnn interface, there are ownership and permission details about your current selection.
Use either the Up and Down arrow keys or the k and j keys (as in Vim) to change your selection. Use the Right arrow key, Return, or the l key to enter a directory or to open a file. Use the Left arrow key or h to back out of a directory.
That's it for navigation. It's easier than any graphical file manager because there aren't any widgets that get in the way. There's no need to Tab over buttons, you just use the arrow keys or the QWERTY home row.
Open a file
One of the reasons you use a file manager is to find a file and then open it. Your desktop already has default applications set, and nnn inherits this knowledge, so press Return
or Right
arrow to open a file in its default application.
Should you need to open a file in something other than its default application, press =
instead, and then type the name of the application in the prompt at the bottom of the nnn interface.
Copy a file
To copy a file or any number of files, you must first select a file to copy, then navigate to its intended destination, and finally invoke the copy command. Thanks to nnn's context control (those are the numbers at the top of the screen, and you can think of them as tabs in a web browser), this is a quick process.
- First, select the file you want to copy and press Spacebar to select the file. It's marked with a plus sign (
+
) to indicate its selected state. - Press
2
to change to a new context. - Navigate to the target directory and press p to copy.
Move a file
Moving files is the same process as copying a file, but the keyboard shortcut for the action is v.
Selecting files
There are a few ways to mark selections in nnn. The first is manual selection. You find a file you want to select, and then press Spacebar to mark it as selected. Press Spacebar again to deselect it.
One selection doesn't cancel another, so you can select several files manually, but that can become tedious. Another way to select many files at once is to "mark in " and "mark out". To mark a selection, press m
on the first file you want to select, and then use your arrow keys to move to the last file you want to select. Press m
again to close the selection:
1 2 3 4 ~
+Desktop/
+Documents/
+Downloads/
+Music/
+Pictures/
+Public/
Templates/
Videos/6/8 [ +6 ] 2022-12-01 15:54 drwxr-xr-x 6B
Finally, the third way to select files is to press a
to select all. Use A
to invert the selection (in this case, to select none.)
Creating an archive
To create an archive of a file or a selection of files, press z
. At the bottom of the nnn interface, you're prompted to choose between your current item of your selection. Then you're prompted for a file name. Luckily, nnn is a smart application and derives its file type from the name you provide. If you name your archive example.tar.xz
then nnn creates a TAR archive with lzma compression, but if you name it example.zip
then it creates a ZIP file.
You can verify the file type yourself by pressing the f
key with your new archive selected:
File: /home/tux/Downloads/example.zip
Size: 184707 Blocks: 368 IO Block: 4096 regular file
Device: fd00h/64768d Inode: 17842380 Links: 1
Access: (0664/-rw-rw-r--) Uid: ( 1002/ tux) Gid: ( 1002/ tux)
Context: unconfined_u:object_r:user_home_t:s0
Access: 2022-09-20 15:12:09.770187616 +1200
Modify: 2022-09-20 15:12:09.775187704 +1200
Change: 2022-09-20 15:12:09.775187704 +1200
Birth: 2022-09-20 15:12:09.770187616 +1200
Zip archive data, at least v2.0 to extract
application/zip; charset=binary
Cancel an action
When you find yourself backed into a corner and need to press a panic button, use the Esc
key. (This is likely to be the single most confusing keyboard shortcut for a longtime terminal user who's accustomed to Ctrl+C.)
Never close nnn
To quit nnn, press Q
at any time.
It's a very capable file manager, with functions for symlinks, FIFO, bookmarks, batch renaming, and more. For a full list of what nnn can do, press the ?
key.
The most clever feature is the shell function. Press !
to open a shell over the nnn interface. You'll forget nnn is there, until you type exit
and you find yourself back in the nnn interface. It's that easy to leave nnn open all the time, so you can always have quick access to the fastest lightweight file management you're likely to experience.
via: https://opensource.com/article/22/12/linux-file-manager-nnn
作者:Seth Kenlon 选题:lkxed 译者:译者ID 校对:校对者ID