Linuxコマンド
SCPコマンド
SSHプロトコルを使用したコマンドらしい
ローカルサーバ→リモートサーバ
# scp [オプション] [EC2インスタンス接続の場合SSHキーのPEMファイルを参照するファイルパス] [コピー元のディレクトリ] [リモートサーバのユーザ]@[リモートサーバのIPorホスト名]:[コピー先のディレクトリ]
scp -r -i /hoge.pem ./local user-name@server-name:/hoge/piyo/
リモートサーバ→ローカルサーバ
# scp [オプション] [EC2インスタンス接続の場合SSHキーのPEMファイルを参照するファイルパス] [リモートサーバのユーザ]@[リモートサーバのIPorホスト名]:[コピー元のディレクトリ] [コピー先のディレクトリ]
scp -r -i /hoge.pem userid@server-name:/hoge/piyo/ ./local
-r:ディレクトリ内を再帰的にコピー
-i:ssh接続に使用する秘密鍵ファイルを指定
-p:ファイルのタイムスタンプ、パーミッションを保持
基本的なコマンドとそのオプション
catのオプション wc -l:ファイルの行数を表示
cat [ファイル名] | wc -l
catのオプション head -n5:最初の5行を表示
cat [ファイル名] | head -n5
ファイル名の一部からファイルを探す
locate [キーワード]
設定されているaliasを確認
alias
出力例
hoge='echo hoge'
おまけ:作業ログを保存してたスクリプト
local_log_dir="/hoge/log"
mkdir -p "${local_log_dir}"; \
file_name="$(date +%Y%m%d_%H%M).log"; \
echo "file_path: ${local_log_dir}/${file_name}"; \
script -fa >(awk '{print strftime("%F %T ") $0}{fflush() }'>> ${local_log_dir}/${file_name})
SourceTreeターミナルコマンド
異なるブランチの任意のファイルの差分を表示
# git diff --exit-code [ブランチ1] [ブランチ2] -- [パス\対象ファイル名]
# echo $?
git diff --exit-code test release -- hoge\piyo.txt
echo $?
↑のecho $?
は特殊変数$?
にコマンドの実行結果の戻り値が自動的に格納されるためechoで表示している。diffの場合、「0」は差分なし
疑問:SourceTreeのターミナルでは-sのオプション使えるのかな?
Cmdコマンド
検索パターンに一致するファイルの場所をファイルに出力
# WHERE [オプション] [ファイルパス] [検索する条件] [オプション] > [パス\出力ファイル名]
WHERE /R C:\hoge *.* /T > C:\hoge\piyo.txt
/R:指定したパターンに一致するファイルを、指定したディレクトリから開始して再帰的に検索し表示
/T:一致したすべてのファイルのサイズ、最終変更日および時刻を表示
※↑ファイルサイズがでかすぎる場合、容量の表示がバグるので注意! 詳細は後で調べよう…