lsコマンドのfオプションはhelpを読むと、do not sort, enable -aU, disable -ls --color
と記載されており。
fオプションはソートせずにaオプション,Uオプションを有効にして、lオプション、sオプションとcolorを無効化する感じのオプションです。
自分は.始まりのファイルを表示したいときに使ったりしており。
普段、fオプションを使うが、lオプションだけを有効にしたい場合は。
ls -fl
といった具合に実行すると、lオプションが無効にならないため、こちらを利用しています。
しかしtypoしてls -lf
とオプションの順序を逆に打鍵してしまうと、こちらの場合はlオプションが無効化された状態となります。
fコマンドがlオプションを無効化する要素を含んでいるため。
fオプションの前にlオプションを書くと無効化されるが、fオプションのあとにlを書くと無効化されないそういう物だと理解していましたが。
下記に、似た疑問が投稿されており。
How to order several options of a command (ls)?
その返答に下記のようにinfo ls
の記述が紹介されていました。
Primarily, like
-U'--do not sort; list the files in whatever order they are stored in the directory. But also enable
-a' (list
all files) and disable-l',
--color', and-s' (if they were specified before the
-f').
ドキュメントにはちゃんとfオプションの前のオプションを無効にすると記載されていたんですね。
総評
なんとなくで理解していたことでも、ちゃんとドキュメントみると明示的にかいてあったりして、ちょっと気になる事があればやっぱりドキュメントに立ち返るのは大事です。