Я намагаюся скопіювати вміст папки в іншу папку в інший каталог за допомогою терміналу.
Чи зможе хтось надати мені приклад синтаксису командного рядка, необхідного для досягнення цього?
Я намагаюся скопіювати вміст папки в іншу папку в інший каталог за допомогою терміналу.
Чи зможе хтось надати мені приклад синтаксису командного рядка, необхідного для досягнення цього?
Відповіді:
Ви можете скопіювати вміст папки /source
в іншу існуючу папку /dest
за допомогою команди
cp -a /source/. /dest/
-a
Варіант є вдосконаленим рекурсивний варіант, який зберігає всі атрибути файлів, а також зберегти символічні посилання.
В .
кінці вихідного шляху - це специфічний cp
синтаксис, який дозволяє копіювати всі файли та папки, включаючи приховані.
cp -a ~/Downloads/textext/. ~/.config/inkscape/extensions/
-p
прапор, щоб зберегти дозволи та файли. cp -ap /var/www/original.com/images/. /var/www/new.com/images/
-a
вже має на увазі --preserve=all
, що ширше, ніж -p = --preserve=mode,ownership,timestamps
.
scp
використовується для копіювання по мережі (наскрізь ssh
) і шифрує лише канал зв'язку, а не файли у файловій системі призначення.
Замінник - rsync
rsync -r source/ destination
Перевагами rsync є:
Після первинної синхронізації він буде копіювати лише ті файли, які були змінені.
Ви можете використовувати його через мережу, зручну для файлів у $ HOME, особливо конфігураційних файлів.
rsync -r source/ destination
повинно вистачити, ні?
rync source/ dest
очевидно, людям потрібно буде налаштувати команду rsync, щоб вона працювала так, як вони бажають.
Припустимо , у вас є папка під назвою Folder1 в вашому ~
всередині folder1 є 1 файл з ім'ям file1 і 2 папки під назвою sub1 і SUB2 кожен з іншими файлами і папками всередині них.
Щоб скопіювати весь вміст, ~/folder1
який ~/new_folder1
ви використовували б
cp -r ~/folder1/. ~/new_folder1
new_folder1
Потім містять усі файли та папки з folder1
.
cp
це команда для копіювання за допомогою терміналу, -r
робить його рекурсивно (так, поточний каталог + подальші каталоги всередині поточного) ~/folder1
- це папка початкових файлів, ~/new_folder1
це папка призначення для файлів / папок всередині джерела.
~/new_folder1/folder1
замість копіювання вмісту.
cp -r ~/folder1/* ~/new_folder1
[root@ home]# mkdir food [root@ home]# cd food/ [root@ food]# mkdir .fruit [root@ food]# mkdir veggies [root@ food]# touch veggies/carrots [root@ food]# touch .fruit/apple [root@ food]# ls * carrots [root@ food]#
Перевірте цей http://www.cyberciti.biz/faq/copy-folder-linux-command-line/ для отримання додаткової інформації про копіювання папки. Сподіваюся, це допомагає.
cp Command
cp
це команда Linux для копіювання файлів та каталогів. Синтаксис такий:
cp source destination
cp dir1 dir2
cp -option source destination
cp -option1 -option2 source destination
У цьому прикладі скопіюйте /home/vivek/letters
папку та всі її файли в /usb/backup
каталог:
cp -avr /home/vivek/letters /usb/backup
Де,
-a
: Збережіть вказані атрибути, такі як режим файлу в каталозі, право власності, часові позначки, по можливості додаткові атрибути: контекст, посилання, xattr, усі.
-v
: Поясніть, що робиться.
-r
: Копіювання каталогів рекурсивно. Приклад
Скопіюйте папку / tmp / conf в / tmp / резервну копію:
$ cp -avr /tmp/conf/ /tmp/backup
Скопіюйте каталог dir_1 та його вміст (_files_) у каталог dir_2 :
cp -r ./dir_1 ./dir_2
# or
cp -r ./dir_1/ ./dir_2/
# Results in: ./dir_2/dir_1/_files_
Скопіюйте вміст (_files_) лише з dir_1 в каталог dir_2 :
cp -r ./dir_1/. ./dir_2
# or
cp -r ./dir_1/. ./dir_2/
# Results in: ./dir_2/_files_*
_files_
є заповнювачем фактичних файлів, що знаходяться в каталозі.
Якщо є дві папки: (з дозволом на запис)
drwxr-xr-x 4 vimal vimal 4096 Sep 9 12:17 .
drwxr-xr-x 3 root root 4096 Aug 18 14:35 ..
drwxrwxrwx 6 vimal vimal 4096 Sep 9 12:15 DATA
drwxrwxrwx 7 vimal vimal 4096 Sep 9 12:15 PORTAL
Якщо ви знаходитесь у папці під назвою PORTAL, куди ви хочете скопіювати весь вміст іншої папки, скажімо, DATA на тому ж рівні, тоді ви зробите
vimal@vimal-D3H:/var/www/html/PORTAL$ cp -a ../DATA/. .
Ви повинні помітити 2 крапки. Остання крапка каже, скопіюйте тут у поточній папці
і
один наступний / DATA /. говорить, що всі ЗМІСТ у папці DATA, що підлягає копіюванню, а не сама папка DATA.
Якщо ви видалите цей контур "". від / DATA /
тоді вся папка DATA буде скопійована всередину PORTAL (звідки ви працюєте).