ファイルシステムの操作

初期のシェルを使うとシステム内を移動してコマンドを実行することができますが、Nuのような現代的なシェルでも同じことができます。システムとやり取りする際に使用する一般的なコマンドのいくつかを見てみましょう。

ディレクトリの内容を確認する

> ls

他の章でみてきたように、lsはパスの内容を表示するためのコマンドです。Nuは利用可能なテーブルとして内容を返します。

lsコマンドには表示する内容を変更するためにオプションで引数を渡すことができます。例えば、".txt"で終わるファイルの一覧を表示できます。

> ls *.txt
---+--------------+------+----------+---------+--------------+--------------
# | name | type | readonly | size | accessed | modified
---+--------------+------+----------+---------+--------------+--------------
0 | history.txt | File | | 1.3 KB | 2 months ago | a day ago
1 | readonly.txt | File | readonly | <empty> | 2 months ago | 2 months ago
---+--------------+------+----------+---------+--------------+--------------

上記のオプション引数"*.txt"の中で利用されているアスタリスク(*)はしばしばワイルドカードやグロブと呼ばれ、何にでもマッチします。グロブ"*.txt"は"'.txt'で終わる任意のファイルにマッチする"と読むことができます。

Nuはより深いディレクトリにアクセスできる最新のグロブも利用します。

> ls **/*.rs
-----+-----------------------------------------------------+------+----------+----------+----------------+----------------
# | name | type | readonly | size | accessed | modified
-----+-----------------------------------------------------+------+----------+----------+----------------+----------------
0 | src/cli.rs | File | | 19.1 KB | 15 hours ago | 15 hours ago
1 | src/commands/args.rs | File | | 244 B | 2 months ago | 2 months ago
2 | src/commands/autoview.rs | File | | 2.5 KB | 15 hours ago | 15 hours ago
3 | src/commands/cd.rs | File | | 277 B | a week ago | a week ago
4 | src/commands/classified.rs | File | | 13.5 KB | 15 hours ago | 15 hours ago
5 | src/commands/clip.rs | File | | 2.0 KB | 2 days ago | 2 days ago

ここでは、".rs"で終わるファイルを検索しています。2つのアスタリスクは"ここからはじまる任意のディレクトリの中"を示しています。

現在のディレクトリを変更する

> cd new_directory

現在のディレクトリを変更するにはcdコマンドを使います。他のシェルと同じように、ディレクトリの名前か上の階層に移動する場合は..ショートカットを利用します。

ファイルシステムのコマンド

Nuはクロスプラットフォームで動作するいくつかの基本的なファイルシステムのコマンドも提供します。

mvコマンドを利用すればアイテムをある場所から別の場所へ移動できます。

> mv item location

ある場所から別の場所へアイテムのコピーができます。

> cp item location

アイテムの削除ができます。

> rm item

3つのコマンドはlsコマンドでみたグロブ機能も利用できます。

最後に、mkdirコマンドで新しいディレクトリを作成できます。

> mkdir new_directory