Каков волшебный разделитель между именами файлов в ls output?

Выходные данные ls (без аргументов), как представляется, разделяют имена файлов с помощью строк.

Доказательства:

И все же в терминале вывод ls помещает несколько файлов на одну строку, отделяя имена файлов пробелами, чтобы сделать хорошо выровненные столбцы:

 $ ls a.txt b.txt c.txt 

Итак, мой вопрос: как это сделать?

Используется ли какой-либо специальный символ управления для «подделки» новой строки? Или он знает, когда его вывод передается в другую команду и форматирует его вывод по-разному в этом случае?

Или он знает, когда его вывод передается в другую команду и форматирует его вывод по-разному в этом случае?

Да. Из полного руководства (доступно через info ls если документация установлена):

Если стандартный вывод является терминалом, вывод находится в столбцах (отсортировано по вертикали), а управляющие символы выводятся как вопросительные знаки; В противном случае вывод выводится по одному на строку, а управляющие символы выводятся как есть.

Если вам нравится вывод одного столбца, вы можете запустить

 ls -1 

Чтобы получить его в терминале.

ls обнаруживает это, когда вы прокладываете свой выход. Вы можете увидеть это в документации:

Если стандартный вывод является терминалом, вывод находится в столбцах (отсортировано по вертикали), а управляющие символы выводятся как вопросительные знаки; В противном случае вывод выводится по одному на строку, а управляющие символы выводятся как есть.

Если вы хотите, чтобы каждый файл на выходе размещался на отдельной строке независимо от перенаправления канала, вы можете использовать

 ls -1 
  • Передача двух аргументов команде с использованием труб
  • Обнаруживать, является ли stdin терминалом или трубой?
  • Interesting Posts

    Не повторяющиеся случайные числа

    Настройка взаимодействия с сервером с двумя мониторами поверх клиента с одним монитором

    Как создать раскрывающийся список?

    Создание шкалы Viewbox по вертикали, но растяжение по горизонтали

    ggplot2: Как указать несколько цветов заливки для точек, которые связаны линиями разных цветов

    Сделать Vista Bootable DVD с загруженными файлами WIM

    JAVA не может статически ссылаться на нестатические поля

    ЖДИТЕ для «любого процесса», чтобы закончить

    Как заблокировать ориентацию в портретном режиме в веб-приложении iPhone?

    Определение дубликатов в списке

    Поднимите запущенную программу администратору (Windows 7)

    Как я могу запретить создание маршрута в Windows XP при подключении к Cisco VPN?

    Преобразование строки в математическую оценку

    CSS бок о бок с автоматической равной шириной div

    Почему элементы массива отформатированы как нули, когда они умножаются на 1/2 или 1/3?

    Давайте будем гением компьютера.