「:」を含む名前ではコマンド補完は機能しません。

「:」を含む名前ではコマンド補完は機能しません。

私はLinuxシステムをハッキングしています(関連はありませんが、Bluetoothを動作させようとしています)。

次の構造のディレクトリ

   /var/lib/bluetooth/
    ├── B8:27:EB:8E:A8:4D
    │   ├── 00:12:A1:12:09:51
    │   │   └── info
    │   ├── 34:88:5D:70:53:44
    │   │   └── info
    │   ├── cache
    │   │   ├── 00:12:A1:12:09:51
    │   │   ├── 34:88:5D:70:53:44
    │   │   ├── E4:CE:8F:03:00:6D
    │   │   └── F8:77:B8:AD:BC:AC
    │   └── settings

これらの操作を試しましたが、すべてのインクルードに対してコマンド補完は機能しません:。これは正常ですか?コマンドを正しく機能させる方法はありますか?これらの秘密の名前をすべて入力するのは退屈でエラーが発生しやすいです。

sudo ls /var/lib/bluetooth/B8:27:EB:8E:A8:4D/34:88完了していないとマークされたら、
sudo ls /var/lib/bluetooth/B8:27:EB:8E:A8:4D/34:88:5D:70:53:44OK

たとえば、ワイルドカードを使用しても00*機能しないようです。

答え1

sudo ls

sudoディレクトリをリストするためにを使用してディレクトリにアクセスする必要がある場合、シェルがディレクトリをリストできると考えるのはなぜですか?

これは、コマンドラインの完成、ワイルドカード、コロン、引用符、またはシェルのバージョンに関する問題ではありません。これは非常に単純な権限の問題です。

このディレクトリにリストされているアクセス権がありません。したがって、アカウントで実行されるシェルは不可能です。ディレクトリを一覧表示できないため、ディレクトリ内で名前を完成したり、ワイルドカードを拡張したりすることはできません。

関連情報