В чем разница между «ls» и «ls -p»? [closed]

Кто-нибудь может сказать мне, в чем разница между ls и ls -p команды в Linux?

1
задан 21 July 2017 в 19:25

4 ответа

-p опция добавляет a / в конце каталогов это помогает Вам легко обнаружить, какой из выводов является каталогом и какой является файлом.

Подобная опция к -p -F который использует эти символы для указания:

  • / -> каталоги
  • @ -> символьные ссылки
  • | -> первым прибыл, первым обслужен файлы (именованные каналы).

С другой стороны, ls не делает ни одного из них.

Эти опции полезны, когда Вы не используете опцию как --color или Ваш терминал не поддерживает колоризацию вывод.


$ ls
block   dm-1    hwrng

Трудно сказать, какой является каталогом и какой является файлом, правильно? Так:

$ ls -p
block/   dm-1    hwrng

Теперь я могу сказать block каталог.

6
ответ дан 3 December 2019 в 06:19

ls -p добавляет a / после имен папок, ls не делает.

4
ответ дан 3 December 2019 в 06:19

От man ls (Который имеет документацию всех команд Linux),

ls

   ls - list directory contents

ls-p

   -p, --indicator-style=slash
          append / indicator to directories
1
ответ дан 3 December 2019 в 06:19

Если Вы не замечаете эффекта -p, необходимо проверить что ls искажается к.

Поскольку другие сказали, ls -p имена каталогов причин, которые покажут с запаздыванием /. Однако иногда люди спрашивают о какой флаги как -p и -F сделайте, потому что они, может казаться, не имеют никакого эффекта.

Обычно эффект явно очевиден:

ek@Io:~/tmp$ ls
directory  regular-file
ek@Io:~/tmp$ ls -p
directory/  regular-file

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

В Ubuntu, type ls обычно шоу ls is aliased to `ls --color=auto'. (Этим псевдонимом обеспечивают alias ls='ls --color=auto' в пользователе .bashrc файл, который копируется с /etc/skel когда учетная запись пользователя создается.), Когда пользователь работает ls на интерактивном приглашении оболочки это заменяется ls --color=auto.

Если -p кажется, не имеет никакого эффекта, когда Вы передаете его ls, попытайтесь работать type ls или alias ls. (Так как возможно, хотя редкий, иметь функцию оболочки для ls, type более надежно, чем alias при выяснении, что продолжается здесь.) Это может показать, что Вы имеете ls псевдоним, который включает -p, --indicator-style=slash, -F, или --classify.

Существует несколько способов обойти расширение псевдонима:

command ls
\ls
/bin/ls

Та третья команда только эквивалентна если ls исполняемый файл /bin/ls. Это почти всегда имеет место; это только отличалось бы если секунда ls исполняемый файл был добавлен в другом месте. Выполненный type -a ls видеть.

0
ответ дан 3 December 2019 в 06:19

Другие вопросы по тегам:

Похожие вопросы: