# FiLe InteRacT, the file interaction tool for your command line This is a small program that starts an interactive file selection process from your current _pwd_ and allows you to _select_ relative files, returning them to your command line once you are done. > Examples below invoke `flirt` with a keybinding set on `^s`. ## First example: interactive cd [![asciicast](https://asciinema.org/a/692800.svg)](https://asciinema.org/a/692800) Let’s say you would like to locate a directory, but you also want to grab information about the structure of the parent directories — a very common case during new code base exploration. A typical way is to do that with a fuzzy finder – many people use [fzf] with its `c-t` binding that opens a fuzzy picker to search for files: ```sh cd ^t ``` However, this is not always wanted, especially when you do not know exactly what you are looking for, and are in exploration mode. Instead, you can start an _interactive cd_ like so: ```sh cd ^s ``` This will start `flirt` and will allow you to move around the filesystem. Once you have found the target directory, just end your interactive session (`q` by default) and you should have the path of the directory to go to in your `cd` command line. ## Second example: interactive move [![asciicast](https://asciinema.org/a/692801.svg)](https://asciinema.org/a/692801) `flirt` expands all the selected paths on the command line, so you can use it for commands that expect several arguments. For instance, let’s say you would like to move a file from a directory into another one, without being entirely sure about the files you need to move nor where: ```sh mv ^s ``` ## Third example: interactive tar creation [![asciicast](https://asciinema.org/a/4WEVNAEW6scWiRtFv4f7iiDrM.svg)](https://asciinema.org/a/4WEVNAEW6scWiRtFv4f7iiDrM) A more complex example is tarball creation. Write the static part of the command (`tar -cvf tarball.tar.gz`) and let `flirt` do the rest for you!