Macのターミナルで便利だなと感じているコマンドをまとめています。
これまでFinder等GUIでの利用が多かったのでですが、ターミナルの便利さに改めて気づいたので、そういった普段GUIメインですいう人の気付きにはなるかもしれません。
よく使うコマンド
-
mdfind [-name] [キーワード1] [キーワード2]
➾ ファイルやディレクトリを検索する -
open [パス]
➾ Finderでディレクトリを開いたり、ファイルを開いたりする -
diff -rq [ディレクトリパス1] [ディレクトリパス2]
➾ 変更ファイルの抽出(リリースのときとかによく使う) -
ls -l | grep -v ^d
➾ ファイルの一覧を取得(-vをなくせばディレクトリの一覧) -
history | grep ssh
➾ sshで繋ぐホスト等覚えていられないので履歴から使う($!番号
で実行)
利用ケース
1. ファイルを探して開く
ファイルを探す
$ mdfind [キーワード1]
# 結果が多すぎたらファイル名だけに絞るか、キーワードを追加する
$ mdfind -name [キーワード]
or
$ mdfind [キーワード1] [キーワード2]
ファイルを探す
# パスをコピーしてファイルを開く
$ open [コピーしたファイルのフルパス]
2. Finderでカレントのディレクトリを開く
カレントのディレクトリ[.]をオープン
$open .
3. 元のファイル一式とリリース用のファイル一式の差分をとって適正か確認する
指定ディレクトリを再帰的にチェック
# -r で再起的にチェック
# -q でファイルの変更があるかどうかのみチェック
$ diff -rq [ディレクトリパス1] [ディレクトリパス2]
4. ファイルの一覧をフォーマットして表示する(リリース時のファイル一覧等に利用)
箇条書きでファイル一覧表示
# -v を削除すればディレクトリの一覧になる
# 空文字じゃない行を"・hogehoge"という形で出力
$ ls -l | grep -v ^d | awk '{ if($9!="") print "・"$9}'
出力した結果が満足なら、ついでにクリップボードにコピー(ドキュメントに貼り付けるのに便利)
$ ls -l | grep -v ^d | awk '{ if($9!="") print "・"$9}' | pbcopy
5. よく使うサーバへのSSH接続を行う
履歴をグレップ
# いくつもサーバを扱っている場合、ホスト名等覚えられなくなってきたので履歴からたどる
$ history | grep ssh
# 表示された履歴の番号を指定して実行
$ ![履歴の番号]
6. ズバリ最新の議事録のファイルを探したい
ファイル名に議事録が含まれるものを更新日時でソートし、表示件数も絞る
$ mdfind -name 議事録 -0 | xargs -0 ls -t | head -1
今後便利だなと思ったものが見つかったら更新していきたいと思います。