Разница между ls -l и ll?

59

Я относительно новичок в программировании в целом, и некоторые учебники говорили мне использовать ls -lдля просмотра файлов в каталоге, а другие говорили ll. Я знаю, что lsэто короткий список, но есть ли разница между двумя другими?

Джон
источник
8
Вы можете взглянуть на which ll. Вы, вероятно, обнаружите, что llэто псевдоним для ls -l.
HalosGhost
Так в чем же разница между lsлюбой другой командой, которую я помещаю в оболочку? Если я печатаю, which lsя получаю alias ls='ls --color=auto' /bin/ls, но если я печатаю (например), which cdя получаю /usr/bin/which: no cd in (........). РЕДАКТИРОВАТЬ: я попробовал еще раз с, which mkdirи я получил /bin/mkdir. В чем различие между этими командами, в которых некоторые из них хранятся (?), А /usr/binнекоторые, по-видимому, нет?
Джон
это влияет на дефолт вашего дистрибутива $PATH. lsочень часто имеет псевдонимы, поэтому ваша оболочка сообщает псевдоним (который имеет приоритет над двоичным) и фактическое местоположение двоичного файла (в вашем случае, /bin/ls). Если whichне смог найти cd, то что-то кажется ужасно неправильным.
HalosGhost
2
cdявляется ключевым словом встроенной оболочки, а не программой, найденной в файловой системе. Используйте type cdи, type lsчтобы увидеть, что я имею в виду. Некоторые команды просто переопределяются встроенными оболочками: echoсуществуют в /bin/echo, но bashфактически в большинстве современных оболочек echoвместо них вызывается встроенная функция (которая обычно имеет расширенные возможности). typeна самом деле говорит вам, что это такое.
Орион

Ответы:

88

На многих системах llэто псевдоним ls -l:

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

Они одинаковые.

cuonglm
источник
3
ll имеет псевдоним `ls -ltr '- я использую red hat 6
rdp
3
в Ubuntu 14.04 - псевдоним 'ls -alF'
Виктор
3
Также ls -alFв Ubuntu 12.04, 16.04 и, вероятно, еще много.
Пол
3
Для меня в macOS псевдоним Sierra llls -lh
Zorgatone,
13

Как уже отмечалось, llчасто определяется как псевдоним ls -l. На самом деле, lsчасто сам псевдоним:

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

Фактическая команда, lsкоторая выше, находится в /usr/bin. llзадумано как удобство, но вы не можете полагаться на то, что оно определено во всех * nix системах, поэтому полезно знать, что он на самом деле делает.

sosiouxme
источник
Отличный ответ. Я не могу не добавить, что это одна из причин, почему полагаться на lsавтоматизацию (особенно на отдельные строки), как правило, плохая идея. У него есть несколько опций, которые изменяют его вывод, и множество способов их указать. С разными дистрибутивами, выбирающими разные значения по умолчанию, это приводит к головным болям.
ctt
Я не видел ни одного популярного дистрибутива для псевдонима lsдля чего-либо еще, кроме ls --color=auto. Это либо так, либо псевдоним отсутствует.
Фото
4

Ubuntu 14.04

laike9m@laike9m1:~$ type ll
ll is aliased to `ls -alF'
laike9m
источник
1
Также 12.04 и 16.04, но это все, что у меня есть для тестирования прямо сейчас.
Пол
3

В большинстве случаев llне работает в сценариях оболочки.

Sree
источник
1
В результате обычно такие команды, как llнастоящие псевдонимы, не определяются при запуске сценариев.
vonbrand
3
Некоторые люди имеют псевдоним в .profile, и псевдоним работает в интерактивной оболочке. После отладки / тестирования нового скрипта скрипт неожиданно завершается сбоем в crontab. Крон не читает .profile.
Уолтер
1
Это не ответ на вопрос, но должен быть комментарий. Из моего небольшого понимания псевдонимы устарели в сценариях оболочки.
cornflakes24
Я говорю «большинство» , но это не по моему, и я используюls -l
travelingbones
1

llэто псевдоним для ls -l.

Опция -lуказывает команде использовать формат длинного списка. Он возвращает несколько столбцов, не показанных при использовании простой lsкоманды. Эти столбцы включают в себя:

  • права доступа

  • Количество жестких ссылок

  • Владелец файла

  • Файловая группа

  • Размер файла

  • модификация

  • время

  • Имя файла

Code_Jamer
источник
0

На самом деле ll будет иметь псевдоним ls -l. Если вы запустите ll, он покажет вам файлы в оболочке, а затем нажмите Enter, чтобы увидеть следующие файлы (опция more ..). Если вы запустите ls -l, то все файлы будут отображаться одновременно.

pmaipmui
источник