Raspberry pi 3 + thefuck
fuck
fuckコマンドというのをご存じでしょうか。Linuxには有用なパッケージが多数公開されていますが、中には明らかにジョーク目的で作られたにもかかわらず意外にも有用だったりするものもあるのです。というわけでfuckコマンドを紹介します。
何これ?
fuckコマンドは、コマンドの打ち間違いを自動的に修正してくれるコマンドです。例えば、lsコマンドを実行しようとしてslと打鍵してしまうことがあります。「コマンドが見つかりません」エラーが出力されたらすかさず"fuck!"と叫びながらfuckコマンドを実行しましょう(注:叫ぶのは必須ではないです)(あと、余談ですがLinux界隈にはslコマンドというジョークコマンドも実在します)。
pi@pi3:~ $ sl -bash: sl: コマンドが見つかりません pi@pi3:~ $ fuck ls [enter/↑/↓/ctrl+c] Desktop Documents Downloads Music Pictures Public Templates Videos python_games shogi pi@pi3:~ $
すると、fuckコマンドは直前の入力ミスを類推して、「よしよし、おまえが実行したかったのはlsだろう?」ということで修正候補を示してくれます。あとはEnterするだけです。
また、よくあるイライラであるapt-get upgradeコマンド。piユーザでは実行できないのでsudoを頭につける必要がありますが、これを良く忘れます。そんなときも……
pi@pi3:~ $ apt-get upgrade E: ロックファイル /var/lib/dpkg/lock をオープンできません - open (13: 許可がありません) E: 管理用ディレクトリ (/var/lib/dpkg/) をロックできません。root 権限で実行していますか? pi@pi3:~ $ fuck sudo apt-get upgrade [enter/↑/↓/ctrl+c]
fuckと入力すればあとは考えてくれます。賢いです。仕事では使えませんが(使わないことをおすすめしますが)、自宅の趣味の環境なら便利に使えます。インストール方法を紹介します。
thefuckのインストール
sudo pip install thefuck ... のまえに前提パッケージをインストール
開発元のサイトでは、pip install thefuckでインストールできるよ、とあるのですが、Raspberry pi 3ではそれだけだとインストールエラーになります。python-pip、python-dev、thefuckの順番でインストールしてゆきましょう。まず、python-pipはapt-getコマンドでインストールです。
pi@pi3:~ $ sudo apt-get install python-pip パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています 状態情報を読み取っています... 完了 python-pip はすでに最新版です。 以下のパッケージが自動でインストールされましたが、もう必要とされていません: libasn1-8-heimdal libgssapi3-heimdal libhcrypto4-heimdal libheimbase1-heimdal libheimntlm0-heimdal libhx509-5-heimdal libkrb5-26-heimdal libroken18-heimdal libwind0-heimdal これを削除するには 'apt-get autoremove' を利用してください。 アップグレード: 0 個、新規インストール: 0 個、削除: 0 個、保留: 2 個。 pi@pi3:~ $ sudo apt-get install python-dev パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています 状態情報を読み取っています... 完了 以下のパッケージが自動でインストールされましたが、もう必要とされていません: libasn1-8-heimdal libgssapi3-heimdal libhcrypto4-heimdal libheimbase1-heimdal libheimntlm0-heimdal libhx509-5-heimdal libkrb5-26-heimdal libroken18-heimdal libwind0-heimdal これを削除するには 'apt-get autoremove' を利用してください。 以下の追加パッケージがインストールされます: libpython-dev libpython2.7-dev python2.7-dev 以下のパッケージが新たにインストールされます: libpython-dev libpython2.7-dev python-dev python2.7-dev アップグレード: 0 個、新規インストール: 4 個、削除: 0 個、保留: 2 個。 18.2 MB のアーカイブを取得する必要があります。 この操作後に追加で 25.7 MB のディスク容量が消費されます。 続行しますか? [Y/n] y 取得:1 http://mirrordirector.raspbian.org/raspbian/ jessie/main libpython2.7-dev armhf 2.7.9-2 [17.9 MB] 取得:2 http://mirrordirector.raspbian.org/raspbian/ jessie/main python-dev armhf 2.7.9-1 [1,188 B] 取得:3 http://mirrordirector.raspbian.org/raspbian/ jessie/main libpython-dev armhf 2.7.9-1 [19.6 kB] 取得:4 http://mirrordirector.raspbian.org/raspbian/ jessie/main python2.7-dev armhf 2.7.9-2 [281 kB] 18.2 MB を 9秒 で取得しました (1,884 kB/s) 以前に未選択のパッケージ libpython2.7-dev:armhf を選択しています。 (データベースを読み込んでいます ... 現在 127602 個のファイルとディレクトリがインストールされています。) .../libpython2.7-dev_2.7.9-2_armhf.deb を展開する準備をしています ... libpython2.7-dev:armhf (2.7.9-2) を展開しています... 以前に未選択のパッケージ libpython-dev:armhf を選択しています。 .../libpython-dev_2.7.9-1_armhf.deb を展開する準備をしています ... libpython-dev:armhf (2.7.9-1) を展開しています... 以前に未選択のパッケージ python2.7-dev を選択しています。 .../python2.7-dev_2.7.9-2_armhf.deb を展開する準備をしています ... python2.7-dev (2.7.9-2) を展開しています... 以前に未選択のパッケージ python-dev を選択しています。 .../python-dev_2.7.9-1_armhf.deb を展開する準備をしています ... python-dev (2.7.9-1) を展開しています... man-db (2.7.0.2-5) のトリガを処理しています ... libpython2.7-dev:armhf (2.7.9-2) を設定しています ... libpython-dev:armhf (2.7.9-1) を設定しています ... python2.7-dev (2.7.9-2) を設定しています ... python-dev (2.7.9-1) を設定しています ... pi@pi3:~ $
そのあと、psutilとthefuckはpipコマンドでインストール。
pi@pi3:~ $ sudo pip install psutil Collecting psutil Using cached psutil-4.1.0.tar.gz Building wheels for collected packages: psutil Running setup.py bdist_wheel for psutil ... done Stored in directory: /root/.cache/pip/wheels/28/46/4d/aaf6794133b80d7203b0a1d934febf4f59d0c6516e46fbafcd Successfully built psutil Installing collected packages: psutil Successfully installed psutil-4.1.0 pi@pi3:~ $ sudo pip install thefuck Collecting thefuck Using cached thefuck-3.9-py2.py3-none-any.whl Requirement already satisfied (use --upgrade to upgrade): psutil in /usr/local/lib/python2.7/dist-packages (from thefuck) Requirement already satisfied (use --upgrade to upgrade): decorator in /usr/local/lib/python2.7/dist-packages (from thefuck) Requirement already satisfied (use --upgrade to upgrade): six in /usr/lib/python2.7/dist-packages (from thefuck) Requirement already satisfied (use --upgrade to upgrade): pathlib in /usr/local/lib/python2.7/dist-packages (from thefuck) Requirement already satisfied (use --upgrade to upgrade): colorama in /usr/lib/python2.7/dist-packages (from thefuck) Installing collected packages: thefuck Successfully installed thefuck-3.9 pi@pi3:~ $
設定
.bashrcの末尾にキーワードを追加しておきます。これで準備OKですが、初回は.bashrcを手動で読み込みましょう。これで使えます。
pi@pi3:~ $ tail ~/.bashrc if ! shopt -oq posix; then if [ -f /usr/share/bash-completion/bash_completion ]; then . /usr/share/bash-completion/bash_completion elif [ -f /etc/bash_completion ]; then . /etc/bash_completion fi fi eval $(thefuck --alias) pi@pi3:~ $ pi@pi3:~ $ . ~/.bashrc
では皆様、正しいfuckライフを。
正しいFUCKの使い方-学校では教えてくれない、取扱注意のFuck、Shit、Damn、Hellを使った99フレーズ (TWJ books)
- 作者: 英語表現研究会,MADSAKI,NAIJEL GRAPH
- 出版社/メーカー: トランスワールドジャパン
- 発売日: 2014/04/25
- メディア: 単行本
- この商品を含むブログ (2件) を見る