コマンドライン自動保管ツール「f*ck」【linux】

コマンドライン自動保管ツール「f*ck」とは?

このコマンドラインツールはタイプミスなどを自動的に保管してくれるツールです。

from https://github.com/nvbn/thefuck

インストール方法

インストール時の注意点

linux,macosであればどのOSでも利用可能です。

ただし、インストール後のエイリアス登録eval $(thefuck --alias)はどのOSでも共通で必要です。 f*ckと入力して自動保管したければ上記のコマンドも合わせて実行して、エイリアスを登録しましょう。

ちなみに、エイリアスを登録しない場合は以下のコマンドを打たなければ保管は発動しません。

eval "$(TF_ALIAS=fuck PYTHONIOENCODING=utf-8 thefuck "$(fc -ln -1)")"

各OSごとのインストール方法

MacOSを利用の場合、brewコマンドが使用可能です。

brew install thefuck
x

Ubuntuからインストールする場合、aptではなくpipからインストールする必要があります。 pythonツールなどを最初にインストールした後、pip3を使用してインストールしましょう。

sudo apt update
sudo apt install python3-dev python3-pip python3-setuptools
pip3 install thefuck --user
eval $(thefuck --alias)

FreeBSDではpkgを通常通り使用できます。

pkg install thefuck
eval $(thefuck --alias)

Arch Linuxではpacmanから使用できます。

sudo pacman -S thefuck
eval $(thefuck --alias)

上記のコマンドに該当しない場合、またはどうしても通常のコマンドが使用できない場合、pipを使用することをお勧めします。

pip install thefuck
eval $(thefuck --alias)

使用方法

例えば、ネットワークの疎通確認を行うためにpingを入力しようとしたとします。 ところが、pinggとgを一個多く打ってしまいました。

[root@33c1541deb7d techblog]# pingg 8.8.8.8
bash: pingg: command not found

イライラしたあなたはコマンドラインインターフェースに向かって、f*ckと入力したとします。 そうすると、正しいコマンドを予測して出力してくれます。

[root@33c1541deb7d techblog]# fuck
ping 8.8.8.8 [enter/↑/↓/ctrl+c]

この時に、Enterを押してタイプミスしてしまったコマンドを実行することができました。

PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=63 time=140 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=63 time=34.0 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=63 time=25.1 ms
^C
--- 8.8.8.8 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2004ms
rtt min/avg/max/mdev = 25.135/66.294/139.722/52.047 ms