ls コマンドは隠しファイルをリストします

ls コマンドは隠しファイルをリストします

lsコマンドを実行すると、opencv.sh~出力に似たファイルが表示されます。ホームディレクトリを確認すると、ファイルは表示されません。

デフォルトでは、他のパラメータを指定せずに隠しファイルも一覧表示されます。これが起こらないようにするにはどうすればよいですか?

私のバージョンはUbuntu 14.04です

答え1

opencv.sh~隠しファイルではありません。 POSIX は、隠しファイルをドットで始まるがドットopencv.sh~で始まらないファイルとして定義します。

これらのファイルを見たくない場合は、そのファイルを含まないglobshopt -s extglobls !(*\~)使用して明示的にそのファイルを避けることができます。または(このファイルがvimから来たと仮定するため)、次のようにすることもできます。バックアップファイルを同じディレクトリに保存しないようにvimを設定する

答え2

ファイルに隠されていることを示す属性がありません。初期バージョンのUnixにはlsコマンドがありました。名前が.("dotfile")で始まる隠しファイルこの伝統は続いた。lsデフォルトでは、このコマンドは次の名前で始まるファイルを非表示にし、他のすべての.ファイルを表示します。

一部のグラフィカルファイルマネージャは、多くのユーザーが期待するように、.名前で始まるファイルを隠します。ls小人ディレクトリに.hidden隠すファイルのリストを含むファイル名を含めることができる新しい規則が導入されました(1行に1つのファイル名、パターンは許可されていません)。

どのファイルマネージャを使用しているかについては言及しておらず、隠されたファイルに対して異なる規則がある可能性があります。隠されていれば、opencv.sh~非標準規則に従うことは明らかであるため、非標準ls規則に従わないと正当に文句を言うことはできません。

~バックアップファイルはファイル名の末尾に追加するのが一般的です。つまり、保存時に編集者が作成したopencv.sh~以前のバージョンです。opencv.shopencv.sh

GNUバージョンは、追加モード(ドットファイルを除く)を無視するオプションをサポートしていますls-Iバックアップファイルを非表示にするには、lsエイリアスを作成してオプション-I "*~"に追加できます。ls

alias ls='ls -I "*~"'

alias ls='ls -I "*~"' --color(ファイルの種類を表す色を使用するなど、他の任意のオプションを選択できます)。この行をシェルが使用する初期化ファイル.bashrcに入れます。.zshrc

関連情報