Linux シェル,Windowsとファイルを共有する

スポンサーリンク

鍛錬 6

Linux シェルスクリプト,Windowsとファイルを共有する

Linux と WIndows でファイルを共有する方法についてです。
 
cifsを用いてマウントし、Linux と Windows 間でファイルの共有を可能にします。
例えば、VMware 上の Linux と Windows 間でのファイル共有等が可能になります。

マウントする際、Windows 側のディレクトリを、事前に共有設定で Linux からもアクセスできるように設定しておく必要があります。

スポンサーリンク

マウントの方法

cifs を用いたマウントを実行するには、以下のように記述します。
(他にも、様々なオプションを付加することが可能です。)

mount -t cifs -o vers=SMBプロトコルのバージョン,username=Windowsのユーザ名,password=Windowsのパスワード //WindowsのIPアドレス/Windowsドライブ直下のディレクトリ /Linuxのディレクトリ
スポンサーリンク

シェルスクリプト

以下のシェルスクリプト test_mount.sh は、cifs を用いてマウントし、Linux 側のディレクトリと Windows 側のドライブ直下にあるディレクトリを接続します。

既にマウントしている場合は、エラーを表示します。

また、本シェルスクリプト内の各種パラメータは、以下に示す通り適当に記述しています。

項目 パラメータ値
Windows のユーザ名 ABC
Windows のパスワード XYZ
Windows のIPアドレス 192.168.123.123
Windows のディレクトリ windows_side
Linux のディレクトリ /mnt/linux_side
#!/bin/sh

tmp=$(mount | grep /mnt/linux_side | grep -v grep)
if [ -z "$tmp" ]; then
	mount -t cifs -o vers=3.0,username=ABC,password=XYZ //192.168.123.123/windows_side /mnt/linux_side
	echo "SUCCESS,mount"
else
	echo "ERROR,already mounted"
fi
スポンサーリンク

実行結果

以下は、次の順序で実行しています。

  1. シェルスクリプト test_mount.sh を実行
  2. mount | grep … を実行して、mount されていることを確認
***@ubuntu:~$ 
***@ubuntu:~$ sudo ./test_mount.sh
[sudo] *** のパスワード:
SUCCESS,mount
***@ubuntu:~$ 
***@ubuntu:~$ 
***@ubuntu:~$ mount | grep /mnt/linux_side
//192.168.123.123/windows_side on /mnt/linux_side type cifs (rw,relatime,vers=3.0,(以降省略...)

 
上記に示した通り、マウントすることができました。

タイトルとURLをコピーしました