ലിനക്സിൽ cp കമാൻഡ് എങ്ങനെ ഫലപ്രദമായി ഉപയോഗിക്കാം [14 ഉദാഹരണങ്ങൾ]


ചുരുക്കം: ഈ എളുപ്പത്തിൽ പിന്തുടരാവുന്ന ഗൈഡിൽ, cp കമാൻഡിന്റെ ചില പ്രായോഗിക ഉദാഹരണങ്ങൾ ഞങ്ങൾ ചർച്ച ചെയ്യും. ഈ ഗൈഡ് പിന്തുടർന്ന്, ഉപയോക്താക്കൾക്ക് കമാൻഡ് ലൈൻ ഇന്റർഫേസ് ഉപയോഗിച്ച് ലിനക്സിൽ ഫയലുകളും ഡയറക്ടറികളും എളുപ്പത്തിൽ പകർത്താനാകും.

ലിനക്സ് ഉപയോക്താക്കൾ എന്ന നിലയിൽ, ഞങ്ങൾ പകർത്തുന്ന ഫയലുകളുമായും ഡയറക്ടറികളുമായും സംവദിക്കുന്നു. തീർച്ചയായും, കോപ്പി ഓപ്പറേഷൻ നടത്താൻ നമുക്ക് ഒരു ഗ്രാഫിക്കൽ ഫയൽ മാനേജർ ഉപയോഗിക്കാം. എന്നിരുന്നാലും, മിക്ക ലിനക്സ് ഉപയോക്താക്കളും അതിന്റെ ലാളിത്യവും സമ്പന്നമായ പ്രവർത്തനവും കാരണം cp കമാൻഡ് ഉപയോഗിക്കാൻ ഇഷ്ടപ്പെടുന്നു.

തുടക്കക്കാർക്ക് അനുയോജ്യമായ ഈ ഗൈഡിൽ, നമ്മൾ cp കമാൻഡിനെക്കുറിച്ച് പഠിക്കും. പേര് സൂചിപ്പിക്കുന്നത് പോലെ, തന്നിരിക്കുന്ന പാതയിൽ ഫയലുകളും ഡയറക്ടറികളും പകർത്താൻ cp കമാൻഡ് ഉപയോഗിക്കുന്നു.

ഈ ഗൈഡിലുടനീളം, ദൈനംദിന അടിസ്ഥാനത്തിൽ ഉപയോഗിക്കാവുന്ന പ്രായോഗിക ഉദാഹരണങ്ങൾ ഉപയോഗിച്ച് cp കമാൻഡിന്റെ ഉപയോഗം ഞങ്ങൾ മനസ്സിലാക്കും.

അതുകൊണ്ട് നമുക്ക് ആരംഭിക്കാം.

ഉള്ളടക്ക പട്ടിക

Cp കമാൻഡ് സിന്റാക്സ്

cp കമാൻഡിന്റെ വാക്യഘടന മറ്റ് ലിനക്സ് കമാൻഡുകൾക്ക് സമാനമാണ്. ഉയർന്ന തലത്തിൽ, ഇത് രണ്ട് ഭാഗങ്ങളായി തിരിച്ചിരിക്കുന്നു - ഓപ്ഷനുകളും ആർഗ്യുമെന്റുകളും:

$ cp [OPTIONS] <SOURCE> <DEST>
$ cp [OPTIONS] <SOURCE-1> <SOURCE-2> ... <DIRECTORY>

മുകളിലെ വാക്യഘടനയിൽ, സ്ക്വയർ ബ്രാക്കറ്റുകൾ ([]) ഓപ്ഷണൽ ആർഗ്യുമെന്റുകളെ പ്രതിനിധീകരിക്കുന്നു, അതേസമയം കോണീയ ബ്രാക്കറ്റുകൾ (<>) നിർബന്ധിത ആർഗ്യുമെന്റുകളെ പ്രതിനിധീകരിക്കുന്നു.

1. ലിനക്സിൽ ഒരു ഫയൽ എങ്ങനെ പകർത്താം

ഒരു ഫയൽ നിലവിലെ ഡയറക്ടറിയിലേക്ക് പകർത്തുക എന്നതാണ് cp കമാൻഡിന്റെ അടിസ്ഥാന ഉപയോഗങ്ങളിലൊന്ന്. പ്രധാന കോൺഫിഗറേഷന്റെ ബാക്കപ്പ് എടുക്കാൻ മിക്ക സമയത്തും ഉപയോക്താക്കൾ ഈ പ്രവർത്തനം നടത്തുന്നു.

ഉദാഹരണത്തിന്, SSH കോൺഫിഗറേഷൻ അപ്ഡേറ്റ് ചെയ്യുന്നതിന് മുമ്പ് ഞങ്ങൾ പലപ്പോഴും /etc/ssh/sshd_config ഫയലിന്റെ ഒരു ബാക്കപ്പ് പകർപ്പ് സൃഷ്ടിക്കുന്നു.

ഉപയോഗം മനസ്സിലാക്കാൻ, നമുക്ക് ഒരു ലളിതമായ ഫയൽ സൃഷ്ടിക്കാം:

$ touch file-1.txt

അടുത്തതായി, ഇനിപ്പറയുന്ന കമാൻഡ് ഉപയോഗിച്ച് ഫയലിന്റെ ഒരു പകർപ്പ് സൃഷ്ടിക്കുക:

$ cp file-1.txt file-2.txt

2. കോപ്പി കമാൻഡ് പ്രോഗ്രസ് കാണിക്കുക

മുമ്പത്തെ ഉദാഹരണത്തിൽ, ഫയൽ കോപ്പി ഓപ്പറേഷൻ വിജയിച്ചോ ഇല്ലയോ എന്ന് പരിശോധിക്കാൻ ഞങ്ങൾ ls കമാൻഡ് ഉപയോഗിച്ചു. എന്നിരുന്നാലും, മുമ്പത്തെ കമാൻഡുകളുടെ ഫലം പരിശോധിക്കാൻ ഒരു കമാൻഡ് കൂടി ഉപയോഗിക്കുന്നതിൽ അർത്ഥമില്ല.

അത്തരം സന്ദർഭങ്ങളിൽ, പ്രോസസ്സ് ചെയ്ത എല്ലാ ഫയലുകൾക്കും ഡയഗ്നോസ്റ്റിക്സ് നൽകുന്ന -v ഓപ്ഷൻ ഉപയോഗിച്ച് നമുക്ക് വെർബോസ് മോഡ് പ്രവർത്തനക്ഷമമാക്കാം.

ഇനിപ്പറയുന്ന കമാൻഡ് ഉപയോഗിച്ച് നമുക്ക് file-1.txt ഫയലിന്റെ ഒരു പകർപ്പ് ഉണ്ടാക്കാം:

$ cp -v file-1.txt file-3.txt

മുകളിലുള്ള ഔട്ട്പുട്ടിൽ, അമ്പടയാളം പകർത്തുന്ന ഫയലിനെ പ്രതിനിധീകരിക്കുന്നു. ഇടതുവശത്തുള്ള ആർഗ്യുമെന്റ് ഉറവിട ഫയലാണ്, വലതുവശത്തുള്ള ആർഗ്യുമെന്റ് ഡെസ്റ്റിനേഷൻ ഫയലാണ്.

3. ഡയറക്ടറിയിലേക്ക് ഒന്നിലധികം ഫയലുകൾ എങ്ങനെ പകർത്താം

ഞങ്ങൾ ഇതുവരെ ഒരു ഫയലും നിലവിലെ പ്രവർത്തിക്കുന്ന ഡയറക്ടറിയും ഉപയോഗിച്ചാണ് പ്രവർത്തിച്ചത്. എന്നിരുന്നാലും, യഥാർത്ഥ പ്രൊഡക്ഷൻ പരിതസ്ഥിതിയിൽ, നമുക്ക് ധാരാളം ഫയലുകൾ ഉപയോഗിച്ച് പ്രവർത്തിക്കേണ്ടതുണ്ട്. അത്തരം പരിതസ്ഥിതികളിലെ പൊതുവായ ഉപയോഗ കേസുകളിൽ ഒന്ന് ഒന്നിലധികം ഫയലുകൾ ഒരൊറ്റ ഡയറക്ടറിയിലേക്ക് പകർത്തുക എന്നതാണ്.

വ്യക്തമായും, അത് നേടുന്നതിന് നമുക്ക് cp കമാൻഡ് ഒന്നിലധികം തവണ എക്സിക്യൂട്ട് ചെയ്യാം, പക്ഷേ അത് ഏറ്റവും ഫലപ്രദമായ മാർഗമായിരിക്കില്ല. അത്തരമൊരു പ്രവർത്തനം ഫലപ്രദമായി നടത്താൻ, cp കമാൻഡിന്റെ ഒരു ഇതര വാക്യഘടന നമുക്ക് ഉപയോഗിക്കാം.

അതിനാൽ, ആദ്യം, dir-1 എന്ന പേരിൽ ഒരു പുതിയ ഡയറക്ടറി സൃഷ്ടിക്കുക:

$ mkdir dir-1

ഇപ്പോൾ, ഒറ്റ കമാൻഡ് ഉപയോഗിച്ച് മൂന്ന് ഫയലുകളും dir-1 ഡയറക്ടറിയിലേക്ക് പകർത്താം:

$ cp -v file-1.txt file-2.txt file-3.txt dir-1

എല്ലാ ഫയലുകളും dir-1 ഡയറക്ടറിയിലേക്ക് പകർത്തിയതായി മുകളിലെ ഔട്ട്പുട്ട് കാണിക്കുന്നു. കൂടാതെ, ഈ ഇതര വാക്യഘടന ഉപയോഗിക്കുന്നതിന് ഡയറക്ടറി ഇതിനകം ഉണ്ടായിരിക്കണം, അത് കമാൻഡിന്റെ അവസാന ആർഗ്യുമെന്റ് ആയിരിക്കണമെന്നതും ശ്രദ്ധിക്കേണ്ടതാണ്.

4. ഫയൽ തിരുത്തിയെഴുതുന്നത് എങ്ങനെ ഒഴിവാക്കാം

സ്ഥിരസ്ഥിതിയായി, cp കമാൻഡ് ഡെസ്റ്റിനേഷൻ ഫയലിനെ മാറ്റിസ്ഥാപിക്കുന്നു, അതായത് അതേ പേരിൽ ഡെസ്റ്റിനേഷൻ ഫയൽ നിലവിലുണ്ടെങ്കിൽ അത് പുനരാലേഖനം ചെയ്യും. എന്നിരുന്നാലും, -n ഓപ്ഷൻ ഉപയോഗിച്ച് നമുക്ക് ഈ ഡിഫോൾട്ട് സ്വഭാവം പ്രവർത്തനരഹിതമാക്കാം.

ഇത് മനസിലാക്കാൻ, നിലവിലുള്ള ഫയൽ തിരുത്തിയെഴുതാൻ ശ്രമിക്കാം:

$ cp -n -v file-1.txt file-2.txt

ഈ ഉദാഹരണത്തിൽ, file-2.txt ഫയൽ തിരുത്തിയെഴുതപ്പെട്ടിട്ടില്ലെന്ന് വ്യക്തമാക്കാൻ ഞങ്ങൾ -v ഓപ്ഷൻ ഉപയോഗിച്ചു.

5. സ്ഥിരീകരണത്തോടൊപ്പം ഫയൽ എങ്ങനെ പുനരാലേഖനം ചെയ്യാം

മുമ്പത്തെ ഉദാഹരണത്തിൽ, ഡെസ്റ്റിനേഷൻ ഫയലിന്റെ ഓവർറൈറ്റിംഗ് എങ്ങനെ ഒഴിവാക്കാമെന്ന് ഞങ്ങൾ കണ്ടു. എന്നിരുന്നാലും, ചിലപ്പോൾ ഞങ്ങൾ ഫയൽ ലക്ഷ്യസ്ഥാനം സുരക്ഷിതമായ രീതിയിൽ തിരുത്തിയെഴുതാൻ ആഗ്രഹിക്കുന്നു.

അത്തരം സന്ദർഭങ്ങളിൽ, കോപ്പി ഓപ്പറേഷൻ ഇന്ററാക്ടീവ് ആക്കുന്നതിന് കമാൻഡിന്റെ -i ഓപ്ഷൻ ഉപയോഗിക്കാം. ഈ ഓപ്ഷൻ മുന്നറിയിപ്പ് സന്ദേശം കാണിക്കുകയും ഫയൽ തിരുത്തിയെഴുതുന്നതിന് മുമ്പ് ഉപയോക്താവിന്റെ സ്ഥിരീകരണത്തിനായി കാത്തിരിക്കുകയും ചെയ്യുന്നു.

ഇത് വ്യക്തമാക്കുന്നതിന്, നിലവിലുള്ള ഫയൽ തിരുത്തിയെഴുതാൻ ശ്രമിക്കാം:

$ cp -i file-1.txt file-2.txt

cp: overwrite 'file-2.txt'?

നമുക്ക് കാണാനാകുന്നതുപോലെ, കമാൻഡ് സ്ഥിരീകരണത്തിനായി കാത്തിരിക്കുകയാണ്. മറ്റ് Linux കമാൻഡുകൾ പോലെ, നമുക്ക് തുടരാൻ y അല്ലെങ്കിൽ പ്രവർത്തനം നിർത്തുന്നതിന് n ഉപയോഗിക്കാം.

cp കമാൻഡിന്റെ ഈ ഡിഫോൾട്ട് നോൺ-ഇന്ററാക്ടീവ് സ്വഭാവം അത്ര സുരക്ഷിതമല്ല. ഉപയോക്താവ് ഒരു പ്രധാന കോൺഫിഗറേഷൻ അബദ്ധത്തിൽ തിരുത്തിയെഴുതാൻ സാധ്യതയുണ്ട്. അതിനാൽ ചില ലിനക്സ് വിതരണങ്ങൾ അപരനാമ കമാൻഡ് ഉപയോഗിച്ച് ഡിഫോൾട്ടായി ഇന്ററാക്ടീവ് സ്വഭാവം നടപ്പിലാക്കുന്നു:

$ alias cp='cp -i'

6. ഉറവിടം പുതിയതാണെങ്കിൽ മാത്രം ഫയൽ തിരുത്തിയെഴുതുക

മുമ്പത്തെ ഉദാഹരണത്തിൽ, സംവേദനാത്മക മോഡ് എങ്ങനെ ഉപയോഗിക്കാമെന്ന് ഞങ്ങൾ കണ്ടു. എന്നിരുന്നാലും, ചിലപ്പോൾ, ഒരു ഉപയോക്താവ് പുതിയ ഫയൽ അശ്രദ്ധമായി തിരുത്തിയെഴുതാം.

അത്തരം പിശക് സാധ്യതയുള്ള കേസുകൾ ഒഴിവാക്കാൻ, ഞങ്ങൾക്ക് -u ഓപ്ഷൻ ഉപയോഗിക്കാം, ഉറവിടം ലക്ഷ്യസ്ഥാനത്തേക്കാൾ പുതിയതാണെങ്കിൽ അല്ലെങ്കിൽ ലക്ഷ്യസ്ഥാനത്ത് ഫയൽ ഇല്ലെങ്കിൽ മാത്രം പകർപ്പ് പ്രവർത്തനത്തിന് ശ്രമിക്കുന്നു.

ആദ്യം, സോഴ്സ് ഫയലിന്റെ ടൈംസ്റ്റാമ്പ് അപ്ഡേറ്റ് ചെയ്യുക:

$ touch -t 10101010 file-1.txt
$ ls -l file-1.txt

മുകളിലെ ഉദാഹരണത്തിൽ, ഫയലിന്റെ ടൈംസ്റ്റാമ്പ് 10-Oct-2010 ആയി സജ്ജീകരിക്കാൻ ഞങ്ങൾ ടച്ച് കമാൻഡിന്റെ -t ഓപ്ഷൻ ഉപയോഗിച്ചു.

അടുത്തതായി, ഡെസ്റ്റിനേഷൻ ഫയലിന്റെ ടൈംസ്റ്റാമ്പ് നിലവിലെ സമയത്തേക്ക് അപ്ഡേറ്റ് ചെയ്യാം:

$ touch file-2.txt

ഇപ്പോൾ, -u ഓപ്ഷൻ ഉപയോഗിച്ച് പകർപ്പ് പ്രവർത്തനം നടത്താൻ ശ്രമിക്കാം:

$ cp -u -v file-1.txt file-2.txt

ഇവിടെ, ഡെസ്റ്റിനേഷൻ ഫയൽ ഉറവിടത്തേക്കാൾ പുതിയതായതിനാൽ പകർപ്പ് പ്രവർത്തനത്തിന് ശ്രമിച്ചിട്ടില്ലെന്ന് നമുക്ക് കാണാൻ കഴിയും.

അവസാനമായി, നമുക്ക് ഉറവിടത്തിന്റെയും ലക്ഷ്യസ്ഥാനത്തിന്റെയും ആർഗ്യുമെന്റുകൾ സ്വാപ്പ് ചെയ്ത് പകർപ്പ് പ്രവർത്തനം നടത്താം:

$ cp -u -v file-2.txt file-1.txt

മുകളിലെ ഔട്ട്പുട്ടിൽ, ഉറവിട ഫയൽ ലക്ഷ്യസ്ഥാനത്തേക്കാൾ പുതിയതായതിനാൽ കോപ്പി ഓപ്പറേഷൻ വിജയിക്കുന്നത് നമുക്ക് നിരീക്ഷിക്കാനാകും.

7. ഓവർറൈറ്റിംഗിന് മുമ്പ് ഫയൽ എങ്ങനെ ബാക്കപ്പ് ചെയ്യാം

ഡെസ്റ്റിനേഷൻ ഫയൽ ഓവർറൈറ്റുചെയ്യുന്നതിന് മുമ്പ് അതിന്റെ ബാക്കപ്പ് എടുക്കാൻ നമുക്ക് cp കമാൻഡിന് നിർദ്ദേശം നൽകാം. ഇത് നേടുന്നതിന് നമുക്ക് --backup ഓപ്ഷൻ ഉപയോഗിക്കാം, അത് ഓട്ടോമേറ്റഡ് ബാക്കപ്പുകൾ നടത്തുന്നു.

$ cp --backup=numbered -v file-1.txt file-2.txt

ഈ ഉദാഹരണത്തിൽ, ഞങ്ങൾ അക്കമിട്ട ബാക്കപ്പ് നയം ഉപയോഗിച്ചു. ഈ നയം ബാക്കപ്പ് ഫയൽ നാമങ്ങളിൽ വർദ്ധിച്ചുവരുന്ന നമ്പറുകൾ ഉപയോഗിക്കുന്നു.

ഇത് മനസിലാക്കാൻ, നമുക്ക് ഒരേ കമാൻഡ് ഒന്നിലധികം തവണ എക്സിക്യൂട്ട് ചെയ്ത് ഔട്ട്പുട്ട് നിരീക്ഷിക്കാം:

$ cp --backup=numbered -v file-1.txt file-2.txt
$ cp --backup=numbered -v file-1.txt file-2.txt
$ cp --backup=numbered -v file-1.txt file-2.txt

8. ഫയൽ തിരുത്തിയെഴുതാൻ എങ്ങനെ നിർബന്ധിതമായി പകർത്താം

മുമ്പത്തെ കുറച്ച് ഉദാഹരണങ്ങളിൽ, എങ്ങനെ സുരക്ഷിതമായ രീതിയിൽ ഫയൽ തിരുത്തിയെഴുതാമെന്ന് ഞങ്ങൾ കണ്ടു. എന്നിരുന്നാലും, ചില അപൂർവ സന്ദർഭങ്ങളിൽ, ഫയൽ തിരുത്തിയെഴുതേണ്ടത് ആവശ്യമാണ്. എന്നിരുന്നാലും, ഓപ്പറേഷൻ എല്ലാ സമയത്തും വിജയിക്കുമെന്ന് ഒരു ഉറപ്പുമില്ല.

ഉദാഹരണത്തിന്, ഡെസ്റ്റിനേഷൻ ഫയലിന് റൈറ്റ് അനുമതികൾ ഇല്ലെങ്കിൽ പകർപ്പ് പ്രവർത്തനം പരാജയപ്പെടും. ഒരു ഉദാഹരണത്തിലൂടെ ഇത് വ്യക്തമാക്കാം.

ആദ്യം, ഡെസ്റ്റിനേഷൻ ഫയലിന്റെ അനുമതികൾ മാറ്റുക:

$ chmod 444 file-2.txt
$ ls -l file-2.txt

ഇപ്പോൾ, ഫയൽ-2.txt ഫയൽ തിരുത്തിയെഴുതാൻ ശ്രമിക്കാം:

$ cp file-1.txt file-2.txt

മുകളിലുള്ള ഔട്ട്പുട്ടിൽ, അനുമതി നിഷേധിച്ച പിശകിൽ കമാൻഡ് പരാജയപ്പെട്ടതായി നമുക്ക് കാണാൻ കഴിയും.

ഈ പരിമിതി മറികടക്കാൻ, ഞങ്ങൾക്ക് -f ഓപ്ഷൻ ഉപയോഗിക്കാം, അത് ഡെസ്റ്റിനേഷൻ ഫയലുകൾ ഇല്ലാതാക്കുകയും ഡെസ്റ്റിനേഷൻ ഫയൽ തുറക്കാൻ കഴിയുന്നില്ലെങ്കിൽ കോപ്പി ഓപ്പറേഷൻ നടത്തുകയും ചെയ്യും.

ഇപ്പോൾ, ഫയൽ ബലമായി തിരുത്തിയെഴുതാൻ -f ഓപ്ഷൻ ഉപയോഗിക്കാം:

$ cp -f -v file-1.txt file-2.txt

9. പകർത്തുന്നതിന് മുമ്പ് ഡെസ്റ്റിനേഷൻ ഫയൽ എങ്ങനെ നീക്കം ചെയ്യാം

മുമ്പത്തെ ഉദാഹരണത്തിൽ, ഡെസ്റ്റിനേഷൻ ഫയൽ പ്രവർത്തിപ്പിക്കുമ്പോൾ ഒരു പിശക് ഉണ്ടെങ്കിൽ അത് എങ്ങനെ നീക്കംചെയ്യാമെന്ന് ഞങ്ങൾ കണ്ടു. എന്നിരുന്നാലും, ചില സമയങ്ങളിൽ ആദ്യം ഡെസ്റ്റിനേഷൻ ഫയൽ നീക്കം ചെയ്യുകയും പിന്നീട് കോപ്പി ഓപ്പറേഷൻ നടത്തുകയും വേണം.

അത്തരമൊരു ആവശ്യകത നിറവേറ്റുന്നതിന്, ഞങ്ങൾക്ക് --remove-destination ഓപ്ഷൻ ഉപയോഗിക്കാം.

$ cp --remove-destination -v file-1.txt file-2.txt

മുകളിലെ ഔട്ട്പുട്ടിൽ, cp കമാൻഡ് ആദ്യം ഡെസ്റ്റിനേഷൻ ഫയൽ നീക്കം ചെയ്യുകയും തുടർന്ന് കോപ്പി ഓപ്പറേഷൻ നടത്തുകയും ചെയ്യുന്നത് നമുക്ക് കാണാൻ കഴിയും.

10. പകർത്തുന്നതിനുപകരം ഒരു ഹാർഡ് ലിങ്ക് ഫയൽ എങ്ങനെ സൃഷ്ടിക്കാം

സോഴ്സ് ഫയലിന്റെ ഒരു പുതിയ കോപ്പി സൃഷ്ടിക്കുന്നതിന് പകരം നമുക്ക് ഒരു ഹാർഡ് ലിങ്ക് സൃഷ്ടിക്കാം. ഡിസ്ക് സ്ഥലത്തിന്റെ കുറവുള്ളപ്പോൾ ഈ ഓപ്ഷൻ ഒരു പ്രധാന പങ്ക് വഹിക്കുന്നു.

അതിനാൽ, ഒരു ഹാർഡ് ലിങ്ക് സൃഷ്ടിക്കാൻ നമുക്ക് -l ഓപ്ഷൻ ഉപയോഗിക്കാം:

$ cp -l -v file-1.txt file-4.txt

ഇപ്പോൾ, ഹാർഡ് ലിങ്കുകൾ പരിശോധിക്കാൻ രണ്ട് ഫയലുകളുടെയും ഐനോഡ് നമ്പറുകൾ പരിശോധിക്കാം:

$ ls -i1 file-1.txt file-4.txt

മുകളിലെ ഔട്ട്പുട്ടിൽ, ആദ്യ നിരയിലെ അക്കങ്ങൾ ഐനോഡ് നമ്പറുകളെ പ്രതിനിധീകരിക്കുന്നു.

11. പകർത്തുന്നതിനുപകരം ഒരു സോഫ്റ്റ് ലിങ്ക് ഫയൽ എങ്ങനെ സൃഷ്ടിക്കാം

സമാനമായ രീതിയിൽ, ചുവടെ കാണിച്ചിരിക്കുന്നതുപോലെ -s ഓപ്ഷൻ ഉപയോഗിച്ച് ഒരു പുതിയ പകർപ്പ് സൃഷ്ടിക്കുന്നതിന് പകരം ഒരു സോഫ്റ്റ് ലിങ്ക് സൃഷ്ടിക്കാം:

$ cp -s -v file-1.txt file-5.txt

ഇപ്പോൾ, പ്രതീകാത്മക ലിങ്ക് ശരിയായി സൃഷ്ടിച്ചിട്ടുണ്ടോയെന്ന് പരിശോധിക്കാം:

$ ls -l file-5.txt

മുകളിലുള്ള ഔട്ട്പുട്ടിൽ, അവസാന നിരകൾ പ്രതീകാത്മക ലിങ്ക് ബന്ധത്തെ പ്രതിനിധീകരിക്കുന്നു.

12. പകർത്തുമ്പോൾ ഫയൽ ആട്രിബ്യൂട്ടുകൾ എങ്ങനെ സംരക്ഷിക്കാം

ഫയലുമായി ബന്ധപ്പെട്ട വിവിധ ആട്രിബ്യൂട്ടുകൾ ഉണ്ട്, അതിന്റെ ആക്സസ് സമയം, പരിഷ്ക്കരണ സമയം, അനുമതികൾ മുതലായവ. സ്ഥിരസ്ഥിതിയായി, ഫയൽ പകർത്തുമ്പോൾ ഈ ആട്രിബ്യൂട്ടുകൾ സംരക്ഷിക്കപ്പെടുന്നില്ല. ഈ ഡിഫോൾട്ട് സ്വഭാവം അസാധുവാക്കാൻ നമുക്ക് -p ഓപ്ഷൻ ഉപയോഗിക്കാം.

ഇത് മനസിലാക്കാൻ, ആദ്യം, ഫയൽ-1.txt-ന്റെ ടൈംസ്റ്റാമ്പ് അപ്ഡേറ്റ് ചെയ്യുക:

$ touch -t 10101010 file-1.txt

ഇപ്പോൾ, ഈ ഫയലിന്റെ എല്ലാ ആട്രിബ്യൂട്ടുകളും സംരക്ഷിച്ച് അതിന്റെ ഒരു പകർപ്പ് സൃഷ്ടിക്കാം:

$ cp -p -v file-1.txt file-6.txt

അവസാനമായി, file-6.txt ഫയലിന്റെ ടൈംസ്റ്റാമ്പ് പരിശോധിക്കുക:

$ ls -l file-6.txt

13. പകർപ്പ് ഓപ്പറേഷൻ എങ്ങനെ ആവർത്തിച്ച് നടത്താം

ഒരു ഫയൽ എങ്ങനെ കോപ്പി ചെയ്യാമെന്ന് നമ്മൾ ഇതുവരെ കണ്ടു. എന്നിരുന്നാലും, പലപ്പോഴും നമുക്ക് പ്രത്യേക ഡയറക്ടറിയുടെ എല്ലാ ഫയലുകളും സബ് ഡയറക്ടറികളും പകർത്തേണ്ടി വരും.

അത്തരം സന്ദർഭങ്ങളിൽ, -r അല്ലെങ്കിൽ -R ഓപ്ഷൻ ഉപയോഗിച്ച് നമുക്ക് ആവർത്തന മോഡ് ഉപയോഗിക്കാം.

അതിനാൽ, നമുക്ക് ഒരു ഡയറക്ടറി സൃഷ്ടിച്ച് അതിന് കീഴിൽ കുറച്ച് ഫയലുകളും സബ് ഡയറക്ടറികളും ചേർക്കാം:

$ mkdir -p dir-1/dir-2
$ touch dir-1/file-1.txt dir-1/dir-2/file-2.txt

അടുത്തതായി, ഡയറക്ടറി ഘടന ശരിയായി സൃഷ്ടിച്ചിട്ടുണ്ടോയെന്ന് പരിശോധിക്കുക:

$ tree dir-1

ഇനി, താഴെ പറയുന്ന കമാൻഡ് ഉപയോഗിച്ച് നമുക്ക് dir-1 ഡയറക്ടറി ആവർത്തിച്ച് പകർത്താം:

$ cp -r -v dir-1 dir-3

അവസാനമായി, എല്ലാ ഫയലുകളും ഉപ-ഡയറക്ടറികളും വിജയകരമായി പകർത്തിയെന്ന് പരിശോധിക്കുക:

$ tree dir-3

14. ഒന്നിലധികം ഡയറക്ടറികൾ എങ്ങനെ പകർത്താം

ഫയലുകൾക്ക് സമാനമായി, ഒരൊറ്റ കമാൻഡ് ഉപയോഗിച്ച് നമുക്ക് ഒന്നിലധികം ഡയറക്ടറികൾ ആവർത്തിക്കാനാകും. എന്നിരുന്നാലും, ഇത് നേടുന്നതിന് ഡെസ്റ്റിനേഷൻ ഡയറക്ടറി ഇതിനകം ഉണ്ടായിരിക്കണം, അത് കമാൻഡിലെ അവസാന ആർഗ്യുമെന്റും ആയിരിക്കണം. ഒരു ഉദാഹരണത്തിലൂടെ ഇത് മനസ്സിലാക്കാം.

ആദ്യം, ഒരു പുതിയ ഡയറക്ടറി സൃഷ്ടിക്കുക:

$ mkdir dir-4

ഇപ്പോൾ, താഴെ പറയുന്ന കമാൻഡ് ഉപയോഗിച്ച് dir-1, dir-3 ഡയറക്ടറികൾ dir-4 ഡയറക്ടറിയിലേക്ക് പകർത്താം:

$ cp -r -v dir-1 dir-3 dir-4

സമാനമായ രീതിയിൽ, അതേ ഫലം നേടാൻ കമാൻഡിന്റെ -t ഓപ്ഷൻ ഉപയോഗിക്കാം. ലക്ഷ്യസ്ഥാന ഡയറക്ടറി വ്യക്തമാക്കാൻ ഈ ഓപ്ഷൻ ഞങ്ങളെ അനുവദിക്കുന്നു. അതിനാൽ നമുക്ക് ഇത് ഒരു ആദ്യ വാദമായും ഉപയോഗിക്കാം:

$ cp -t dir-4 -r -v dir-1 dir-3

ഈ ലേഖനത്തിൽ, cp കമാൻഡ് ഉപയോഗിച്ച് ഫയലുകളും ഡയറക്ടറികളും എങ്ങനെ പകർത്താമെന്ന് ഞങ്ങൾ ചർച്ച ചെയ്തു. ലിനക്സ് സിസ്റ്റങ്ങളിൽ പ്രവർത്തിക്കുമ്പോൾ തുടക്കക്കാർക്ക് ദൈനംദിന ജീവിതത്തിൽ ഈ ഉദാഹരണങ്ങൾ പരാമർശിക്കാം.

നിങ്ങൾക്ക് ഇതുകൂടി ഇഷ്ടപ്പെട്ടേക്കാം:

  • പുരോഗതി - (cp, mv, dd, tar) കമാൻഡുകൾക്കായി പകർത്തിയ ഡാറ്റയുടെ ശതമാനം കാണിക്കുക
  • 'pv' കമാൻഡ് ഉപയോഗിച്ച് (പകർത്തുക/ബാക്കപ്പ്/കംപ്രസ്) ഡാറ്റയുടെ പുരോഗതി നിരീക്ഷിക്കുക
  • വിപുലമായ കോപ്പി കമാൻഡ് - ലിനക്സിൽ വലിയ ഫയലുകൾ/ഫോൾഡറുകൾ പകർത്തുമ്പോൾ പ്രോഗ്രസ് ബാർ കാണിക്കുന്നു

ലിനക്സിലെ cp കമാൻഡിന്റെ മറ്റേതെങ്കിലും മികച്ച ഉദാഹരണം നിങ്ങൾക്കറിയാമോ? ചുവടെയുള്ള അഭിപ്രായങ്ങളിൽ നിങ്ങളുടെ വീക്ഷണങ്ങൾ ഞങ്ങളെ അറിയിക്കുക.