質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
Google Colaboratory

Google Colaboratoryとは、無償のJupyterノートブック環境。教育や研究機関の機械学習の普及のためのGoogleの研究プロジェクトです。PythonやNumpyといった機械学習で要する大方の環境がすでに構築されており、コードの記述・実行、解析の保存・共有などが可能です。

コマンド

コマンドとは特定のタスクを行う為に、コンピュータープログラムへ提示する指示文です。多くの場合、コマンドはShellやcmdようなコマンドラインインターフェイスに対する指示文を指します。

Q&A

解決済

1回答

1999閲覧

Colab上でシンボリックリンクをはりたい

cunwe

総合スコア65

Google Colaboratory

Google Colaboratoryとは、無償のJupyterノートブック環境。教育や研究機関の機械学習の普及のためのGoogleの研究プロジェクトです。PythonやNumpyといった機械学習で要する大方の環境がすでに構築されており、コードの記述・実行、解析の保存・共有などが可能です。

コマンド

コマンドとは特定のタスクを行う為に、コンピュータープログラムへ提示する指示文です。多くの場合、コマンドはShellやcmdようなコマンドラインインターフェイスに対する指示文を指します。

0グッド

0クリップ

投稿2021/10/18 18:07

こちらの記事

# シンボリックリンクを作成 !ln -sfn /content/drive/MyDrive/workspace /root/workspace

とあるのですが、添付させていただいた画像のように、現在いるところで!pwdすると/contentとだけ表示されそれ以下のパスが書かれていないのですが、上のようなシンボリックリンクをはりたい場合はどう書けばよろしいでしょうか?なお、root配下には何もありませんでしたがこちらによるとroot以下にworkspaceという名のファイルを作るということでしょうか?知見をお持ちの方、ぜひよろしくお願いいたします。
イメージ説明

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

jbpb0

2021/10/19 00:54 編集

> !pwdすると/contentとだけ表示され 「!pwd」はカレントディレクトリを表示するコマンドだから、結果は一つだけです > それ以下のパスが書かれていない !ls -l /content/drive を実行した結果に「MyDrive」は有りますか? 有れば、 !ls -l /content/drive/MyDrive を実行した結果に「workspace」は有りますか? 有れば、 !ln -sfn... で、シンボリックリンクを作れます もし「!ls -l...」の実行結果がたくさん表示されたら、スクロールして探してください
jbpb0

2021/10/19 00:56 編集

> root以下にworkspaceという名のファイルを作るということでしょうか? そうです !ln -sfn... で、シンボリックリンクという特殊な種類のファイルを「/root」に作ります 参考Webページの通りにシンボリックリンクを作れば、実際は「/content/drive/MyDrive/workspace」にあるファイルやディレクトリが、「/root/workspace」にも有るように扱えるようになります
cunwe

2021/10/19 03:58

>「!pwd」はカレントディレクトリを表示するコマンドだから、結果は一つだけです すいません、カレントディレクトリの意味を勘違いしてました。"現在いる場所"はなんというのでしょうか?「/content/drive/My Drive/workspace」のworkspaceにいるときに「!pwd」したら「/content/drive/My Drive/workspaceのworkspace」と表示されるかと思っていたのですが。 >!ls -l /content/driveを実行した結果に「MyDrive」は有りますか? あります >!ls -l /content/drive/MyDriveを実行した結果に「workspace」は有りますか? ないですね、workspaceというディレクトリを作成した記憶もありませんが。。
cunwe

2021/10/19 04:02

記事内のworkspaceが僕でいう(My Drive以下の)Colab Notebooks/Kaggleかと思ったのですが、違いますでしょうか...?
cunwe

2021/10/19 04:05

>そうです !ln -sfn... で、シンボリックリンクという特殊な種類のファイルを「/root」に作ります txtみたいな拡張子がないなと思ったらシンボリックリンクというファイルは拡張子がないんですね。また、「/content/drive/MyDrive/workspace」や「/root/workspace」のworkspaceのように名前は統一したほうがよろしいでしょうか? 質問が多くなって申し訳ありません、お手隙の際にご回答いただけましたら幸いです。
jbpb0

2021/10/19 07:07

> "現在いる場所"はなんというのでしょうか? カレントディレクトリです > 「/content/drive/My Drive/workspace」のworkspaceにいるときに「!pwd」したら「/content/drive/My Drive/workspaceのworkspace」と表示されるかと思っていたのですが。 「現在いる場所」が「/content/drive/MyDrive/workspace」なら、「!pwd」を実行したら「/content/drive/MyDrive/workspace」と表示されます > !pwdすると/contentとだけ表示され となったのなら、その時は「/content」にいたのです 「!pwd」を実行したら「/content」と表示される状態で、 %cd drive !pwd %cd MyDrive !pwd を実行してみてください 「現在いる場所」が → /content/drive → /content/drive/MyDrive と変わるのが分かると思います
jbpb0

2021/10/19 07:20 編集

> 「/content/drive/MyDrive/workspace」や「/root/workspace」のworkspaceのように名前は統一したほうがよろしいでしょうか? 「/root/workspace」を作った目的次第なので、分かりません シンボリックリンクを作った以降で、「/root/workspace」に何かがあるのを前提としたプログラムを実行するのなら、名前が違う場合は、プログラムを修正する必要があります そうではなく、単に「/content/drive/MyDrive」にある何か(名前は何でもいい)に容易にアクセスできるように「/root」にシンボリックリンクを作るだけなら、シンボリックリンクの名前も何でもいいですよね 【追記】 https://knowledge.sakura.ad.jp/28301/ の「手順2.6 ワークスペースディレクトリの作成と最低限の環境変数の設定」に、 「VSCode+Dockerで開発経験のある方は、Dockerのフォルダ構成と同じにすると都合がよいので、「/workspace」というフォルダがオススメです。もちろん他のフォルダ名でも構いませんが、、、」 と書かれてました
cunwe

2021/10/19 12:10 編集

MyDriveやroot配下にworkspaceディレクトリがないのですが手動で作成した方がよろしいでしょうか?それとも`!ln -sfn /content/drive/MyDrive/workspace /root/workspace`を実行したときに自動で作成されますか? 【追記】 ↑僕が参考にした記事では作ってる前提で話が進んでるみたいですが、jbpb0さんに添付していただいた記事では手動で作ってるようですね。
cunwe

2021/10/19 12:20

僕が添付させていただいた記事の「#シンボリックリンクを作成」の4つ下ぐらいに「#bashファイルの作成」とあると思うのですがzshをデフォルトに設定してからのこの操作って何を意味してるかお分かりになったりしますでしょうか...?
jbpb0

2021/10/20 00:16 編集

> MyDriveやroot配下にworkspaceディレクトリがないのですが手動で作成した方がよろしいでしょうか?それとも`!ln -sfn /content/drive/MyDrive/workspace /root/workspace`を実行したときに自動で作成されますか? 「/root」には、「!ln...」を実行したら「workspace」というシンボリックリンクが作成されます 「.../MyDrive」には作成されません なので、現状の状態のままで、上記の「!ln...」を「そのまま」実行しても、ダメです > 記事内のworkspaceが僕でいう(My Drive以下の)Colab Notebooks/Kaggle ということなら、それのシンボリックリンクを「/root」に作成したらいいのではないですかね 作成するシンボリックリンクのファイル名を「workspace」にする必要があるのか、あるいは「Kaggle」でいいのかは、「2021/10/19 16:12」のコメントに書いたように、質問者さんが参考Webページの手順で環境構築をした後に何をしたいかによるので、私には分かりません ちなみに、実体が「(My Drive以下の)Colab Notebooks/Kaggle」のシンボリックリンクのファイル名を「/root/workspace」にすることもできます シンボリックリンクのファイル名が、実体のファイル名やディレクトリ名と同じじゃないといけない、ということはないので
jbpb0

2021/10/20 00:31

> zshをデフォルトに設定してからのこの操作って何を意味してるか こういう使い方をしたことが無いので、何らかの操作をした時にbashが使われる、ということがあるのかどうか分かりません ちなみに、 https://speakerdeck.com/takapy/googlecolabtovscodewoyong-itafen-xi-huan-jing-yun-yong-tips?slide=28 には、「bash系ファイルにも必要な環境変数を設定しておくと良い」って書いてありました
cunwe

2021/10/22 15:34

MyDrive配下にworkspaceという空のディレクトリを作り、`!ln -sfn /content/drive/MyDrive/workspace /root/workspace`を実行しましたがroot配下にはworkspaceディレクトリは作成されていません。シンボリックリンクがちゃんと作成されたか確認する方法などはございますでしょうか? zshにつきましては記事の添付をしてくださりありがとうございます。bashにも設定しておいた方がよろしいのですね。
jbpb0

2021/10/22 15:46

> root配下にはworkspaceディレクトリは作成されていません。 シンボリックリンクはディレクトリではありません > シンボリックリンクがちゃんと作成されたか確認する方法 !ls -l /root
jbpb0

2021/10/23 01:51

たしか、質問者さんはMacをお使いだったので、Macでシンボリックリンクがどのようなものかを確認してみてください 以下、Macのターミナルでの手順を書きます まず、 ls -l / を実行してみてください そうしたら、一番左が「l」(小文字のエル)になってるのがいくつかあると思います それがシンボリックリンクです 当方のMacのOSはちょっと古いのを使ってますが、それでは「etc」「tmp」「var」がそうです BigSurでは、もしかしたら変わってるかもしれませんが、ここでは同じとして話を進めます シンボリックリンクは、「ls -l...」の結果の一番右が、たとえば etc -> private/etc みたいになってますよね これは、実際のディレクトリは「/private/etc」で、それのシンボリックリンクを「/etc」として作ってる、ということです つまり、本当は「/etc」というディレクトリは有りません しかしながら、 cd /etc は実行できます 本当は存在してない「/etc」に「cd」できるのは、「/etc」というシンボリックリンクがあるからです 「/etc」はディレクトリではありませんが、ディレクトリが有るかのように「cd」ができます cd /etc ls -l の結果と、 cd /private/etc ls -l の結果を比べてみたら、全く同じであることが分かります それは、「/etc」の実体が「/private/etc」だからです
jbpb0

2021/10/23 02:00

上記を行なって確認してもらえたら、Google Colabで「!ln...」で作成したシンボリックリンク「/root/workspace」はディレクトリではないことと、シンボリックリンクを作ると全然違うところにあるディレクトリに簡単にアクセスできるようになって便利、ということが分かると思います
cunwe

2021/10/24 06:50 編集

詳しく教えてくださりありがとうございます。 `!ls -l /`を実行すると`total 104`でたくさん出力されたのですが、`!ls -l /root`と実行すると`total 0`と出力されてしまいました。
jbpb0

2021/10/24 07:41

> `!ls -l /root`と実行すると`total 0`と出力 「!ln -sfn…」を実行してから、すぐに「!ls -l /root」を実行しましたか?
cunwe

2021/10/24 07:45

記事通りに進めましたので、 `!ln -sfn /content/drive/MyDrive/workspace /root/workspace`の後`!sudo apt-get install zsh`でzshをインストールし、`!chsh -s /usr/bin/zsh`でデフォルトをzshにし、`!ls -l /root`を実行いたしました。
jbpb0

2021/10/24 07:50

> `!ln -sfn /content/drive/MyDrive/workspace /root/workspace`の後`!sudo apt-get install zsh`でzshをインストールし、`!chsh -s /usr/bin/zsh`でデフォルトをzshにし、`!ls -l /root`を実行 は、一気に連続でやりました? 途中でエラーは出てませんでしたか? 下記は実行できますか? !ls -l /content/drive/MyDrive/workspace
cunwe

2021/10/24 08:46

`!sudo apt-get install zsh`を実行した際に以下のような出力が出ましたが、エラーが出てる感じはしないのですがどうでしょうか? Reading package lists... Done Building dependency tree Reading state information... Done The following additional packages will be installed: zsh-common Suggested packages: zsh-doc The following NEW packages will be installed: zsh zsh-common 0 upgraded, 2 newly installed, 0 to remove and 37 not upgraded. Need to get 4,066 kB of archives. After this operation, 15.2 MB of additional disk space will be used. Get:1 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 zsh-common all 5.4.2-3ubuntu3.1 [3,376 kB] Get:2 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 zsh amd64 5.4.2-3ubuntu3.1 [690 kB] Fetched 4,066 kB in 3s (1,581 kB/s) debconf: unable to initialize frontend: Dialog debconf: (No usable dialog-like program is installed, so the dialog based frontend cannot be used. at /usr/share/perl5/Debconf/FrontEnd/Dialog.pm line 76, <> line 2.) debconf: falling back to frontend: Readline debconf: unable to initialize frontend: Readline debconf: (This frontend requires a controlling tty.) debconf: falling back to frontend: Teletype dpkg-preconfigure: unable to re-open stdin: Selecting previously unselected package zsh-common. (Reading database ... 155047 files and directories currently installed.) Preparing to unpack .../zsh-common_5.4.2-3ubuntu3.1_all.deb ... Unpacking zsh-common (5.4.2-3ubuntu3.1) ... Selecting previously unselected package zsh. Preparing to unpack .../zsh_5.4.2-3ubuntu3.1_amd64.deb ... Unpacking zsh (5.4.2-3ubuntu3.1) ... Setting up zsh-common (5.4.2-3ubuntu3.1) ... Setting up zsh (5.4.2-3ubuntu3.1) ... Processing triggers for man-db (2.8.3-2ubuntu0.1) ...
cunwe

2021/10/24 08:47

`!ls -l /content/drive/MyDrive/workspace`を実行すると`total 0`と出力されます。。
jbpb0

2021/10/24 08:53

> `!ls -l /content/drive/MyDrive/workspace`を実行すると`total 0`と出力されます。。 ディレクトリは確かに存在しますね それでしたら、下記を連続して実行してみてください !ln -sfn /content/drive/MyDrive/workspace /root/workspace !ls -l /root 確かに存在するディレクトリのシンボリックリンクを作成するコマンドを実行して、その際にエラーが出なければ、その時に「/root」にシンボリックリンクができてるはずなので、「!ls -l /root」で何も出てこないはずはないのです
cunwe

2021/10/24 08:54

/content/drive/MyDrive配下にworkspaceディレクトリを手動で作ったのですが。。
jbpb0

2021/10/24 09:04 編集

!ls -l /root を実行した結果ですが、 total 0 の下に lrwxrwxrwx 1 root root...(日時とか)... workspace -> /content/drive/MyDrive/workspace と表示されてませんか?
cunwe

2021/10/24 11:38

`total 0 lrwxrwxrwx 1 root root 32 Oct 24 11:36 workspace -> /content/drive/MyDrive/workspace` と表示されました!
jbpb0

2021/10/25 00:23

それでしたら、シンボリックリンク「/root/workspace」が作成されてるので、質問の > 上のようなシンボリックリンクをはりたい は達成されました 空のディレクトリ「/content/drive/MyDrive/workspace」のシンボリックリンクを作ることに意味があるのかは、ご自身でご判断ください
cunwe

2021/10/25 02:16

かしこまりました、ありがとうございます!
guest

回答1

0

ベストアンサー

!pwdすると/contentとだけ表示されそれ以下のパスが書かれていない

python

1!pwd

はカレントディレクトリを表示するコマンドだから、結果は一つだけです

 .

上のようなシンボリックリンクをはりたい場合はどう書けばよろしいでしょうか?

python

1!ls -l /content/drive/MyDrive

を実行した結果に「workspace」は有りますか?
有れば、質問に掲載の「!ln -sfn...」を実行したら、シンボリックリンクを作れます

もし「!ls -l...」の実行結果がたくさん表示されたら、スクロールして探してください

 .

root以下にworkspaceという名のファイルを作るということでしょうか?

質問に掲載の「!ln -sfn...」を実行したら、「workspace」という名前の、シンボリックリンクという特殊な種類のファイルが「/root」に作成されます
それ以外の方法で、「/root/workspace」というファイルをわざわざ作る必要はありません

参考Webページの通りにシンボリックリンクを作れば、実際は「/content/drive/MyDrive/workspace」にあるファイルやディレクトリが、「/root/workspace」にも有るように扱えるようになります

投稿2021/10/25 00:18

jbpb0

総合スコア7653

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問