Вставка избранного в консоль оболочки

Вы хотите создать tar, подпиливают от места файлы, которые необходимо смолить, находятся?

Существует много способов сделать это.

Если это должно быть создано локально (= на той же машине):

tar czvf /path/to/destination/newfile.tar.gz  ./SOURCEDIR_OR_FILES

Можно добавить дополнительные файлы или каталоги к tar в конце той команды.

Если это должно быть создано удаленно (т.е., Вы хотите создать файл tar на удаленном хосте от того, содержащего данные, которые будут определены вес):

tar czvf - ./SOURCEDIR_OR_FILES | ssh user@host 'cat > newfile.tar.gz'

Более поздняя версия очень универсальна. Например, можно также "копировать" каталог + subdirs использование той же техники:

Копируйте directory+subdirs к другому локальному каталогу:

tar cf - ./SOURCEDIR_OR_FILES | ( cd LOCAL_DEST_DIR && tar xvf - )

Копируйте directory+subdirs к другому удаленному каталогу:

tar cvf - ./SOURCEDIR_OR_FILES | ssh user@host 'cd REMOTE_DEST_DIR && tar xf - '

Отбросьте 'v', если Вам не нужен он к дисплейным файлам, поскольку они определены вес (или непросмоленные): это затем пойдет намного быстрее, но не скажет многое, если не будет ошибка.

Я использую "./...", чтобы источник вынудил tar сохранить его как ОТНОСИТЕЛЬНЫЙ ПУТЬ. В некоторых случаях Вы захотите добавить дополнительную информацию о пути:

Например, чтобы смолить crontab файлы, включая тот в / и т.д., Вы могли сделать:

cd / ; tar czf all_crons.tgz  ./etc/*cron*  ./var/spool/cron

Я использую нарочно относительный путь: некоторые СТАРЫЕ версии tar могут быть опасными и извлечь файлы со своим исходным ГЛОБАЛЬНЫМ путем, означая, что Вы могли сделать: cd /safedir ; tar xvf sometar и имейте файлы с глобальными файлами перезаписи имен в их первоначальном тракте, который является ЗА ПРЕДЕЛАМИ/safedir и не под ним! Очень опасный, и все еще возможный как там существуют старые рабочие серверы. Лучше, чтобы использоваться для использования относительных путей все время, даже если Вы используете более свежий tar.

2
03.11.2013, 12:30
2 ответа

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

Например: можно вставить строку var1='2>/dev/null' в Вашем .bashrc файле. После того как Вы запускаете терминал и запускаете любой скрипт, который работает через удар (его хижина должна относиться для избиения), можно обратиться к переменной при помощи $var1

1
27.01.2020, 22:22
  • 1
    Было бы хорошо, если они могут быть копией, вставляемой в командную строку, но это - один шаг вперед, большое спасибо. –  user2013619 03.11.2013, 13:38

Если у Вас есть предпочтительный вызов date, можно установить псевдоним:

alias date='date +%Y%m%d%H%M'

Теперь каждый раз, когда Вы вводите date, Вы получите вывод date +%Y%m%d%H%M. Вы не должны использовать то же имя, например, Вы могли использовать alias date2=....

Можно сделать это постоянным путем добавления его к ~/.bashrc.

0
27.01.2020, 22:22

Теги

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