京橋のバイオインフォマティシャンの日常

南国のビーチパラソルの下で、Rプログラムを打ってる日常を求めて、、Daily Life of Bioinformatician in Kyobashi of Osaka

【LINUX/Macの基本コマンド⑤】ファイル同期コマンド rsync

はじめに

rsyncは、ディレクトリ・ファイルをローカルあるいはリモートマシンと同期させるコマンドである。

rsyncコマンドは、タイムスタンプやファイルサイズを見て、 更新ファイルを検出して差分のみを同期することで、 通信コストを抑えてバックアップあるいは同期が行える。

今回、rsyncのインストールから、その使い方とオプションを解説する。

rsyncのインストール

#Macでのインストール
brew install rsync
#or
brew reinstall rsync

#パス確認
which rsync
#/usr/local/bin/rsync

#CentOS7でのインストール
sudo yum install rsync

rsyncの使い方

rsyncの使い方は、rsyncのオプションに加えて、 同期元と同期先のディレクトリを引数として与える。

#基本形(1)
rsync -av [同期元ディレクトリ] [同期先ディレクトリ]

#基本形(1'): その逆も可能
rsync -av [同期先ディレクトリ] [同期元ディレクトリ]

#基本形(1''): スラッシュつきで実行
rsync -av [同期元ディレクトリ]/ [同期先ディレクトリ]

[同期元ディレクトリ]と[同期先ディレクトリ]を入れ替えても実行が可能である。

ここで、同期元ディレクトリのパスの最後に「/」を付けない場合、ディレクトリごとコピーする。一方、最後に「/」を付ける場合、対象ディレクトリ内のファイルをコピーする。

#基本形(2)ローカル=>リモートマシンで同期
rsync -avuc [同期元ディレクトリ] [ユーザー名]@[IPアドレス]:[同期先ディレクトリのフルパス]

#基本形(2')リモートマシン=>ローカルで同期
rsync -avuc [ユーザー名]@[IPアドレス]:[同期先ディレクトリのフルパス] [同期元ディレクトリ]

リモートマシンとの通信には、そのマシンのパスワード入力が必要である。また、リモートマシンとの同期には、同期先ディレクトリのフルパスあるいはホームパス(~/)を使用する。

次に、ssh経由で通信するrsync実行は、-e sshオプションで指定する。

#基本形(3)ローカル=>リモートマシンで同期 + ssh通信
rsync --avuc --stats -e ssh [同期元ディレクトリ] [ユーザー名]@[IPアドレス]:[同期先ディレクトリのフルパス]

#基本形(3')リモートマシン=>ローカルで同期 + ssh通信
rsync --avuc --stats -e ssh [ユーザー名]@[IPアドレス]:[同期先ディレクトリのフルパス] [同期元ディレクトリ]

このとき、--statsオプションを付与すると、完了後に、統計情報が表示される。-cオプションで、チェックサムを行う

バッチファイルでのrsyncコマンドの実行

例えば、シェルファイル(.sh)あるいはバッチファイル(.command)を用意すると、[同期元ディレクトリ]を引数として与えて、特定の同期先とのファイル同期を行うこともできる。

#!/bin/bash

MY_DIRNAME=$(dirname $0)
cd $MY_DIRNAME
cd ../

rsync -ahuv -e 'ssh -P 22 -i [秘密鍵のパス]' \
$1 [ユーザー名]@[IPアドレス]:[同期先ディレクトリのフルパス]

exit

#Macでは実行可能
#osascript -e 'tell application "Terminal" to quit' & exit

ここで、$1は実行ファイルの第一引数にくるリテラルが代入される。 3-5行目は特に不要かも。

rsyncのオプション一覧

オプション 概要
-e ssh SSH経由でrsync実行
-v rsyncの詳細表示
--stats 転送(同期)完了後に、統計情報の表示
--size-only タイムスタンプを無視して、ファイルサイズのチェックだけを行う
-c, --checksum 同じサイズのファイルについてチェックサムを行う
-h, --human-readable 数字を読みやすい単位で表示
--progress 転送の進行状況の表示
-a -rlptgoDオプション(–recursive –links –perms –times –group –owner –devices)と同じ
-av -rlptgoDオプション + 詳細表示
-r ディレクトリを再帰的コピー
-l シンボリックリンクを DEST で作り直す。
-p DEST のパーミッションを SOURCE と同じにする。
-t ファイルの転送時に、修正時間情報もリモートへ転送
-g DEST の所有グループを SOURCE と同じにする。
-o DEST の所有者を SOURCE と同じにする。
-D デバイスファイルとスペシャルファイルを維持する。
-u, --update 同期先のファイルの方が新しいときは、上書きしない
-z 圧縮通信
-4 IPv4使用
-6 IPv6使用
--delete 同期元にないファイルを同期先から削除する
--delete-before 同期先にないファイルを同期前に削除する
--delete-during,--del 同期先にないファイルを同期中に削除する
--delete-delay 同期中に削除すべきファイルを見つけて、後で削除する
--delete-after 同期先にないファイルを同期終了後に削除する

LINUX/Macの基本コマンドの関連記事

skume.net

skume.net

skume.net

skume.net

skume.net

skume.net

参考資料

webkaru.net

www.fenet.jp

www.maruko2.com

www.itmedia.co.jp

rsync options · GitHub

【LINUX/Macの基本コマンド④】cd, cat, head/tailなどのコマンドの使い方メモ

はじめに

ターミナル上で、よく使うであろう基本コマンドを紹介する。

cd、cat、head/tail、chmod、shutdownなどを解説する。

cd : ディレクトリ移動

cd [ディレクトリ]
#このとき、「tab」を押すと、ファイルを表示・補完
#コマンド実行時に、[ ]は不要

#(1) Homeディレクトリに移動
cd

#(2) 絶対パスでHomeからDesktopに移動
cd /Users/Home/Desktop

#(3) 相対パスでHomeからDesktopに移動
cd ./Desktop
#現在(./)のディレクトリの意味

#(4) 相対パスで、DesktopからTestに移動
cd ../Home/other/Test
#1つ上(../)のディレクトリの意味

cat : ファイル内表示・結合・作成

#ファイル内の表示
cat [ファイルパス]
#コマンド実行時に、[ ]は不要

#行番号を付加して、ファイル表示
cat -n [ファイルパス]

#複数ファイルから、結合ファイルを作成(行方向に結合)
cat [ファイルパス1] [ファイルパス2] > [ファイルパス3]
#ex. cat test1.txt test2.txt > test3.txt

#空ファイルの作成(Ctrl + d で終了すること)
cat > [ファイルパス]

#すべての履歴表示、「~ (チルダ)」はHomeディレクトリの意味
cat ~/.bash_history
#OR
history

head / tail : ファイルの先頭や末尾を表示

#ファイルの先頭から、10行を表示
head -n 10 [ファイルパス]

#ファイルの末尾から、10行を表示
tail -n 10 [ファイルパス]

覚えておくと良いターミナルコマンド

#システムを終了する
shutdown -f now
              
#再起動する
reboot

#ユーザーに実行権限を与える
chmod +x [実行ファイルのパス]

#すべてのユーザーに実行権限を与える
chmod a+x [実行ファイルのパス]

#Rootユーザーでコマンドを実行する
sudo reboot

ターミナルコマンド補足編

#日時を表示するコマンド。
date

#2021年のカレンダーを表示する
cal 2021

#アクティブなジョブの表示
jobs

#ジョブモニターの表示
top

まとめ

プログラミング学習には不可欠な、ターミナル操作。

ターミナル操作が、一般的なブラウザ操作よりも扱うのが難しい理由は、文字で操作するというコマンドラインインターフェイス(CUI)というそもそもの操作体系の違いにある。

また、ターミナルを使いこなすには、Linuxの基本コマンドを覚えることが必要もある。 LinuxコマンドはLinuxだけでなく、Mac OSでも使えます。

Linuxコマンドを覚えることで、プログラミングスキルが一気に上がることになります。

LINUX/Macの基本コマンドの関連記事

skume.net

skume.net

skume.net

skume.net

skume.net

skume.net

細胞形態デジタルATLASのWebページをまとめてた件〜生体組織や細胞の光顕画像・電顕画像を中心に〜

序章

細胞形態の画像集をATLAS(アトラス / マップ集)としてまとめた教育サイトは、 海外を含めていくつかあるが、 Google検索してもそれらWebサイトに辿り着くのは至難である。

今回、生体組織・細胞の形態学や電顕画像を主なトピックとして、 無料で公開されているものに限って調査して、関連するWebサイトをまとめてみた。動物細胞、植物組織が含まれる。

見つかった電顕画像は、主に透過型電子顕微鏡(TEM)の超薄切片像であり、一部に走査型電子顕微鏡(SEM)で取られたバルク試料像や切片SEM像もある。また、細胞生物学、組織科学の基礎知識を記載しているページもあわせて掲載した。

今回調査した印象としては、純粋に、電顕写真だけの解説を見たいなら、Workshop Anatomy for the Internetが良いだろう。

また、組織科学の解説も確認したいなら、Michigan Histology and Virtual Microscopy Learning Resources が良いだろう。

20210年8月4日更新。随時更新予定。

日本国内 (無料公開)

理研微細構造画像メタデータベース(RIKEN MIM)

マウス
ラット

短評: 網羅的組織微細構造解析(モルフォミックス)のプラットフォーム。組織切片の広域SEMデータが公開されている。

東京医科歯科大学 教養部 生物学分野

短評: 細胞構造の解説、細胞構造イラストと組織科学・電顕写真

短評: 細胞構造の解説、細胞イラストと電顕写真

海外 (無料公開)

Biology 130 Lab Review Images, University of Wisconsin

Laboratory 3 : The Plant Cell

短評: 植物細胞の光顕・電顕画像。

ATLAS of PLANT and ANIMAL HISTOLOGY, Dpt. of Functional Biology and Health Sciences, Faculty of Biology, University of Vigo, Spain

短評: 細胞生物学の解説、光顕・電顕画像。サイトデザインが良い。

The Internet Pathology Laboratory for Medical Education hosted By Eccles Health Sciences Library, The University of Utah

短評: 正常細胞の構造、HIV粒子、Neoplasms、腎病変などの電顕像。

Michigan Histology and Virtual Microscopy Learning Resources, University of Michigan Medical School

サブセクション

短評: 電顕画像、組織科学の解説がよく纏まっている。

Virtual Histology, Dartmouth Medical School, Dartmouth College

サブセクション

短評: WSIが多い。電顕画像は細胞や組織の種類が豊富。

HUMAN STRUCTURE VIRTUAL HISTOLOGY, Indiana University School of Medicine

短評: 解説と組織画像が丁寧に纏められている。次ページへのスクロールがやや面倒。

Workshop Anatomy for the Internet - English homepage -, Editor: Privatdozent Dr. med. habil. Holger Jastrow, Specialist in Anatomy

サブセクション

短評: 様々な電顕画像が堪能できる。素晴らしい。

The Histology Guide, Faculty of Biological Sciences, University of Leeds

短評: 細胞生物学の解説と写真のバランスは良い。デザインは良い。

SBPMD Histology Laboratory Manual, Columbia University College of Physicians and Surgeons

短評: 解説が主。Webビューアに飛ばない。。

Image Galleries, Biomedical Imaging Unit, Laboratory and Pathology Block, Southampton General Hospital, University of Southampton

短評: 画像が主。綺麗だけど、画像少なめ。

the University of Oklahoma Health Sciences Center Interactive Histology Atlas

短評: 主に光顕のAtlas。

Cell Image Library, Center for Research in Biological Systems, University of California San Diego

短評: たくさん画像データがある。撮像モダリティなどのメタデータが充実。

Histology Guide, Virtual microscopy laboratory (T. Clark Brelje and Robert L. Sorenson.)

短評: 5 Aug 2021に追加。細胞生物学の解説と電顕画像がうまくマージされている。

Selected Websites, Anatomy & Physiology Guide, Campus Library, University of Washington Bothell & Cascadia College

短評: 5 Aug 2021に追加。学生用のまとめサイト。

Histology Text Atlas Book, visualhistology.com

短評: 5 Aug 2021に追加。教科書的な内容がまとまっている。

付録 - 有料画像集

短評: マニアックにも電顕写真がある。ライセンスは細かく分かれている。やや高めな印象。