Что на самом деле выводит «ls -dired-l» или «ls -D -l»?

ls --dired -l печатает все файлы и файлы вместе с некоторым числом, за которым следует

 //DIRED// ***66 69 122 131 ....*** //DIRED-OPTIONS// --quoting-style=literal 

Что означают эти цифры жирным шрифтом?

--dired – это опция Emacs для работы с каталогами, но здесь я не понимаю числа.

  • Сортировка файлов по времени модификации
  • отображать только файлы, начиная с. (скрытый)
  • (Почему) плохо использовать ls -A для отображения скрытых файлов?
  • Список символических ссылок в текущем каталоге?
  • Как отобразить n-й результат команды ls?
  • Почему ls -lrth и ls -ltch дают разные результаты
  • Почему ls отображает несуществующий файл?
  • изменить поведение LS_COLORS
  • 2 Solutions collect form web for “Что на самом деле выводит «ls -dired-l» или «ls -D -l»?”

    Выходной сигнал ls -D должен анализироваться в режиме ожидания Emacs.

    Из руководства GNU Coreutils

     '-D' '--dired' 

    В длинном списке ( -l ) распечатайте дополнительную строку после основного вывода:

     //DIRED// beg1 end1 beg2 end2 … 

    Begn и endn представляют собой целые числа без знака, которые записывают положение байта начала и конца каждого имени файла в выходном файле. Это позволяет Emacs легко найти имена, даже если они содержат необычные символы, такие как пробел или символ новой строки, без причудливого поиска.

    Если каталоги перечислены рекурсивно ( -R ), выведите аналогичную строку со смещениями для каждого имени подкаталога:

     //SUBDIRED// beg1 end1 … 

    Наконец, выведите строку вида:

     //DIRED-OPTIONS// --quoting-style=word 

    где слово – стиль цитирования (см. «Форматирование имен файлов»).

    Вот пример:

     $ mkdir -pa/sub/deeper a/sub2 $ touch a/f1 a/f2 $ touch a/sub/deeper/file $ ls -gloRF --dired a a: total 8 -rw-r--r-- 1 0 Jun 10 12:27 f1 -rw-r--r-- 1 0 Jun 10 12:27 f2 drwxr-xr-x 3 4096 Jun 10 12:27 sub/ drwxr-xr-x 2 4096 Jun 10 12:27 sub2/ a/sub: total 4 drwxr-xr-x 2 4096 Jun 10 12:27 deeper/ a/sub/deeper: total 0 -rw-r--r-- 1 0 Jun 10 12:27 file a/sub2: total 0 //DIRED// 48 50 84 86 120 123 158 162 217 223 282 286 //SUBDIRED// 2 3 167 172 228 240 290 296 //DIRED-OPTIONS// --quoting-style=literal к $ mkdir -pa/sub/deeper a/sub2 $ touch a/f1 a/f2 $ touch a/sub/deeper/file $ ls -gloRF --dired a a: total 8 -rw-r--r-- 1 0 Jun 10 12:27 f1 -rw-r--r-- 1 0 Jun 10 12:27 f2 drwxr-xr-x 3 4096 Jun 10 12:27 sub/ drwxr-xr-x 2 4096 Jun 10 12:27 sub2/ a/sub: total 4 drwxr-xr-x 2 4096 Jun 10 12:27 deeper/ a/sub/deeper: total 0 -rw-r--r-- 1 0 Jun 10 12:27 file a/sub2: total 0 //DIRED// 48 50 84 86 120 123 158 162 217 223 282 286 //SUBDIRED// 2 3 167 172 228 240 290 296 //DIRED-OPTIONS// --quoting-style=literal к $ mkdir -pa/sub/deeper a/sub2 $ touch a/f1 a/f2 $ touch a/sub/deeper/file $ ls -gloRF --dired a a: total 8 -rw-r--r-- 1 0 Jun 10 12:27 f1 -rw-r--r-- 1 0 Jun 10 12:27 f2 drwxr-xr-x 3 4096 Jun 10 12:27 sub/ drwxr-xr-x 2 4096 Jun 10 12:27 sub2/ a/sub: total 4 drwxr-xr-x 2 4096 Jun 10 12:27 deeper/ a/sub/deeper: total 0 -rw-r--r-- 1 0 Jun 10 12:27 file a/sub2: total 0 //DIRED// 48 50 84 86 120 123 158 162 217 223 282 286 //SUBDIRED// 2 3 167 172 228 240 290 296 //DIRED-OPTIONS// --quoting-style=literal 

    Обратите внимание, что пары смещений в строке «// DIRED //» выше определяют эти имена: f1, f2, sub, sub2, deep, file. Смещения в строке «// SUBDIRED //» ограничивают следующие имена каталогов: a , a/sub , a/sub/deeper , a/sub2 .

    Вот пример того, как извлечь пятое имя записи, deeper , соответствующее паре смещений 222 и 228:

     $ ls -gloRF --dired a > out $ dd bs=1 skip=222 count=6 < out 2>/dev/null; echo deeper 

    Обратите внимание, что хотя приведенный выше список включает в себя завершающую косую черту для deeper записи, смещения выбирают имя без конечной косой черты. Однако, если вы вызываете ls с --dired вместе с опцией, например --escape (aka -b ), и работаете с файлом, чье имя содержит специальные символы, обратите внимание, что обратная косая черта включена:

     $ touch 'ab' $ ls -blog --dired 'ab' -rw-r--r-- 1 0 Jun 10 12:28 a\ b //DIRED// 30 34 //DIRED-OPTIONS// --quoting-style=escape 

    Если вы используете стиль цитирования, который добавляет отметки кавычек (например, --quoting-style=c ), тогда смещения включают метки кавычек. Поэтому будьте осторожны, чтобы пользователь мог выбрать стиль цитирования через переменную окружения QUOTING_STYLE . Следовательно, приложения, использующие --dired должны либо указать в командной строке явный параметр --quoting-style=literal (aka -N или --literal ), либо быть готовы проанализировать экранированные имена.

    Цифрами являются позиции имен файлов на выходе

    Begn и endn представляют собой целые числа без знака, которые записывают положение байта начала и конца каждого имени файла в выходном файле.

    -D, – прилагается
    генерировать выходные данные, созданные для режима Emacs.

    Interesting Posts

    Остановка хромовой анимации при де-значении

    Могу ли я установить, как долго ssh-agent хранит ключи в памяти?

    Нет настроек CentOS Windows 8 GRUB при перезагрузке

    Почему я не могу получить значения выхода команды в этом сценарии bash?

    Debian не принимает мой частный репозиторий

    Преобразование цветного вывода в html

    Сделать вхождения строки жирным шрифтом

    изменить пользовательские системные переменные (число) удаленной серверной машины с помощью ssh?

    Переносная загрузочная установка Ubuntu, синхронизированная с моим основным компьютером

    Увеличьте ценность для многих процессов

    tar-каталоги, содержащие пробелы

    Есть ли решение для сканирования файлов веб-серверов для вредоносного кода?

    Как использовать wifi с помощью hotspot без прокси-сервера?

    Доступ к переменной индекса массива из цикла сценария оболочки bash?

    Не удается записать файл с разрешением на запись

    Linux и Unix - лучшая ОС в мире.