ファイル・フォルダとパス

26.2. ファイル・フォルダとパス

ファイルやフォルダとパスについて確認しましょう.

準備 #

次のボタンから、演習用の Colab のノートブックを開いてください.

HWB-directory.ipynb

このノートブックは以前に使ったものと同じです.

  1. Colabとファイル操作

つづいて演習の題材のデータをアップロードします.

右のボタンから Yggdrasil.zip を colab にアップロードしてください.手元にダウンロードしてからアップロードすると良いでしょう.

Yggdrasil.zip

(ユグドラシルと読んでください)

アップロードに成功すると,ファイルブラウザ Yggdrasil.zip が表れます.

ファイルの展開 #

zip ファイルには複数のファイルが格納されています. ノートブックの2つ目のセルの実行ボタンを押して,unzip でファイルを取り出しましょう.
このとき,左のファイルブラウザも更新されていて,Yggdrasil フォルダ内にいろいろなフォルダがあることが分かります.

README.txt #

Yggdrasil/README.txt を読む方法の一つは,ファイルブラウザでダブルクリックすることです

長い文が切れていますが,水平スクロールバーでスクロールすると読めます

ターミナルで読んでみましょう. 14.1. ターミナル .

画面 下端 のツールバーからターミナル terminal を起動します.

開いたターミナルで cat コマンドを使います.

cat Yggdrasil/README.txt

以下のスクリーンショットのようになるでしょう. (パネルの横幅を調整しています)

tree #

フォルダの下にどのようなファイルがあるのか,GUIのファイルブラウザや,CUIの tree コマンドで調べることができます.

Yggdrasil 以下のファイルを調査してみましょう.

ファイルブラウザでは,初めはフォルダが折りたたまれています. 右向き三角形 のアイコン ▶ を押して展開します.開いたフォルダはアイコンが下向き三角形 ▼ に変わります.

ターミナルでは tree コマンドで確認すると便利です. Colab や Chromebook端末では,最初にコマンドをインストールします. 右のようなセルを実行するか,または,ターミナルに apt instal -y tree と入力してください.
play_circle
%%shell
apt install -y tree
無事にインストールされたら, Yggdrasil 以下のファイルを調べてみましょう. 右図のような構造で,10個のファイルがあることが分かります.
tree Yggdrasil
Yggdrasil
├── lower
│   ├── Helheim
│   │   └── Eljudnir.txt
│   ├── Muspelheim
│   │   └── Gimli.txt
│   └── Niflheim
│       └── Hvergelmir.txt
├── middle
│   ├── Jotunheim
...(省略)...
12 directories, 10 files
フォルダを折りたたむこともできます.オプション -L 1 をつけると,Yggdrasil の直接の子だけを表示します. 既に読んだ README.txt を除くと,lower, middle, upper の3つのフォルダがあることが分かります.
tree -L 1 Yggdrasil
Yggdrasil
├── lower
├── middle
├── README.txt
└── upper

さて,これまでに lower/Helheim/Eljudnir.txt というファイルがあることが分かりました. このファイルを README.txt と同じように読んで見ましょう. 以下は cat コマンドで読んだ例です.ファイルブラウザからダブルクリックしても読めます.

cat Yggdrasil/lower/Helheim/Eljudnir.txt
女王ヘルが住む「湿った」宮殿。死者が辿り着く、暗く静かな場所です。

Eljudnir とは 女王ヘルが住む場所のようです.

参考 北欧神話 Wikipedia: ユグドラシル Wikipedia: Yggdrasil

パスの便利な入力方法 #

cat を使わずにGUIで同等の操作ができますが,将来他のコマンドを扱う練習として,ここでは cat の練習もしましょう.

まず,Yggdrasil/... と打つのは長いです.楽をするための2つの方法を習得しましょう

1つ目は,タブキー keyboard_tab で補完することです. cat Y まで打った段階で,(つぎの文字 g を打たずに) タブキー keyboard_tab を押してみましょう. すると,cat Yggdrasil と自動で入力されます. 同様に cat Yggdrasil/l まで入力してからタブキー keyboard_tab cat Yggdrasil/lower に, cat Yggdrasil/lower/H まで入力してかららタブキー keyboard_tab cat Yggdrasil/lower/Helheim になります. このように,数文字の入力とタブキー keyboard_tab による補完を繰り返すことで,素早く入力できます.

2つ目は,GUIとの連携で,ファイルブラウザからコピーペーストする方法です.

  • ファイルブラウザで目的のファイルを見つけます
  • 右クリックでメニューを開いて, Copy path を選ぶと,パスがコピーされます
  • ターミナルで cat (空白文字含む) まで打った状態で,ペーストされます
この自動補完が可能なのは,入力済みの文字 (ここでは Y) で始まる ファイルやフォルダが1つしかないからです.もし複数ある場合は,1つに絞られるまで入力してから タブキー keyboard_tab を押しましょう.

練習 #

Yggdrasil には,上層・中層・下層と3つの層があり,各層には3つの世界があると知られているようです. のようにフォルダが構成されているので,いろいろなファイルを読んでみましょう.

exercise
Svartalfheim の Nidavellir に住んでいるのは?
  • エルフ
  • ドワーフ
  • ゴブリン

課題 #

ファイルのハッシュダイジェストを計算するための sha256sum というコマンドがあります. 使い方は,sha256sum filepath になります.filepath の部分に調べたいファイルのパスを書きます. 以下は,sample_data/README.md について調べた例です.

sha256sum sample_data/README.md
a63d715f48c25c4f0b207afe4d7eb1547b08b92c33b126971e701e9590e1173d  sample_data/README.md

教員に指示されたファイルのハッシュダイジェストを調査し,報告してください.

ハッシュダイジェストは,ファイルの内容の同一性の確認する電子指紋として使われます.
QRコード previous page 26.2. ファイル・フォルダとパス next page 平均情報量
このサイトは開発版の はいぱーワークブック です.