ls -lのフィールドの意味を見つける方法[終了]


9

私の質問は、各フィールドの意味ではありません。私の質問は、各フィールドの意味を決定する方法です。

マニュアルページには、単に-lが長いリスト形式を使用していることを記載せずに、長いリスト形式を使用することが記載されています。


1
OSが異なれば、manページも異なります。どのOSを参照していますか?
Jeff Schaller


重複ではありません。
モンジー

これがトピックから外れているのかわかりません。その理由は、「唯一の例外は、公式ドキュメントの場所に関する質問です」と明確に述べているため、この質問についての説明です。
Calimo

回答:


12

GNU coreutilsの実装のマニュアルページの最後にls(Linuxシステムや他のいくつかのUnicesで見られるように):

SEE ALSO
       Full documentation at: <http://www.gnu.org/software/coreutils/ls>
       or available locally via: info '(coreutils) ls invocation'

オンラインマニュアルへのリンクをたどると、「一覧表示される情報」というラベルの付いたセクションが表示されます。このセクションでは、長い出力形式について詳しく説明しています。

他のほとんどのシステムでは、lsマニュアルは自己完結型であり、長い形式について説明しています。たとえば、OpenBSD ls(1)マニュアル

どのUnixを使用している場合でもlsマニュアルには必要な情報が含まれます。または、関連する他のマニュアルや詳細を含むオンラインドキュメントを参照します。そうでない場合は、これをドキュメントのバグとして報告する必要があります。


コマンドのオプションが何をするかをグーグルするのは危険です。多くのコマンドには非標準の拡張機能があり、実装されているツールのバージョンによって、実装されているUniceが違ったり、実装されているツールのバージョンが違ったりする可能性があります。あなたがしたいことはあなたのシステムのマニュアルを読むことです。

マニュアルにオプションの機能や形式が正確に記述されていない場合、または他のドキュメントを参照して記述されている場合、上記で述べたように、これはドキュメントのバグと見なされます。


3

私のlsマニュアルページには、ロングフォーマットに関する完全な情報が記載されています。これはすべてのシステムで同じである必要があると思います。下にスクロールすると、必要なすべての情報が見つかるかもしれません

長い形式

この-lオプションを指定すると、ファイルごとに次の情報が表示されます。ファイルモード、リンク数、所有者名、グループ名、ファイル内のバイト数、省略された月、日が最後に変更されたファイル、時間ファイル最終変更日、最後に変更された分のファイル、およびパス名。また、内容が表示されるディレクトリごとに、ディレクトリ内のファイルの情報の直前に、ディレクトリ内のファイルが使用する512バイトのブロックの総数が1行で表示されます。ファイルまたはディレクトリに拡張属性がある-l場合、オプションによって出力される権限フィールドの後には ' @'文字が続きます。それ以外の場合、ファイルまたはディレクトリに拡張セキュリティ情報(アクセス制御リストなど)がある場合、-lオプションの後には ' +'文字が続きます。

ファイルの変更時刻が過去または未来の6か月を超える場合、最後の変更の年が時間と分のフィールドの代わりに表示されます。

所有者名またはグループ名が既知のユーザー名またはグループ名でない場合、または-nオプションが指定されている場合は、数値IDが表示されます。

ファイルがキャラクタスペシャルファイルまたはブロックスペシャルファイルの場合、ファイルのメジャーデバイス番号とマイナーデバイス番号がサイズフィールドに表示されます。ファイルがシンボリックリンクの場合、リンク先ファイルのパス名の前に ' ->'が付きます。

-lオプションの下に表示されるファイルモードは、エントリタイプ、所有者権限、およびグループ権限で構成されます。エントリタイプ文字は、次のようにファイルのタイプを示します。

  • b 特殊ファイルをブロックします。
  • c キャラクタースペシャルファイル。
  • d ディレクトリ。
  • l シンボリックリンク。
  • s ソケットリンク。
  • p FIFO。
  • - 通常のファイル。

次の3つのフィールドはそれぞれ3文字です:所有者権限、グループ権限、およびその他の権限。各フィールドには3つの文字位置があります。

  1. の場合r、ファイルは読み取り可能です。もしそうなら-、それは読むことができません。
  2. の場合w、ファイルは書き込み可能です。の場合-、書き込みはできません。
  3. 適用される次の最初のもの:

    • S所有者権限の場合、ファイルは実行可能ではなく、ユーザーID設定モードが設定されます。グループ権限の場合、ファイルは実行可能ではなく、グループID設定モードが設定されます。

    • s所有者権限の場合、ファイルは実行可能であり、ユーザーID設定モードが設定されます。グループ権限の場合、ファイルは実行可能であり、setgroup-IDモードが設定されます。

    • x ファイルが実行可能であるか、ディレクトリが検索可能です。

    • -ファイルは、読み取り、書き込み、実行、set-user-ID、set-group-IDのいずれのモードでも、スティッキーでもありません。(下記参照。)

    これらの次の2つは、最後のグループ(その他の権限)の3番目の文字にのみ適用されます。

    • Tスティッキービットは設定されていますが(モード1000)、実行または検索の権限はありません。(chmod(1)またはを参照してくださいsticky(8)。)

    • tスティッキービットが設定され(モード1000)、検索可能または実行可能です。(chmod(1)またはを参照してくださいsticky(8)。)


4
それは確かにすべてのシステムで同じではありません。さらに、一部のランダムシステムのマニュアルは、ユーザーが使用しているローカルマシンには関係がない場合があります。たとえば、Solarisには、Pシステムのマニュアルに記載されていないファイルタイプ(イベントポート)があります。
クサラナンダ

1
SolarisにはD、ドアが何であるかを理解するのに十分興味をそそるファイルタイプ(ドア)もあります。パイプに似ていると思います。
マークスチュワート

1
@Mark- Solarisの「ls」のマニュアルページの「エントリはドアです」(コメントに興味をそそられました)。

2

のように、infoコマンドの使用を検討してくださいinfo ls。多くのコマンドには、マニュアルページよりも詳細なドキュメントがあります。この場合、@ Kusalanandaの回答のリンクにある同じドキュメントのオフラインバージョンが表示されます。を使用info -k <search term>して、情報ページを検索できます。

ヘルプを見つけるもう1つの方法はapropos <search term>コマンドです。このコマンドは、マニュアルページのタイトルと説明を検索して、探しているものを見つけるのに役立ちます。これはls、私のシステムの場合、セクション1(デフォルト)と1p であるmanページのすべてのセクションを見つけるのに役立ちます。man 1p ls出力のフォーマットに関する情報があります。


1
infoただし、このコマンドはGNUユーティリティを備えたシステムでのみ使用できます。
クサラナンダ

1
確かに、しかしそれは多くのシステムです。
bewilderex63 2018
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.