История изменений
Исправление kaldeon, (текущая версия) :
Работать с архивами приходится настолько редко, что проблему с несколькими директориями даже не замечал. Можно будет перейти на aunpack, чтобы вручную не проверять корневую директорию архива. Не люблю обёртки, но здесь UI-польза очевидна.
Ещё этот тред натолкнул меня на мысль добавить просмотр архивов в Acme (текстовый редактор). Можно без проблем сделать просмотр архивов, навигацию по каталогам, просмотр файлов, даже изменение.
К сожалению, есть одна семантическая проблема. Как сделать копирование, удаление, создание каталога? Для работы с обычной файловой системой пользователь самостоятельно использует системные cp/mv/rm/mkdir, которые не проникают внутрь архивов. Такое ощущение, что придётся реализовать локальные версии этих утилит. Абстракции «файл», которую можно было бы выделить и запомнить как в Explorer.exe, нет.
Копирование может быть следующим:
из этого архива в этот же архив (при этом резолвить “.” и “..” придётся самому, включая обход проклятых симлинков)из этого архива в фс (как тогда быть с двойным смыслом “.”, которая может обозначать текущий каталог как внутри tar, так и внутри фс?)из фс в этот архив (как тогда понять, где искать исходный файл: в фс или внутри архива?)из этого архива в другой архив и наоборот
И это минимум. Почему, например, нельзя сделать grep -l по содержимому файлов архива?
Все эти вещи можно было бы получить бесплатно, если можно было монтировать tar как файловую систему. Но так почему-то никто не делает.
Как вариант, можно сделать такие встроенные команды:
Cp src dst будет копировать внутри архива. Аналогично Mv, Rm, Mkdir — только внутри архива.X [src [dst]] распаковывает текущую директорию. Без аргументов — текущую директорию, один аргумент — переданный файл или директорию. Если два аргумента, то второй указывает целевую директорию.R [src [dst]] добавит файл из файловой системы.Копирование/перемещение между двумя архивами — никак, ибо не могу найти простого интерфейса.
Edit: вместо этих извращений лучше монтировать архив как фс.
Исправление kaldeon, :
Работать с архивами приходится настолько редко, что проблему с несколькими директориями даже не замечал. Можно будет перейти на aunpack, чтобы вручную не проверять корневую директорию архива. Не люблю обёртки, но здесь UI-польза очевидна.
Ещё этот тред натолкнул меня на мысль добавить просмотр архивов в Acme (текстовый редактор). Можно без проблем сделать просмотр архивов, навигацию по каталогам, просмотр файлов, даже изменение.
К сожалению, есть одна семантическая проблема. Как сделать копирование, удаление, создание каталога? Для работы с обычной файловой системой пользователь самостоятельно использует системные cp/mv/rm/mkdir, которые не проникают внутрь архивов. Такое ощущение, что придётся реализовать локальные версии этих утилит. Абстракции «файл», которую можно было бы выделить и запомнить как в Explorer.exe, нет.
Копирование может быть следующим:
из этого архива в этот же архив (при этом резолвить “.” и “..” придётся самому, включая обход проклятых симлинков)из этого архива в фс (как тогда быть с двойным смыслом “.”, которая может обозначать текущий каталог как внутри tar, так и внутри фс?)из фс в этот архив (как тогда понять, где искать исходный файл: в фс или внутри архива?)из этого архива в другой архив и наоборот
И это минимум. Почему, например, нельзя сделать grep -l по содержимому файлов архива?
Все эти вещи можно было бы получить бесплатно, если можно было монтировать tar как файловую систему. Но так почему-то никто не делает.
Как вариант, можно сделать такие встроенные команды:
Cp src dst будет копировать внутри архива. Аналогично Mv, Rm, Mkdir — только внутри архива.X [src [dst]] распаковывает текущую директорию. Без аргументов — текущую директорию, один аргумент — переданный файл или директорию. Если два аргумента, то второй указывает целевую директорию.R [src [dst]] добавит файл из файловой системы.Копирование/перемещение между двумя архивами — никак, ибо не могу найти простого интерфейса.
Edit: вместо этих извращений — монтировать архив как фс.
Исправление kaldeon, :
Работать с архивами приходится настолько редко, что проблему с несколькими директориями даже не замечал. Можно будет перейти на aunpack, чтобы вручную не проверять корневую директорию архива. Не люблю обёртки, но здесь UI-польза очевидна.
Ещё этот тред натолкнул меня на мысль добавить просмотр архивов в Acme (текстовый редактор). Можно без проблем сделать просмотр архивов, навигацию по каталогам, просмотр файлов, даже изменение.
К сожалению, есть одна семантическая проблема. Как сделать копирование, удаление, создание каталога? Для работы с обычной файловой системой пользователь самостоятельно использует системные cp/mv/rm/mkdir, которые не проникают внутрь архивов. Такое ощущение, что придётся реализовать локальные версии этих утилит. Абстракции «файл», которую можно было бы выделить и запомнить как в Explorer.exe, нет.
Копирование может быть следующим:
из этого архива в этот же архив (при этом резолвить “.” и “..” придётся самому, включая обход проклятых симлинков)из этого архива в фс (как тогда быть с двойным смыслом “.”, которая может обозначать текущий каталог как внутри tar, так и внутри фс?)из фс в этот архив (как тогда понять, где искать исходный файл: в фс или внутри архива?)из этого архива в другой архив и наоборот
И это минимум. Почему, например, нельзя сделать grep -l по содержимому файлов архива?
Все эти вещи можно было бы получить бесплатно, если можно было монтировать tar как файловую систему. Но так почему-то никто не делает.
Как вариант, можно сделать такие встроенные команды:
Cp src dst будет копировать внутри архива. Аналогично Mv, Rm, Mkdir — только внутри архива.X [src [dst]] распаковывает текущую директорию. Без аргументов — текущую директорию, один аргумент — переданный файл или директорию. Если два аргумента, то второй указывает целевую директорию.R [src [dst]] добавит файл из файловой системы.Копирование/перемещение между двумя архивами — никак, ибо не могу найти простого интерфейса.
Edit: вместо этих извращений — монтировать архив как фс.
Исправление kaldeon, :
Работать с архивами приходится настолько редко, что проблему с несколькими директориями даже не замечал. Можно будет перейти на aunpack, чтобы вручную не проверять корневую директорию архива. Не люблю обёртки, но здесь UI-польза очевидна.
Ещё этот тред натолкнул меня на мысль добавить просмотр архивов в Acme (текстовый редактор). Можно без проблем сделать просмотр архивов, навигацию по каталогам, просмотр файлов, даже изменение.
К сожалению, есть одна семантическая проблема. Как сделать копирование, удаление, создание каталога? Для работы с обычной файловой системой пользователь самостоятельно использует системные cp/mv/rm/mkdir, которые не проникают внутрь архивов. Такое ощущение, что придётся реализовать локальные версии этих утилит. Абстракции «файл», которую можно было бы выделить и запомнить как в Explorer.exe, нет.
Копирование может быть следующим:
- из этого архива в этот же архив (при этом резолвить “.” и “..” придётся самому, включая обход проклятых симлинков)
- из этого архива в фс (как тогда быть с двойным смыслом “.”, которая может обозначать текущий каталог как внутри tar, так и внутри фс?)
- из фс в этот архив (как тогда понять, где искать исходный файл: в фс или внутри архива?)
- из этого архива в другой архив и наоборот
И это минимум. Почему, например, нельзя сделать grep -l по содержимому файлов архива?
Все эти вещи можно было бы получить бесплатно, если можно было монтировать tar как файловую систему. Но так почему-то никто не делает.
Как вариант, можно сделать такие встроенные команды:
- Cp src dst будет копировать внутри архива. Аналогично Mv, Rm, Mkdir — только внутри архива.
- X [src [dst]] распаковывает текущую директорию. Без аргументов — текущую директорию, один аргумент — переданный файл или директорию. Если два аргумента, то второй указывает целевую директорию.
- R [src [dst]] добавит файл из файловой системы.
- Копирование/перемещение между двумя архивами — никак, ибо не могу найти простого интерфейса.
Исходная версия kaldeon, :
Работать с архивами приходится настолько редко, что проблему с несколькими директориями даже не замечал. Можно будет перейти на aunpack, чтобы вручную не проверять корневую директорию архива. Не люблю обёртки, но здесь UI-польза очевидна.
Ещё этот тред натолкнул меня на мысль добавить просмотр архивов в Acme (текстовый редактор). Можно без проблем сделать просмотр архивов, навигацию по каталогам, просмотр файлов, даже изменение.
К сожалению, есть одна семантическая проблема. Как сделать копирование, удаление, создание каталога? Для работы с обычной файловой системой пользователь самостоятельно использует системные cp/mv/rm/mkdir, которые не проникают внутрь архивов. Такое ощущение, что придётся реализовать локальные версии этих утилит. Абстракции «файл», которую можно было бы выделить и запомнить как в Explorer.exe, нет.
Копирование может быть следующим:
- из этого архива в этот же архив (при этом резолвить “.” и “..” придётся самому, включая обход проклятых симлинков)
- из этого архива в фс (как тогда быть с двойным смыслом “.”, которая может обозначать текущий каталог как внутри tar, так и внутри фс?)
- из фс в этот архив (как тогда понять, где искать исходный файл: в фс или внутри архива?)
- из этого архива в другой архив и наоборот
И это минимум. Почему, например, нельзя сделать grep -l по содержимому файлов архива?
Все эти вещи можно было бы получить бесплатно, если бы можно было монтировать tar как файловую систему. Но так почему-то никто не делает.
Как вариант, можно сделать такие встроенные команды:
- Cp src dst будет копировать внутри архива. Аналогично Mv, Rm, Mkdir — только внутри архива.
- X [src [dst]] распаковывает текущую директорию. Без аргументов — текущую директорию, один аргумент — переданный файл или директорию. Если два аргумента, то второй указывает целевую директорию.
- R [src [dst]] добавит файл из файловой системы.
- Копирование/перемещение между двумя архивами — никак, ибо не могу найти простого интерфейса.