1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

よく使うコマンド、rsync,find,gitとか

Last updated at Posted at 2020-11-26

よく使うコマンドのメモ書き

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

untracked fileを削除するためにはgit cleanを使う

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?