実家からお歳暮でもらったであろうビールをかっさらってきて、
帰宅と同時に飲むのが至福のひとときな今日この頃。
全体はこんな感じです。
▶︎標準入出力とは。
lsやcatなどの実行結果は、
指定しない限り、普通は画面に表示される。←これです!
デフォルトではそれぞれ以下のようになっている。
標準入力 → キーボード
標準出力 → 画面
こんな感じ
# キーボードで入力(標準入力)したものがそのままに出力(標準出力)される echo hello!
▶︎リダイレクトとは。
「リダイレクト」を使うと、標準入出力を指定のファイルに変更することができる。
出力リダイレクト
画面(標準出力)でなく、ファイルに結果を出力する
# 「hello!」という出力結果を新規ファイルoutput.txtに出力 echo hello! > output.txt #「>」は上書き # dateコマンドの出力結果を既存ファイルoutput.txtに上書き date > output.txt #「>>」は追記 # 「add!」という出力結果を既存ファイルoutput.txtに追記 echo add! >> output.txt
入力リダイレクト
キーボード(標準入力)でなく、ファイルからの入力をコマンドに渡す
# cat output.txtと同じ結果
# cat 0< output.txtと同じ結果
cat < output.txt
echo 6+1 > input.txt
# bc 0< input.txtと同じ結果
bc < input.txt
▶︎パイプ「|」とは。
標準出力をコマンドに渡す
# 中間ファイルが不要となる # echo 6+1 > input.txt && bc < input.txt と同じ結果 echo 6+1 | bc
#余談
過去のコミット全部自分のものにしたい時
$ git filter-branch -f --env-filter "GIT_AUTHOR_NAME='名前';\ GIT_AUTHOR_EMAIL='メールアドレス';\ GIT_COMMITTER_NAME='名前';\ GIT_COMMITTER_EMAIL='メールアドレス';" \ HEAD
過去のコミットを編集することは歴史をガラリとかえて未来に影響が大きいのであまりしないほうがいいです、はい。
けど今回グローバルネームでコミットしてしまっていたため変更しました。もちろん
$ git config --local user.name 名前 $ git config --local user.email "メールアドレス"
もしましたよ。