/tmp
предназначен как быстро (возможно маленький) устройство хранения данных с коротким временем жизни. Много чистых систем /tmp
очень быстро - в некоторых системах это даже смонтировано как Электронный диск. /var/tmp
обычно располагается на физическом диске, больше и может содержать временные файлы в течение более длительного времени. Некоторые системы также убирают /var/tmp
, но менее часто.
Также отметьте это /var/tmp
не могло бы быть доступным в раннем процессе начальной загрузки, как /var
и/или /var/tmp
могут быть точки монтирования. Таким образом это немного сопоставимо с различием между /bin
и /usr/bin
. Первое доступно во время ранней начальной загрузки - последний после того, как система смонтировала все. Таким образом, большинство сценариев начальной загрузки будет использовать /tmp
и нет /var/tmp
для временных файлов.
Другое (предстоящее) местоположение на Linux для временных файлов /dev/shm
.
Можно просто использовать *
; нет никакой потребности в *.*
. Расширения файла не являются особенными на Unix. *
нуль соответствий или больше символов — включая точку. Таким образом, это соответствует foo.png
, потому что это - нуль или больше символов (семь, чтобы быть точным).
Отметьте это *
по умолчанию не соответствует файлам, начинающимся с точки (ни один не делает *.*
). Это часто, что Вы хотите. В противном случае в ударе, если Вы shopt -s dotglob
это будет (но все еще исключать .
и ..
). Другие оболочки имеют различные пути (или ни один вообще) включения dotfiles.
С другой стороны, zip
также имеет a -r
(рекурсивная) опция сделать все деревья каталогов сразу (и не иметь для волнения о dotfile проблеме):
zip -r myfiles.zip mydir
где mydir
каталог, содержащий Ваши файлы. Обратите внимание, что произведенная zip будет содержать структуру каталогов, а также файлы. Как peterph указывает в его комментарии, это обычно рассматривается как хорошая вещь: извлечение zip будет аккуратно хранить все извлеченные файлы в одном подкаталоге.
Можно также сказать zip не снабжать пути -j
/--junk-paths
опция.
zip
команда идет с документацией, говоря Вам обо всем (много) опции; ввести man zip
видеть ту документацию. Это не уникально для zip; можно получить документацию для большинства команд этот путь.
Иначе должен был бы использовать, находят и xargs: (это могло бы включать a"." каталог в zip, но это должно все еще извлечь правильно. С моим тестом zip разделила точку перед сжатием), find . -type f -exec zip zipfile.zip {} +
( +
может быть заменен \;
если Ваша версия find
не поддерживает +
конец для должностного лица. Это будет медленнее хотя...),
Это будет по умолчанию включать все подкаталоги. На GNU находят -maxdepth
может предотвратить это.
В моем случае я хотел заархивировать каждый файл в отдельный архив, поэтому я сделал следующее (в zsh
):
$ for file in *; do zip ${file%.*}.zip $file; done
Otro (método lento )para hacer esto (que agrega un archivo al zip a la vez):
for f in *.[^.]*; do
[ -r "$f" ] || continue # Skip directories or non-existant files (Probably ".[^.]*" if directory has no dotfiles). Using -e will allow directories to be used as well
zip zipfile.zip "$f" # If directories are included, you probably want to add -r
done
Esto tiene los problemas de archivo de puntos de*
(solución alternativa agregada )y sería iniciar zip una vez para cada archivo, agregándolo al archivo. En bash
, se ocuparía de una gran cantidad de archivos.
Sería más lento que la mayoría de los otros métodos, pero es relativamente simple.
Не .zip
файлов, а gzip *
— это короткая команда, которая сжимает каждый файл в каталоге в отдельный .gz
и удаляет оригинал. Действительно удобно во многих случаях, так как многие другие инструменты могут работать с файлами .gz
напрямую.
user@computer:~/test$ touch test1.txt
user@computer:~/test$ touch test2.txt
user@computer:~/test$ touch test3.txt
user@computer:~/test$ ls
test1.txt test2.txt test3.txt
user@computer:~/test$ gzip *
user@computer:~/test$ ls
test1.txt.gz test2.txt.gz test3.txt.gz
*
оболочка-globbing не включает dotfiles (т.е. начало имен файлов.
). Это - другое преимущество для архивирования целого каталога по имени. – mrb 28.11.2012, 19:29.
и..
? – tkbx 28.11.2012, 19:30