Я нашел виновника: это был псевдоним bash, который я создал несколько лет назад, а затем забыл
alias scp = 'scp -c arcfour '
Позор мне
Первая введенная вами команда попытается извлечь два или три файла:
someFolder/H
someFolder/D
video1.mp4
Если вы заключите имя файла в одинарные кавычки ('
), программа tar
увидит [HD]
и обработает его как подстановочный знак, означающий «Или H
или D
». Поэтому он попытается извлечь два файла:
someFolder/H video1.mp4
someFolder/D video1.mp4
Заключение имени файла в кавычки и с использованием флага --no-wildcards
предотвратит эти попытки расширения:
tar -xC / -f /tarFile.tar 'someFolder/[HD] video1.mp4' --no-wildcards
Замените квадратные скобки подстановочными знаками (, такими как ?
или *
), например.
tar -x -C/ -v -f tarFile.tar 'someFolder/?HD? video1.mp4'
или:
tar -x -C. -v -f tarFile.tar 'someFolder/*video1.mp4'
Чтобы подтвердить имя файла, вы можете просмотреть файл архива, нажав:
tar -t -f tarFile.tar | grep mp4$