ls -lとllの違いは?


59

私は全体としてプログラミングが比較的新しく、いくつかのチュートリアルがls -lディレクトリのファイルを見るのに使用するように言っていて、他が言っていましたll。私はそれlsが短いリストであることを知っていますが、他の2つの間に違いはありますか?


8
をご覧くださいwhich ll。あなたはおそらくそれllが実際にのエイリアスであることを発見するでしょうls -l
HalosGhost 14年

それではls、シェルに入れた他のコマンドの違いは何ですか?入力するwhich lsと、取得しますがalias ls='ls --color=auto' /bin/ls、入力すると(たとえば)入力しwhich cdます/usr/bin/which: no cd in (........)。編集:私は再びそれを試してみてwhich mkdir、私はを得た/bin/mkdir。これらのコマンドの一部が格納されている(?)と/usr/bin、明らかにそうでないコマンドの違いは何ですか?
ジョン14年

これは、ディストリビューションのデフォルトの影響です$PATHlsはエイリアスであることが非常に多いため、シェルはエイリアス(バイナリよりも優先される)とバイナリの実際の場所(この場合は/bin/ls)を報告します。whichが見つからなかった場合cd、何かがひどく間違っているように見えます。
HalosGhost 14年

2
cdファイルシステムにあるプログラムではなく、シェルの組み込みキーワードです。type cdtype lsを使用して、意味を確認します。いくつかのコマンドは、単にシェル組み込みコマンドによって上書きされています。echo中に存在している/bin/echoが、中にbash実際に現代的なシェルのほとんどは、組み込みecho関数は、(通常の機能を拡張しました)代わりに呼び出されます。type実際にどれかを教えてくれます。
オリオン

回答:


88

多くのシステムでllは、はのエイリアスですls -l

$ type ll
ll is aliased to `ls -l'

それらは同じです。


3
LLは、「LS -ltr `にエイリアスされて-私は赤い帽子6使用しています
RDP

3
Ubuntuのでは14.04 llがにエイリアスされた「LS -alF」
ヴィクトル

3
またls -alF、Ubuntu 12.04、16.04、およびさらに多くの場合。
ポール

3
私にとってはMacOSのシエラLL上にエイリアスされるls -lh
Zorgatone

13

前述のように、llはのエイリアスとして定義されることがよくありls -lます。実際、ls多くの場合、エイリアスそのものです。

$ which ls
alias ls='ls --color=auto'
/usr/bin/ls

実際のコマンドはls、上記のコマンドです/usr/binll利便性を目的としていますが、すべての* nixシステムで定義されていることに依存することはできません。


素晴らしい答え。これがls、自動化(特にアドホックワンライナー)に頼るのが通常悪い考えである理由の1つであることを付け加えることはできません。出力を変更するいくつかのオプションと、それらを指定する多くの方法があります。異なるディストリビューションが異なるデフォルトを選択すると、頭痛の種になる傾向があります。
ctt 14年

私は、lsそれ以外にエイリアスする人気のあるディストリビューションを見たことはありませんls --color=auto。それか、エイリアスがありません。
フープ14年

4

Ubuntu 14.04

laike9m@laike9m1:~$ type ll
ll is aliased to `ls -alF'

1
また、12.04と16.04ですが、これでテストできます。
ポール

3

ほとんどの場合、llシェルスクリプトでは機能しません。


1
起こるのは、通常、コマンドのようなものllは実際にはエイリアスであり、スクリプトの実行時には定義されないということです。
フォンブランド14年

3
.profileにエイリアスがあり、エイリアスはインタラクティブシェルで動作しています。新しいスクリプトをデバッグ/テストした後、crontabでスクリプトが突然失敗します。Cronは.profileを読み取りません。
ウォルター14

1
これは質問に対する答えではありませんが、代わりにコメントである必要があります。私の小さな理解から、エイリアスはシェルスクリプトでは非推奨です。
コーンフレーク

私は「ほとんどの」と言うが、それは私にはない、と私は使用ls -l
travelingbones

1

llはのエイリアスですls -l

このオプション-lは、長いリスト形式を使用するようコマンドに指示します。単純なlsコマンドを使用した場合は表示されませんが、いくつかの列が返されます。これらの列は次のとおりです。

  • 許可

  • ハードリンクの数

  • ファイル所有者

  • ファイルグループ

  • ファイルサイズ

  • 変形

  • 時間

  • ファイル名


0

llは実際には `ls -l 'のエイリアスです。llを実行すると、シェルにファイルが表示され、Enterを押して次のファイルを表示します(詳細オプション)。ls -lを実行すると、すべてのファイルが一度に表示されます。

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