シェルでコマンド実行するときに使う記号の用法まとめ

めっちゃくちゃ基礎的な内容。

xv6のソースコード読み進めているうちに、
自分がちゃんと理解して使えていない箇所があったので
軽く覚書しておきます。

1.コマンドラインのキー操作

いきなりブログの本題から少し離れちゃいますが、長いコマンド
打つの面倒で、履歴から探すんだけど、末尾だけ文字を変える必要がある、
なんてことよくありますよね。

そういうときに便利なカーソル移動なんかを付随的に見つけたので
書いておきます。

  1. Ctrl + F(カーソルを一文字右へ)
  2. Ctrl + B(カーソルを一文字左へ)
  3. Ctrl + D(カーソルの文字を削除)
  4. Ctrl + A(カーソルを行頭へ)
  5. Ctrl + E(カーソルを行末へ)
  6. Ctrl + K(カーソル位置から行末までを削除)
  7. Alt + F(カーソルから1単語あとに移動)
  8. Alt + B(カーソルから1単語前に移動)
  9. Alt + D(カーソルから1単語を削除)

vimキーバインドと動作もコマンドも似てるけど、若干ニュアンス違う・・・。
hjklで動けたらいいねぇ。

と思ったらできました。参考リンク

ただ、僕の現状の設定だとインサートモードかどうかの判別が
カーソルでできないから、正直不便かも・・・というわけでもどしました・・・。

2.リダイレクション

標準入力、標準出力、標準エラー出力をそれぞれ任意のファイル等に指定してあげる
方法。慣例的に標準入力は0、標準出力は1,標準エラー出力は2という数字が割り当てられて
いる、と知らない場合は覚えておくと便利かもしれません。

3.パイプ

あるコマンドの標準出力と、他のコマンドの標準入力を接続してくれる機能。
あるコマンドの結果を、更に別のコマンドに渡したいときなんかに便利です。

ex) $ dmesg | head

これでブート時のメッセージの最初の10行だけを出力してくれます。
コマンドラインからバイナリを簡単に確認したいときに

$ hexdump -C a.out | less

とかよくやりますね。

標準入力からデータを受け取って、整形して標準出力に出してくれる
フィルタコマンドの代表的なものを挙げます。これをパイプの間で利用すれば、
さらに柔軟に出力を整形できるかもしれません。

コマンドとしてどう記述すると使えるか、ということを覚えるだけでも
とても便利なんですが、動作に関してはxv6に関するブログで
紹介できればと思います。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です