ටර්මිනලය භාවිතා කර වෙනත් නාමාවලියක ඇති ෆෝල්ඩරයක අන්තර්ගතය වෙනත් ෆෝල්ඩරයකට පිටපත් කරන්නේ කෙසේද?


851

මම උත්සාහ කරන්නේ ෆෝල්ඩරයක අන්තර්ගතය වෙනත් ෆෝල්ඩරයකට වෙනත් ඩිරෙක්ටරියක ටර්මිනලය භාවිතා කර පිටපත් කිරීමටයි.

මෙය සාක්ෂාත් කර ගැනීම සඳහා අවශ්‍ය විධාන රේඛා සින්ටැක්ස් පිළිබඳ උදාහරණයක් මට ලබා දීමට යමෙකුට හැකිද?

Answers:


1292

ඔබට විධානය සමඟ ෆෝල්ඩරයක අන්තර්ගතය /sourceදැනට පවතින වෙනත් ෆෝල්ඩරයකට පිටපත් කළ හැකිය/dest

cp -a /source/. /dest/

මෙම -aවිකල්පය වැඩිදියුණු කරන ලද පුනරාවර්තන විකල්පයක් වන අතර එය සියලු ගොනු ගුණාංග ආරක්ෂා කරන අතර සමමුහුර්ත ආරක්ෂා කරයි.

මෙම .මූලාශ්රය මාර්ගය අවසානයේ දී විශේෂිත වේ cpසියළුම ගොනු සහ ෆෝල්ඩර, ඇතුළත් සඟවා අය කාර්යය පිටපත් කිරීමට අවසර ලබා දෙන බව කාරක රීති.


zenzotib "බාගැනීම් / ටෙක්ස්ටෙක්ස්ට්" හි අන්තර්ගතය "~ / .config / inkscape / දිගු /" වෙත පිටපත් කිරීමට මම මෙම විධානය භාවිතා කිරීමට උත්සාහ කරමි. ඔබේ විධානය භාවිතා කර මම "cp -a / Downloads / textext /. /~/.config/inkscape/extensions/" ටයිප් කරන්න. නමුත් මෙය ක්‍රියාත්මක නොවේ
Funzies

Un ෆන්සි: බොහෝ විට ඔබේ විධානය විය යුත්තේ:cp -a ~/Downloads/textext/. ~/.config/inkscape/extensions/
enzotib

-pගොනු අවසර සහ කාලරාමු ආරක්ෂා කිරීමට ධජය එක් කරන්න . cp -ap /var/www/original.com/images/. /var/www/new.com/images/
ඩිලන් වලඩ්

3
YdylanValade: -aදැනටමත් ඇඟවුම් කර --preserve=allඇති පරිදි එය වඩා පුළුල් ය -p = --preserve=mode,ownership,timestamps.
enzotib

1
EnBennyNeugebauer: scpභාවිතා කරනුයේ ජාලයක් හරහා (හරහා ssh) පිටපත් කිරීම සඳහා වන අතර සන්නිවේදන නාලිකාව සංකේතනය කරන්නේ ගමනාන්ත ගොනු පද්ධතියේ ගොනු නොවේ.
enzotib

151

විකල්පයක් වන්නේ rsync ය

rsync -r source/ destination

Rsync හි ඇති වාසි:

  1. ආරම්භක සමමුහුර්තකරණයෙන් පසුව, එය වෙනස් කර ඇති ගොනු පමණක් පිටපත් කරනු ඇත.

  2. ඔබට එය ජාලයක් හරහා භාවිතා කළ හැකිය, $ HOME හි ගොනු සඳහා පහසුය, විශේෂයෙන් වින්‍යාස ගොනු.


5
මම හිතන්නේ ඔබට තරු ලකුණු අවශ්‍ය නැහැ. rsync -r source/ destinationප්‍රමාණවත් විය යුතුයි, නැහැ?
ජොෂුවා

1
මෙය වඩාත් සුදුසු ය: 'rsync -rtvp source / * destination'
shridutt kothari

-r සැඟවුණු ලිපිගොනු / ෆෝල්ඩර සඳහා ක්‍රියා නොකරයි
Nam G VU

1
මෙය සැඟවුණු ලිපිගොනු පිටපත් නොකරනු ඇත, මන්දයත් bash පුළුල් වන්නේ * සැඟවුණු නොවන ගොනුවකට පමණි. Os ජොස්චුවාගේ විසඳුම ආරක්ෂිතයි.
සෝර්බර්ගර්

2
එය විශාල ෆෝල්ඩරයක් නම්, ප්‍රගතිය බැලීමට මෙම විකල්පයන්ගෙන් එකක් භාවිතා කිරීමට ඔබ කැමති විය හැකිය. එය පිටපත් කරන විට askubuntu.com/questions/609303/…
මැතිව් ලොක්

89

ඔබ නමින් ෆෝල්ඩරයක් ඇති කියන්න ඉඩ දෙනවා folder1 ඔබේ ~, ඇතුළත folder1 කැඳවා 1 ගොනුව file1 හා කැඳවා 2 ෆෝල්ඩර sub1 හා sub2 ඔවුන් තුළ තවත් ගොනු සහ ෆෝල්ඩර එක් එක්.

සියලු අන්තර්ගතය පිටපත් කිරීමට ~/folder1කිරීමට ~/new_folder1ඔබ භාවිතා කරන

cp -r ~/folder1/. ~/new_folder1

new_folder1එවිට සියලුම ලිපිගොනු සහ ෆෝල්ඩර අඩංගු වේ folder1.

cpයනු ටර්මිනලයක් භාවිතා කර පිටපත් කිරීමේ විධානයයි, -rඑය පුනරාවර්තනය කරයි (එබැවින්, වත්මන් ඩිරෙක්ටරිය + ධාරාව තුළ ඇති තවත් ඩිරෙක්ටරි) ~/folder1ප්‍රභව ෆෝල්ඩරය වේ, ~/new_folder1එය මූලාරම්භය තුළ ඇති ගොනු / ෆෝල්ඩර සඳහා ගමනාන්ත ෆෝල්ඩරය වේ.


6
එය සැඟවුණු ලිපිගොනු අල්ලා නොගනී
Portablejim

1
ස්තූතියි බ un නෝ! සින්ටැක්ස් එක ටිකක් වෙනස් කිරීමට මට සිදු වුවද (~ ලකුණ ඉවත් කිරීම) එය තේරුම් ගැනීමට එය මට උපකාරී විය. සමහර විට ගමනාන්ත ෆෝල්ඩරය වෙනත් විකල්ප පද්ධතියක වාසය කරන / opt හි ඇති නිසා විය හැකිය. සැඟවුණු ලිපිගොනු දේ මතක තබා ගැනීමට Portablejim ට ස්තූතියි!
pandisvezia

6
පසුපස කාලය වැදගත් ය. එය නොමැතිව, සමහර විට එය ~/new_folder1/folder1අන්තර්ගතය පිටපත් කිරීම වෙනුවට නව උප බහලුමක් නිර්මාණය කරයි .
wisbucky

3
ඇයි නැත්තේcp -r ~/folder1/* ~/new_folder1
ඇලෙක්ස් 78191

@ ඇලෙක්ස් 78191[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]#
පෙරෙයිරා

16

ෆෝල්ඩරය පිටපත් කිරීම පිළිබඳ වැඩි විස්තර සඳහා මෙය http://www.cyberciti.biz/faq/copy-folder-linux-command-line/ පරීක්ෂා කරන්න . මෙය උපකාරී වේ යැයි සිතමි.

cp Command

cpයනු ගොනු සහ නාමාවලි පිටපත් කිරීම සඳහා ලිනක්ස් විධානයකි. වාක්‍ය ඛණ්ඩය පහත පරිදි වේ:

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

3
ප්‍රශ්නය අසන්නේ මෙය නොවේ.
AStopher

(GNU සීපී ය -a මත "-dr --preserve = සියලු" හා සමාන වේ -a සමග -r භාවිතා කරමින් අතිරික්ත මිල)
cristoper

1
cp: -R සහ -r විකල්ප එකට නිශ්චිතව දක්වා නැත.
ඉගෝර්ගනාපොල්ස්කි

6

සරල උදාහරණය.

පිටපත් බහලුම 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_

පිටපත් dir_1 අන්තර්ගතය පමණක් (_files_) බහලුම තුලට dir_2 :

cp -r ./dir_1/. ./dir_2
# or
cp -r ./dir_1/. ./dir_2/
# Results in: ./dir_2/_files_*

_files_ යනු නාමාවලියෙහි ඇති සත්‍ය ගොනු සඳහා ස්ථානගත කිරීමකි.


3

ෆෝල්ඩර දෙකක් තිබේ නම්: (ලිඛිත අවසරය ඇතිව)

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 නම් ෆෝල්ඩරය තුළ සිටී නම් ඩේටා එකම මට්ටමකින් කියන්න එවිට ඔබ එසේ කරනු ඇත

vimal@vimal-D3H:/var/www/html/PORTAL$ cp -a ../DATA/. .

ඔබට තිත් 2 ක් දැකිය යුතුය. අන්තිම තිත පවසන්නේ වර්තමාන ෆෝල්ඩරයේ මෙහි පිටපත් කරන්න

හා

පහත දැක්වෙන එකක් / දත්ත /. ඩේටා ෆෝල්ඩරය තුළ ඇති සියලුම අන්තර්ගතයන් පිටපත් කළ යුතු බව පවසන අතර ඩේටා ෆෝල්ඩරයම නොවේ.

ඔබ මෙම පසුපසින් ඉවත් කළහොත් "." සිට / දත්ත /

ඉන්පසු සම්පූර්ණ ඩේටා ෆෝල්ඩරය PORTAL තුළ පිටපත් කරනු ලැබේ (ඔබ මුහුණ දෙන ස්ථානයෙන්).


0

මම මේ විධානයට කැමතියි

rsync -av --progress ~/code/project-source/. ~/code/project-destination --exclude .git --exclude node_modules

Rsync විධානයෙහි බහුලව භාවිතා වන විකල්ප කිහිපයක් පහත දැක්වේ:

  • -v, –වර්බෝස්: වාචික ප්‍රතිදානය
  • -q, –quiet: පණිවිඩ ප්‍රතිදානය යටපත් කරන්න
  • -a, –archive: සමමුහුර්ත කරන අතරතුර සංරක්ෂිත ලිපිගොනු සහ නාමාවලිය (-පහත දැක්වෙන විකල්පයන්ට සමානයි -rlptgoD)
  • -r, –recursive: ගොනු සහ නාමාවලි පුනරාවර්තනය කරන්න
  • -b, –backup: සමමුහුර්ත කිරීමේදී උපස්ථය ගන්න
  • -u, –update: ගමනාන්ත ලිපිගොනු අළුත් නම් ගොනු ප්‍රභවයෙන් ගමනාන්තයට පිටපත් නොකරන්න
  • -l, –links: සමමුහුර්ත කිරීමේදී සමමුහුර්ත ලෙස සිම්ලින්ක් පිටපත් කරන්න
  • -n, –dry-run: සමමුහුර්තකරණයකින් තොරව අත්හදා බැලීමේ ධාවනය කරන්න
  • -e, –rsh = COMMAND: rsync හි භාවිතා කිරීමට දුරස්ථ කවචය සඳහන් කරන්න
  • -z, –compress: මාරු කිරීමේදී ගොනු දත්ත සම්පීඩනය කරන්න
  • -h, -හූමන්-කියවිය හැකි: නිමැවුම් අංක මිනිස් කියවිය හැකි ආකෘතියකින් පෙන්වන්න
  • ප්‍රගතිය: මාරු කිරීමේදී සමමුහුර්ත ප්‍රගතිය පෙන්වන්න
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.