Как делает туалет-l 'ls', дают фактическое количество строк?

Мне действительно удавалось найти, как я все еще смог соединиться: В Yast существует раздел Remote Administration, который позволяет Вам включать для отключения удаленного удаленного администрирования. Это, по-видимому, создает порт, слушающий на 5 900. До проблем, отображающих рабочий стол, оказывается, что KDE4 пошел под главной перестройкой с их новой настольной средой, названной плазмой. Было что-то о том, как плазма представила зрительный ряд, который заставит vnc выходить из отображения рабочего стола правильно (размыл серый/коричневый).

Начальный экран для появления был экраном входа в систему с различными вариантами через нижнюю часть (язык, среда, и т.д.). Была опция переключиться на гнома, которого я судил. То, что я не заметил, было, когда имя пользователя вводилось, опция переключится при запросе пароль. Когда swtiched право после ввода имени пользователя, это успешно выполнилось и смогло войти в систему сессия гнома без катастрофического отказа.

1
09.02.2013, 01:02
1 ответ

ls производит список файла/имен каталогов в текущем каталоге.

'ls' будет заменен выводом ls. Таким образом, Вы на самом деле выполняете что-то как:

wc -l file1 file2 file3 ... fileN

И конечно wc откроет каждый файл, названный в командной строке в свою очередь, для подсчета строк.

Тот же эффект мог иметься путем выполнения:

wc -l *

Обратите внимание, что это только содержит, если ни одни из имен файлов в текущем каталоге не содержат “странного” символа (пробел или \[?*).

2
27.01.2020, 23:39
  • 1
    Если 'ls' были заменены выводом ls, затем wc попросился бы считать строки одного файла, чей (долго и мультилиния) имя является выводом ls. 'ls' расширяется до вывода ls минус запаздывающие символы новой строки, и затем разделяется на несколько слов (по умолчанию на SPC, символах табуляции и символах новой строки), и затем каждое слово подвергается globbing. Это только эквивалентно wc -l * особый случай, где никакое имя файла в текущем каталоге не содержит SPC, вкладку, новую строку, *, ? или [ персонажи. Использование ls тот путь является просто неправильным. –  Stéphane Chazelas 09.02.2013, 00:03
  • 2
    я, возможно, был более конкретным; но да оболочка разделит вывод от ls в маркеры, на основе IFS. и т.д. Независимо, как Вы говорите, с помощью ls как это является странным в лучшем случае и опасным в худшем случае. –   09.02.2013, 00:49
  • 3
    Примечание должно выйти за предел * как * не затронут пробельными или специальными символами. За исключением файлов, запускающихся с -, который может быть интерпретирован туалетом как опция. обходное решение wc -l -- * –  frostschutz 09.02.2013, 01:11
  • 4
    См. также partmaps.org/era/unix/award.html#ls на этом "Бесполезном (и Иногда Опасный) Использование ls" –  tripleee 09.02.2013, 12:11

Теги

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