Кто-нибудь может сказать мне, в чем разница между ls
и ls -p
команды в Linux?
-p
опция добавляет a /
в конце каталогов это помогает Вам легко обнаружить, какой из выводов является каталогом и какой является файлом.
Подобная опция к -p
-F
который использует эти символы для указания:
/
-> каталоги@
-> символьные ссылки|
-> первым прибыл, первым обслужен файлы (именованные каналы).С другой стороны, ls
не делает ни одного из них.
Эти опции полезны, когда Вы не используете опцию как --color
или Ваш терминал не поддерживает колоризацию вывод.
$ ls
block dm-1 hwrng
Трудно сказать, какой является каталогом и какой является файлом, правильно? Так:
$ ls -p
block/ dm-1 hwrng
Теперь я могу сказать block
каталог.
ls -p
добавляет a /
после имен папок, ls
не делает.
От man ls
(Который имеет документацию всех команд Linux),
ls
ls - list directory contents
ls-p
-p, --indicator-style=slash
append / indicator to directories
-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
видеть.