0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Google ドライブファイルストリームでls

Last updated at Posted at 2020-04-18

GoogleDriveのドライブファイルストリームが便利で、大学のアカウントのものはこっちに乗り換えたのだが、WSLではlsが使えない。当然、bashなどのタブ補完も使えない。が、ディレクトリ名を手打ちすればcdはできるし、ファイル名を指定すればファイルにアクセスすることもできる。

$ ls
ls: reading directory '.': Function not implemented

なので、メッセージ通り、'reading directory'の機能が未実装ということらしい。そのうち実装してくれそうな気もするけど、とりあえず代用案。

alias lsg='/mnt/c/Windows/System32/cmd.exe /C dir'

これで、

$ lsg
 ドライブ G のボリューム ラベルは Google Drive File Stream です
 ボリューム シリアル番号は 1983-1116 です

 G:\ のディレクトリ

2020/04/18  12:04    <DIR>          共有ドライブ
2020/04/18  12:04    <DIR>          マイドライブ
               0 個のファイル                   0 バイト
               2 個のディレクトリ  246,865,571,840 バイトの空き領域

という感じで、DOSのdirコマンドを呼ぶことができる(表示がおもいっきりダ(略)けど)。

とりあえずサマリとか要らなくてファイル(ディレクトリ)名だけわかればいい場合は、dir/Bオプションを付けて、

$ /mnt/c/Windows/System32/cmd.exe /C "dir  /B"
共有ドライブ
マイドライブ

とするのもあり。

前後のサマリは固定形式なので、

$ /mnt/c/Windows/System32/cmd.exe /C dir | tail -n +6 | head -n -2
2020/04/18  12:04    <DIR>          共有ドライブ
2020/04/18  12:04    <DIR>          マイドライブ
$

となるから、

alias lsg='/mnt/c/Windows/System32/cmd.exe /C dir | tail -n +6 | head -n -2'

でいいか。

この他、例えば mv a b なんかも利かないので、汎用的に

alias cmd='/mnt/c/Windows/System32/cmd.exe /C $*'

とかしておくと、mvの代わりに

cmd ren a b

で代用できたりはする。かなりイマイチだけど、とりあえずはなんとか使えそう。

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?