今回もiPhoneで動作するシェルであるa-Shellを使います。今回は主にネットワーク関係のコマンドについてです。ネットワークチェックするアプリをたくさん入れるよりもa-Shellでコマンドを入力した方が便利で詳細な情報が得られる場合が多いかもしれません。
と、その前にvimについて説明しておきます。

vim(vi)の注意事項

a-Shellには定番のエディタであるvimが用意されています。多くの環境ではviとコマンドを入力するとエディタであるvimが起動します。しかし、a-Shellではエイリアスも設定されていないので、ただしくvimと入力する必要があります。

vi
vim

a-Shellはエイリアスを定義するコマンドもありますので、どうしてもviと入力したい(癖というのもあるかもしれませんが)場合は以下のようにエイリアスを設定すればよいでしょう。

alias vi="vim"

a-Shellのvimで注意しないといけない事があります。それは、日本語がうまく処理されないという事です。日本語をコピーしておいてペーストすることはできますが、カーソル位置がずれてしまったりとうまく動作しません。ここらへんバージョンアップ等でいずれ解消されるかもしれませんが、現状はiPhoneのメモ帳とか、テキストエディタのアプリを使用するのがよいでしょう。

共有クリップボード

iCloudを利用している場合に便利なのが、共有クリップボードです。共有クリップボードを利用すると、iPhoneとMac間で同じ内容を共有できますので大変便利です。例えば長いコマンドをiPhoneで入力するのは手間がかかり面倒ですが、Macならキーボード入力で簡単に済みます。
また、iPhoneで入力したり生成したデータをMacに持っていきたい場合も共有クリップボードを使えば簡単にできます。前々回のa-Shellで使えるコマンド一覧も、この共有クリップボードを利用しています。
iPhoneでも文字選択してコピーする事はできますが、a-Shellだと画面サイズの関係で不用意にスクロールしたり期待どおりコピーできない事があります。
そんな時に使うコマンドがpbcopyです。pbcopyはパイプから入力されたデータをクリップボードに転送します。なお、共有クリップボードを利用している場合、ペースト時にデータのやり取りをしてもよいか?という確認のダイアログが出ることがあります。許可すれば同じデータを共有できます。

簡単なところで1234の数字をクリップボードにコピーしてみましょう。なお、共有クリップボードは有効になっているものとします。以下のようにコマンドを入力します。

echo 1234 | pbcopy

コマンドを実行したらiPhoneのメモ帳などでペーストしてみてください。1234の数字がペーストされます。また、共有クリップボードが有効であれば、同じアカウント(AppleID)を共有したマシンでも同じ内容をペーストできます。

今度は他のマシンでコピーした内容をペーストしてみましょう。この場合は以下のコマンドを入力するだけです。とりあえずMac側で5678と入力コピーしてから、以下のコマンドを入力します。

pbpaste

pbpasteは内容を標準出力するので、うまく使えばファイルなどを経由せずにデータのやりとりができます。また、複雑なコマンドはMac側で入力してコピーしておけば、a-Shell側ではペーストするだけでコマンドを実行できます。
ちなみに、この連載でa-Shellのコマンド一覧を掲載しましたが、これも以下のようにコマンドを入力し共有クリップボード経由で利用しています。

help -l | pbcopy

他にはディレクトリ一覧の結果をコピーしたい場合は以下のようにコマンドを入力します。

ls -la | pbcopy

おまけネタですが、ディレクトリ一覧をファイルに保存しつつ、さらにクリップボードにコピーしたい場合は以下のようにコマンドを入力します。この場合、カレントディレクトリにlist.txtというファイルでディレクトリ一覧の出力結果が保存されます。

ls -la | tee list.txt | pbcopy

ネットワークインターフェースの情報を表示する

次にネットワークインターフェースの情報を表示してみましょう。
ネットワークインターフェースの情報はifconfigコマンドを使います。

ifconfig

さすがに出力が長いとわかりにくいのでファイルに保存するか、パイプとpbcopyコマンドを利用してクリップボードにコピーした後、Macなどのエディタにペーストしてから確認するのがよいでしょう。

ifconfig > net.txt
ifconfig | pbcopy

pingでネットワークの状態を確認

次に通信が正常に行われているかや通信速度を確認するpingコマンドを実行してみましょう。なお、ネットワークの経路を調べるtracerouteコマンドは用意されていないようです。

この記事は
Members+会員の方のみ御覧いただけます

ログイン/無料会員登録

会員サービスの詳細はこちら