удаление или очистка стопки путей popd/pushd

ntfs-3g драйвер FUSE (почти наверняка тот, который Вы используете, если у Вас есть чтение-запись) переговоры ADS, но не по умолчанию (за исключением Linux, по-видимому, где ADS отображаются на расширенных атрибутах по умолчанию).

Из страницы справочника ntfs-3g:

Альтернативные потоки данных (ADS)

NTFS хранит все данные в потоках. Каждый файл имеет точно один поток данных без имени и может иметь много именованных потоков данных. Размер файла является размером своего потока данных без имени. По умолчанию ntfs-3g только считает поток данных без имени.

При помощи опций "streams_interface=windows", Вы сможете считать любые именованные потоки данных, просто путем определения названия потока после двоеточия. Например:

кошка некоторые mp3:artist

Названные потоки данных действуют как нормальные файлы, таким образом, можно читать от них, запишите в них и даже удалите их (использование комнаты). Можно перечислить все именованные потоки данных, которые файл имеет путем получения "ntfs.streams.list" расширенный атрибут.

Что касается обратной стороны Вашего вопроса, основное обобщающее понятие для этих дополнительных метаданных было бы расширенными атрибутами файла. Различные нельды и их файловые системы имеют поддержку такого рода вещи под различными именами: расширение* семейство и много других вызовов фс Linux эти xattrs.

39
10.10.2014, 00:22
2 ответа

dirs -c то, что Вы ищете.

47
27.01.2020, 19:35
  • 1
    это действительно освобождает стек, но не восстанавливает рабочий каталог от дна стека –  Eliran Malka 23.03.2017, 17:20

Чтобы очистить стек, и восстанавливают работоспособность каталог из нижней части стека, либо:

  • получить этот каталог из dirs , перейти в этот каталог, а затем очистить стек:

     cd "$ (dirs -l -0)" && dirs -c 
     

    Параметр -l здесь перечислит полные пути, чтобы убедиться, что мы не потерпим неудачу, если попытаемся cd в ~ , а -0 извлекает первую запись из нижней части стека.

    @ jw013 предложил сделать эту команду более надежной, избегая расширения пути:

     pushd -0 && dirs -c 
     
  • или popd , пока не возникнет ошибка ( что является статусом вызова popd , когда стек каталогов пуст):

     while (($? == 0)); сделать popd; выполнено 
     
8
27.01.2020, 19:35

Теги

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