できるLINUXという本を読み、イントラネットサーバを立てました。
特に問題ないと思うのですが、ファイルサーバーとして利用してみようと思い、windowsのパソコンからLINUXのpublicとしたフォルダへ、ファイルを移しています。
ところが、うまく移す事ができないファイルがあるのです。
何故なのでしょうか。
移るものは、すんなりと行くのですが、できないファイルはいつも特定のものです。
エラーメッセージとして、
[LINUXのpublicの移動先のフォルダ名]は存在しません。作成しますか。→(一応、はいで抜ける)
もう一度、上と同じメッセージが出る。→(また、はいで抜ける)
[移したいファイル名]を作成または置換できません。既に存在するファイルを作成する事はできません。”
と、出ます。
よろしくお願いします!
追伸、移らないファイルを英文字に変えたら、うまくいきました。
しかし、漢字交じりのファイル名でもすんなり移るものもあります。
基本的にファイル名に漢字は用いない方がいい、という事なのでしょうか?
また、漢字のファイル名が使用できるような良い方法は何かあるのでしょうか。
No.1ベストアンサー
- 回答日時:
linuxをファイルサーバにするために使用したソフトは何でしょうか?(samba?ftpd?その他?)
一応sambaであるとして説明します。設定ファイル(バージョンによってちがいますがsmb.confというファイルが/etc/samba/、/usr/local/etc/あたりにあると思います。 )の
globalセクション([global]という行の次の行で良いです。)に
client code page = 932
coding system = CAP
という行をvi等のテキストエディタで追加します。これでwindowsの漢字ファイル名を、漢字を使わないように1バイト文字に変換して格納します。
「CAP」という部分は「EUC」や「SJIS」とすることができますが、OS(linux)が対応していなければいけません。(linuxが対応しているかどうかは私は知りません。)
設定ファイルを変更したら、sambaの再起動をして変更を反映させてください。
早速ご回答を頂きありがとうございました。
書き忘れましたが、用いているソフトはsambaでした。
「CAP」のところは、一応、EUCにしてみたところ、今まで移す事ができなかったファイルもすんなりと移せました!
詳細まで書き込んで頂き、感謝いたしております。
設定ファイルを何故この様に書き込むのかは私には解りませんが、"漢字を使わないように1バイト文字に変換し格納している"との事、最初はよく解りませんでしたが、半角文字確か0.5バイトとの組み合わせ等で、最初の文字からsambaが読み込んで行くと、巡り合わせでlinuxファイル名に禁止されている文字に解釈され、うまく移せない思わぬトラブルとなる、という事なのでしょうか。
もし宜しかったら追記して頂ければありがたいです。
とりあえず、差し支えなくファイルサーバが使えるようになりました。
ありがとうございました。
No.4
- 回答日時:
coding systemを特に指定していなかったということであれば、Windowsの漢字ファイル名を変換せずにやりとりしていたということだと思います。
「coding system=EUC」の場合、内部に変換テーブルを持っていて、適切に処理するようになっているはずです。
「coding system=CAP」の場合「漢字のファイル.txt」を「:8a:bf:8e:9a:82:cc:83t:83@:83C:83:8b.txt」のようにマルチバイト文字を「:」+2桁の16進数に変換します。したがってsambaサーバを起動しているOS(のファイルシステム)のマルチバイト対応の有無にかかわらず、ファイルを格納できます。
日本語ファイル名の使用の可否についてですが、その日本語ファイルの使用状況によって変わってきます。
(1)sambaはwindows用のファイル置き場として使用しているだけの場合
「CAP」でも「EUC」でもかまいませんが、(2)(3)のような事が予想されるなら、そちらに合わせておいたほうが良いかもしれません。ただ緊急時には「CAP」の方が扱いやすいです。
(2)Macでも同時にファイル共有を行いたい場合
「CAP」というMacとのファイル共有ソフトを使用する場合(encoding system=CAPとはCAPというソフトの互換方式という意味です)、「CAP」を指定することによって、MacとWinで参照できるファイルサーバが実現できます。
(3)日本語ファイル名のファイルをlinux側でも使用する場合
linuxで日本語ファイル名を扱う場合、アプリケーションが日本語ファイル名を扱える事が必要になります。ディストリビューションによってこの辺の対応状況が違うと思いますが、自分の使用するコマンドが日本語ファイル名に対応しているかどうかの確認が必要です。「CAP」はその辺の確認が不要だという点で楽です。
というわけで、「CAP」が無難でオススメですが、「EUC」にする事によるリスクを理解していれば「EUC」でもかまわないと思います。
再度のご回答、本当にありがとうございました。
codingsystem = CAP に変更しました。
素人とは誠に恐ろしいもので、”できる!”等と言う字を見たりするとまるきり知らないのですから無理もありませんが、何でもデキテシマウ、と思ってツイツイ手を出してしまいます。
パソコン、linuxを使う、と簡単には言うものの、本当に多くの人の考えた事が詰まっていて、奥の深いものだと思いました。
少しづつでも慣れていこうと思いますので、恐れ入りますがまた何かの折には、宜しくお願いします。
No.3
- 回答日時:
UNIX上で使えなくてWindowsで使えるファイル名となると「 」(スペース)の入っているファイル名じゃないでしょうか?
私から見れば、Windowsで、スペースの入ったファイル名が使えること事態が許せないのですが・・・。
ご回答をお寄せ頂き、ありがとうございました。
スペースを含むファイル名もだめなのですか。
*、\、?はlinuxでは使わないようにする、という事には気をつけていたのですが、知りませんでした。
漢字.拡張子のファイル名でもうまく移せないものが中にはありました。
うまく行く、と思っても予期せぬ事が多々、出て来てしまってハマッてしまう事があり、アタフタしてしまいます。
またいろいろお願いします。
No.2
- 回答日時:
できるLINUXをお読みになったと言うことは付属のCDからコンパイル済のsambaを
インストールされたのでしょうか?
本来はコンパイル時オプションか設定ファイルで指定しないと日本語ファイル名は使え
ないはずなのですがちゃんと読み書きができるのならそれは設定済と考えて良いでしょう。
そこでエラーの原因ですが、もしかして移らないファイルの名前に半角かな文字、
または機種依存文字(○で囲んだ数字やローマ数字も機種依存文字です。)を使われ
ていないでしょうか。これらはLINUX上ではエラーの原因になります。
また一応日本語対応になっているはずのsambaにしても、日本語名ファイルを扱うと
たまにバグが出るようです。
本来はLINUXに限らずUNIX系のOSでは原則としてファイル名に日本語は使えません。
だから確実にファイルを送りたければ基本的にファイル名に日本語は使わないのが
良いと思います。(解決になりませんが (^^;;
御回答ありがとうございます。
半角かな文字でないもの、機種依存文字でないファイルでもうまく移せないものがありました。
(全部漢字.拡張子のファイルも移せないのがある)
ウーン、漢字のファイル名の方が短い文字数で分かりやすく表記できるので、漢字を使いたいのですが、欲張りすぎるのでしょうか。
なにか、簡単にいく方法があればありがたいのですが。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【マクロ】エラーが発生⇒実行時エラー58既に同名のファイルが存在 5 2022/08/31 10:03
- UNIX・Linux JSLinuxについて。 Linuxのこの手順のプログラミングは合っているでしょうか。 ①ホームディ 2 2022/06/20 15:33
- Excel(エクセル) ファイル一覧表を使ったファイルの移動 5 2022/08/10 15:37
- Excel(エクセル) 【VBA】フォルダAにある2つのファイルの内1つを、フォルダBへ。もう1つを、フォルダBへ移動したい 6 2022/07/26 08:51
- デスクトップパソコン フォルダ内のファイル移動が出来ません 3 2022/10/16 05:42
- Visual Basic(VBA) あるフォルダーのファイルを違う親フォルダーのサブフォルダーに移したい 11 2023/02/15 19:00
- Visual Basic(VBA) Excelのマクロについて教えてください。 作業フォルダ内に2つのファイルがあります。 このファイル 2 2023/07/09 13:40
- Google Drive 【Googleドライブ】ドライブ上内でのフォルダ移行について 4 2022/11/30 12:50
- Excel(エクセル) 【マクロ】ファイルを古い順に、1個ずつ移動する 1 2022/09/06 20:30
- Excel(エクセル) 【VBAファイル移動】2つのマクロを順に実行。1つ目のマクロが実行不可⇒2つ目が実行不可となる件 2 2022/07/29 12:17
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
クライアントは要求された特権...
-
windows11におけるファイルの並...
-
Windows Media Playerを開くと...
-
Windows11のデスクトップのアプ...
-
Windows11 システム通知音がも...
-
MS-DOS 6.22のダウンロード
-
windows11でクイックスキャン等...
-
VirtualBoxのゲストOS起動時にU...
-
Windowsで大量の画像サイズを半...
-
windows11 きれいなロック画面...
-
エクスプローラのアクティブウ...
-
アイコンに、四角い枠が出来て...
-
windowとwindow11は何が違う
-
勝手に無変換になる
-
Microsoft edgeのメッセージに...
-
Windowsの古いゲーム(32bit OS...
-
Windows11のファイル共有
-
「Wi-Fiアダプターへのアクセス...
-
Windows11のデスクトップについて
-
Windows11です。タスクバーの時...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
windows11でクイックスキャン等...
-
エクスプローラのアクティブウ...
-
クロムOSについて教えてください
-
Windows Media Playerを開くと...
-
windows11 きれいなロック画面...
-
Windows11の右クリックメニュー...
-
Windows11のデスクトップのアプ...
-
windows11におけるファイルの並...
-
「Wi-Fiアダプターへのアクセス...
-
Windows11 システム通知音がも...
-
Windowsの古いゲーム(32bit OS...
-
windows10DVDからインストール...
-
アイコンに、四角い枠が出来て...
-
有料Microsoft365は、PCを変え...
-
Mac用の外付けHDはWindowsPCで...
-
コマンドプロンプト tree
-
Win + G でCPU使用率が表示され...
-
Windows11 ゴミ箱 ファイルの取...
-
Windowsアップデートしたらタス...
-
MS-DOS 6.22のダウンロード
おすすめ情報