私が理解したように、ls
コマンドはを呼び出し、getdents
最大x個のディレクトリエントリを返します。関連する他のシステムコールはありますか?を実行すると、ls -l
より多くのシステムコールが発生しますか?ls -l
.xがより高価で遅いことを確認しようとしていますls
。
ベストアンサー1
/bin/ls
出力は通常ソートされます。あなたの「効率的な」問題が単にシステムコールであるのか、それとも実行中の全体的な作業かはわかりませんが、/bin/ls -f
おそらく最小限の問題です。ディレクトリ順にファイル名のみを返します。ソートもなく、メタデータを取得するための追加のinodeクエリもありませんls -l
。
また、デフォルトがカラー指定の場合は、出力カラーの指定方法を知るために、すべてのタスクとls
同等のタスクを実行できます。ls -l