よく使うコマンドのメモ書き
rsync
ディレクトリの同期をとる(差分のみコピーする)
$ sudo rsync -av tmpdir/ /var/www/html/ --delete --exclude='.git' --exclude='.gitignore'
上のrsyncコマンドは、tmpdirディレクトリと/var/www/html/ディレクトリの同期をとります。同期元がtmpdirで、同期先が/var/www/html/です。
初回は、tmpdirディレクトリ配下を/var/www/html/配下にコピーし、2回目以降は差分のみコピーすることになります。
また、--excludeオプションは同期対象外とするディレクトリやファイルのパスを指定します。上のコマンドでは、.gitディレクトリと.gitignoreが同期対象外です。
また、--excludeのパスの基点は、tmpdirディレクトリになります。コマンドを実行している場所が基点ではないです。
また、--deleteオプションは同期元にないファイルを同期先から削除します。
参考サイト
【 rsync 】コマンド(その1)――ファイルやディレクトリを同期する
find
カレントディレクトリ以下でeclipseという名前が付くファイルとディレクトリを検索する
$ find . -name "*eclipse*"
ファイルとディレクトリのどちらか1つを検索対象にしたい場合は-typeオプションを使う
$ find . -name "*eclipse*" -type d
$ find . -name "*eclipse*" -type f
findの検索結果のファイル全てに対してコマンドを実行したい場合、「-exec コマンド {} \;」を付ける
$ find . -name "hoge*" -type f -exec コマンド {} \;
参考サイト
【find】Linuxでファイル・ディレクトリ検索をするコマンド
検索するファイル名・ディレクトリ名の大文字小文字の区別をしたくない場合、-inameオプションを使う。だから下の3つのコマンド結果は同じになる。
$ find . -iname "*eclipse*"
$ find . -iname "*Eclipse*"
$ find . -iname "*ECLIPSE*"
git
新規に追加したファイルやディレクトリ(Untracked files:)を削除する(元に戻す)
$ git clean -df