Якби я бачив, що ситуація стає одноразовою, я можу:
a=`pwd`
cd /somewhere/else
cp "$a/myfile" .
Якби були каталоги, за якими я можу копіювати файли з періодичної регулярності, я, мабуть, визначив деякі мнемонічні змінні для них у своєму .profile.
Відредаговано, щоб додати:
Після сну на ньому я задумався, наскільки тісно я можу потрапити до інших форм поведінки GUI / OS, де ви вибираєте деяку кількість файлів, "вирізаєте" чи "копіюєте" їх, а потім "вставляєте" їх десь ще. Найкращий механізм відбору, який я міг би придумати, - це ваш мозок / уподобання плюс функція обшивки оболонки. Я не дуже креативний в іменуванні, але це основна ідея (у синтаксисі Баша):
function copyfiles {
_copypastefiles=("$@")
_copypastesrc="$PWD"
_copypastemode=copy
}
function cutfiles {
_copypastefiles=("$@")
_copypastesrc="$PWD"
_copypastemode=cut
}
function pastefiles {
for f in "${_copypastefiles[@]}"
do
cp "${_copypastesrc}/$f" .
if [[ ${_copypastemode} = "cut" ]]
then
rm "${_copypastesrc}/$f"
fi
done
}
Щоб використовувати його, покладіть код у ~ / .bash_profile, потім cdу вихідний каталог та запустіть або copyfiles glob*hereабо cutfiles glob*here. Все, що трапляється, це те, що ваша оболонка розширює глобус і поміщає ці назви файлів у масив. Потім ви перейдете cdдо каталогу призначення та запустіть pastefiles, який виконує cpкоманду для кожного вихідного файлу. Якщо ви раніше "вирізали" файли, то пасти також видаляє вихідний файл (або, намагається). Це не робить перевірки помилок (для існуючих файлів, перш ніж потенційно їх виправити cp, або що у вас є дозволи на видалення файлів під час "вирізання"), або що ви можете повторно отримати доступ до вихідного каталогу після того, як ви вийдете з неї).
cdкоманду, так що ви можете простоcd -повернутися до попереднього каталогу, стрілка вгору, щоб пригадатиcdкоманду, і відредагувати рядок, який будеcpзамістьcd. (ctrl-a (початок рядка), alt-d (слово вбивства)cp -a, ctrl-e (кінець рядка)).