• 締切済み

Linux の、PATHの設定&Windows とのファイルの共有について

 現在 Win98&LinuxMLD5(ネットにはPHSでたまにつなぐくらいです) という環境で、Linux と格闘中です。色々な書籍で調べてみましたが、どうにも分からず、知識のある方に教えを請いたいと思っています。質問は2つあります。どちらか片方だけでも構いませんので、よろしくお願いします。  (1)PATHの設定で、ダブっている所が在ったため(/usr/sbin:/usr/sbin など)、気になって、設定しなおそうと試みて、PATH が書かれたファイルを探しましたが、まったく見当がつかず(あるのかないのかすらよく分かりませんが)、.tcshrcや.cshrcなどを調べてみましたが、どれも「setenv PATH "${PATH}..."」などとなっていて、一体どこでPATHが設定されているのか、結局分かりませんでした。さらに、それらのファイルでは、参照するディレクトリの順番や種類が、どれもまちまちでした。  そこで質問ですが、      PATHはどこで設定されていますか?      正しい(推奨されるべき)ディレクトリの順番や種類は?      PATHに "." を含める事についての是非 を教えてください。  (2)1つのHDにWindowsとLinuxをデュアルブートしている場合、Linuxからファイルを利用できるという雑誌の記事を読んで、チャレンジしてみました。   $ mount -t msdos /dev/hda1 /mnt/mados としてみましたが、読取専用だというメッセージが出て、また /mnt/msdos ディレクトリ以下には、全くファイルが存在しないようでした。  ちなみに僕が使っているLinuxMLD5 は、Windows の FAT ファイルシステム上にLinux をインストールできるという変わり者です。それが原因なのか、それともコマンドに何か失敗があるのか、教えてください。  以上です。よろしくお願いします。

  • bosco
  • お礼率0% (0/20)

みんなの回答

  • Himao
  • ベストアンサー率29% (5/17)
回答No.3

(2)番についての回答です。 まず、root権限でログインします。 または、ターミナルから $su とします。 次に、マウントするためのディレクトリを作成します。(私は「/windows」としています) #mkdir /windows そして、先ほど作成したディレクトリに、目的のパーティッションをマウントします。(ここでは「/hda5」を想定) #mount -t vfat /dev/hda5 /windows 最後に、「/etc/fstab」に以下の行を追加します。(こうしておけば、起動する度にマウントしなくても良くなる) /dev/hda5 /windows vfat defaults 0 0 あとは、再起動すれば終りです。 「/hda5」などは、適宜に読み替えてください。 以上ですが、LinuxがWindowsと同じパーティッションにインストールされているのなら、この方法だとうまく行かないかも知れません。 ちなみに、この方法は「日経Linux12月号」に掲載されているものと同じです。

  • acky
  • ベストアンサー率31% (182/583)
回答No.2

中途半端な回答をしてすみません。 PATHについては日本語のドキュメントをみつけましたので、下記参考 URLをご覧下さい。もしすでに見たのならすみません。

参考URL:
http://www.linux.or.jp/JF/JFdocs/Path.html
  • acky
  • ベストアンサー率31% (182/583)
回答No.1

(1)について 長くなると思いますので回答だけ /bin/bashの場合 ~/.bashrc /bin/cshrcの場合 ~/.cshrc # ~/ とはホームディレクトリの意味です (2)について 通常マウントする場合にはroot権限が必要な場合がほとんどです。rootになって試してみて下さい。 ちなみに$ mount -t msdos /dev/hda1 /mnt/mados ←は/mnt/msdosの間違いですね? また、$ mount -t msdos ←のmsdosの部分はvfatにした方がいいのではないですか?8.3形式に引っかかります。

bosco
質問者

補足

 回答ありがとうございます。(1)についてですが、.bashrcでも.cshrcでも、PATHの指定の中に、$PATH (もしくは ${PATH} )と書かれており、どこかのファイルでいったんPATHの指定がすでになされているのではないかと思い、質問をしたんですが、そういうわけではないんでしょうか?いまいち環境変数についてよく分かっていないもので、どうもすみません。もしよろしければ、その辺についても解説いただきたいです。お願いします。  (2)については、おっしゃるとおりmsdosのタイプミスです。vfatのほう、試してみます。ありがとうございました。

関連するQ&A

  • パス(PATH)の設定ファイルについて

    OSはRed Hat Linux 9 を使用しております。 また、シェルはbashを使用しております。 ユーザがシステムにログインする際は、通常ですと /etc/profile ~/.bash_profile ~/.bash_login ~/.profile ファイルを読込、パス(PATH)の設定を行うと思いますが、 sshでrootユーザでシステムにログインした際は、 「echo $PATH」の結果は以下でした。 /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin:/sbin su -で再度rootユーザでログインした際、もしくは、他ユーザからsu -でログインすると 「echo $PATH」の結果は以下でした。 /bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/usr/bin/X11:/usr/X11R6/bin:/root/bin:/sbin ログインの仕方でパス(PATH)に違いがあります。 また、「/usr/local/bin」をパス(PATH)として設定している記述が 上記ファイルに見当たりません。 http://sakaguch.com/PastBBS/0038/B0018808.html http://oshiete1.goo.ne.jp/kotaeru.php3?q=800405 等のサイトを参考に、以下ディレクトリ配下を確認しましても /etc/profile.d /etc/rc.d/init.d /etc/rc.d/rc3.d 「/usr/local/bin」をパス(PATH)として設定している記述が 見当たりません。 ログインの仕方でパス(PATH)に何故違いがあるのか、 また「/usr/local/bin」をパス(PATH)として設定している記述がある ファイルをご存知の方ご教授頂きたく思います。 宜しくお願いします。

  • Developer Tools

    ディベロッパーツールのコマンドを絶対パスでなくても認識できるように、シェル環境のカスタマイズをしたのですが、うまくいきません。 実行したこと。 setenv PATH /bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/Developer/Tools 上記を実行すれば、認識されますが、再起動すると最初の設定に戻ってしまうので、 setenv PATH /bin:/sbin:(中略):/Developer/Tools ~/.tcshrc でとすると、 setenv :too many argument と表示され、設定はかえられません。 いろいろ検索してみましたが、わかりません。 お願いします。長文すいません。

    • 締切済み
    • Mac
  • LinuxからWindowsファイルのフルパス設定

    WindowsのtxtファイルをLinuxのデータベースに取り込もうとしているのですが、 Windowsファイルのフルパス設定がわかりません。 えーと、見たいデータはWindowsで表現するところの C:\My Documents\test.txt だと思ってください。 Linuxなら /usr/local/bin/test.dat ですよね。 これをLinux側からWindowsを見ようとすると ディレクトリを区切る記号として「/」を使うのか、「\」を使うのかがわかりません。また、「:」の記号もどう対応するのでしょう? 初歩的な質問ですみませんがどなたか教えてください。 お願いします。

  • libstdc++.so.5にパスが通らない

    Solaris8のコンソール上でC++でコーディングしたプログラムを実行したのですが、libstdc++.so.5が見つからないというエラーが出ます。 .cshrc内で setenv LD_LIBRARY_PATH /usr/local/lib とパスを設定してあるのですが…… なお、当然ながら/usr/local/libには該当するlibstdc++.so.5が存在しています。

  • PATH設定について

    PATHの設定について質問します。 他の質問で同じようなものがあったのですが、どうも よく分からない為、教えて下さい。 PATHの設定をスタートアップファイルに追加したいのですが、シェルによって違うのは分かったんですが。 具体的にわかりません。bashの場合は、ホームディレクトリに.profileを作成するのでしょうか。また.cshrcとか.tchrcとか.loginとか関係しているのでしょうが、どこをどう追加すればいいのか教えていただけませんでしょうか。初心者ですみませんが宜しくお願いします。

  • 環境変数の設定(PATH)

    今、環境変数の設定(PATHの設定)を行っています。 OSは、RedHat9です。 スーパーユーザーのPATHは、 echo $PATHコマンドで見ると /usr/local/sbin:/usr/bin:/home/user1/test となっている。 しかし.bash_profileをみると PATHには、/usr/local/sbin:/usr/binしか 設定しておらず、 ユーザー(user1)の.bash_profileにも /home/user1/testをPATHに設定していない。 どこかでPATH設定を行っていると思いますが わかりません。 PATHの設定は、.bash_profileを設定するとは わかっているのですが、 スーパーユーザーの.bash_profileの記述と echo $PATHで見たPATHの構成がことなるのは なぜでしょうか? よろしくお願い致します。

  • fstabを編集してもうまくマウントできない。

    Linux初心者です。 WindowsXPとVineLinux2.6をデュアルブートしています。 Linuxを入れる前からWindowsの方で作っておいたFat領域があるのでそれをLinuxからでも一般ユーザーが読み書きできるように、/etc/fstabに /dev/hda5 /mnt/win vfat defaults,umask=007,gid=500,euc,zenkaku 0 0 を書き足して、 mount -a を実行したところ、 mount: /dev/hda5 は マウント済か /mnt/win が使用中です mount: mtab によると、/dev/hda5 は / にマウントされています mount: ファイルシステムタイプ 0 はカーネルがサポートしていません という反応です。 今の段階でhda5がどういう状況にいるのかかよくわかりません。 / はhda4に作っていますのでhda5がそこにマウントされているということの意味もわかりません。 よろしくお願いします。

  • Linux ファイル 絶対パス、相対パス

    Linux CentOSの /mnt/loca/bin の配下にrootで test.sh common.sh data.txtを作成 chmod 755 chown root:rootでファイルもフォルダも設定。 別のユーザ testUserでログインし、 sh test.shを実行すると、sh内で記載されている . ./common.shのインクルードに失敗 data.txtの参照 cat data.txt に失敗してしまいます。 絶対パスに変更し、 . /mnt/local/bin/common.sh cat /mnt/local/bin/common.sh にすると問題なく動作します。 また、rootユーザでログインすると相対パスでも問題なく動作します。 rootユーザでないユーザでは絶対パスにする必要があるのでしょうか? 環境変数PATH に /mnt/local/binはとおっています。 ご教授よろしくお願い致します。

  • linuxコマンドについて

    かなりのLinux初心者です。ですので本文中にも間違いがあるかもしれません。 Linuxのコマンドで、各コマンドというのはbinとかsbinの中にあるんですよね? そしてpathが通っていないと、/usr/local~とすべて記述しなくてはいけませんよね? そこで、質問です。 今、bin内にあるコマンド(who)をあるディレクトリで実行したい時、このpathの通し方を教えてもらいたいのです。 次の質問は、例えばwhoコマンドがどこのフォルダ(binやsbin)内にあるか分からない時、探し方を教えてもらいたいのです。 宜しくお願いします。 なにぶん初心者なので説明に不十分なところがあると思いますが、その時は補足要求してください。

  • LINUXサーバーについての質問です。

    LINUXサーバーについての質問です。 http://qiita.com/suin/items/5c4e21fa284497782f71 上記サイトのシェルスクリプトの42行目の PATH=/sbin:/usr/sbin:/bin:/usr/bin は何を意味してるのでしょうか? このシェルスクリプトのファイルの置かれているパスですか? そうであれば、シェルスクリプトには必ずパスを記入するものでしょうか? 教えてください。