私は現在Computing GCSEの管理された評価を受けていますが、これはまさに課題です。
コマンドプロンプトでls -aと入力します。何が起こっているのかを示し、説明してください。文字 "b" で始まる隠しファイルのみを表示するようにこのコマンドを変更します。
私はそれをやってls -a
成功ls -b
しませんでした。
答え1
隠しファイルの名前は(ドット)で始まり、useで始まる名前はとしてリストされ.
ませんb
。.b
$ ls .b*
名前で始まるすべてのディレクトリの内容も一覧表示されます.b
。-a
一致するファイル名パターンをシェルに明示的に提供するため、ここではこれは必要ありません。パターンは.
(ドット)で始まるので、隠されたファイルと一致します。展開されたパターンは処理のために渡されますls
。
ディレクトリの内容をリストしたくない場合は、次のようにします。
$ ls -d .b*
上記の回避策は、パターンに一致する名前がない場合にエラーを発生させます。
名前のみリスト一般ファイルで始まる名前.b
、使用
$ for name in .b*; do test -f "$name" && printf '%s\n' "$name"; done
通常のユーティリティと同様の方法で出力を取得するにはls
(column
非標準ユーティリティであることに注意してください):
$ for name in .b*; do test -f "$name" && printf '%s\n' "$name"; done | column
最後のいくつかの解決策は、名前がパターンと一致しない項目を印刷しません。
答え2
ls
それはコマンドであり、-a
コマンドの表示です。特定の人から始まるファイルを表示するb
モードを指定できます。モードは.b*
ファイル.
が隠されていることを意味し、*
他のすべてを意味します。
通常、コマンドが何をしているのかわからない場合は、マニュアルを読んでください。man ls
リストされている項目の内容をリストしたくない場合は、この-d
オプションを使用してください。