లైనక్స్లో cp కమాండ్ని సమర్థవంతంగా ఎలా ఉపయోగించాలి [14 ఉదాహరణలు]


క్లుప్తంగా: ఈ సులభమైన అనుసరించగల గైడ్లో, మేము cp కమాండ్ యొక్క కొన్ని ఆచరణాత్మక ఉదాహరణలను చర్చిస్తాము. ఈ గైడ్ని అనుసరించిన తర్వాత, వినియోగదారులు కమాండ్ లైన్ ఇంటర్ఫేస్ని ఉపయోగించి Linuxలో ఫైల్లు మరియు డైరెక్టరీలను సులభంగా కాపీ చేయగలరు.

Linux వినియోగదారులుగా, మేము కాపీ చేసే ఫైల్లు మరియు డైరెక్టరీలతో పరస్పర చర్య చేస్తాము. ఖచ్చితంగా, కాపీ ఆపరేషన్ చేయడానికి మనం గ్రాఫికల్ ఫైల్ మేనేజర్ని ఉపయోగించవచ్చు. అయినప్పటికీ, చాలా మంది Linux వినియోగదారులు cp కమాండ్ని దాని సరళత మరియు గొప్ప కార్యాచరణ కారణంగా ఉపయోగించడానికి ఇష్టపడతారు.

ఈ బిగినర్స్-ఫ్రెండ్లీ గైడ్లో, మేము cp కమాండ్ గురించి నేర్చుకుంటాము. పేరు సూచించినట్లుగా, ఇచ్చిన మార్గంలో ఫైల్లు మరియు డైరెక్టరీలను కాపీ చేయడానికి cp కమాండ్ ఉపయోగించబడుతుంది.

ఈ గైడ్ అంతటా, రోజువారీ ప్రాతిపదికన ఉపయోగించగల ఆచరణాత్మక ఉదాహరణలను ఉపయోగించి cp కమాండ్ వినియోగాన్ని మేము అర్థం చేసుకుంటాము.

కాబట్టి ప్రారంభిద్దాం.

విషయ సూచిక

Cp కమాండ్ సింటాక్స్

cp కమాండ్ యొక్క సింటాక్స్ ఇతర Linux ఆదేశాలతో సమానంగా ఉంటుంది. అధిక స్థాయిలో, ఇది రెండు భాగాలుగా విభజించబడింది - ఎంపికలు మరియు వాదనలు:

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

పై సింటాక్స్లో, స్క్వేర్ బ్రాకెట్లు ([]) ఐచ్ఛిక ఆర్గ్యుమెంట్లను సూచిస్తాయి, అయితే కోణీయ బ్రాకెట్లు (<>) తప్పనిసరి ఆర్గ్యుమెంట్లను సూచిస్తాయి.

1. Linuxలో ఫైల్ను ఎలా కాపీ చేయాలి

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

ఈ ఉదాహరణలో, ఫైల్-2.txt ఫైల్ ఓవర్రైట్ చేయబడలేదని వివరించడానికి మేము -v ఎంపికను ఉపయోగించాము.

5. కన్ఫర్మేషన్తో ఫైల్ని ఓవర్రైట్ చేయడం ఎలా

మునుపటి ఉదాహరణలో, గమ్యం ఫైల్ ఓవర్రైటింగ్ను ఎలా నివారించాలో మేము చూశాము. అయితే, కొన్నిసార్లు మేము ఫైల్ గమ్యాన్ని సురక్షితమైన మార్గంలో ఓవర్రైట్ చేయాలనుకుంటున్నాము.

అటువంటి సందర్భాలలో, కాపీ ఆపరేషన్ ఇంటరాక్టివ్గా చేయడానికి మేము కమాండ్ యొక్క -i ఎంపికను ఉపయోగించవచ్చు. ఈ ఎంపిక హెచ్చరిక సందేశాన్ని చూపుతుంది మరియు ఫైల్ను ఓవర్రైట్ చేయడానికి ముందు వినియోగదారు నిర్ధారణ కోసం వేచి ఉంటుంది.

దీన్ని వివరించడానికి, ఇప్పటికే ఉన్న ఫైల్ను ఓవర్రైట్ చేయడానికి ప్రయత్నిద్దాం:

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

cp: overwrite 'file-2.txt'?

మేము చూడగలిగినట్లుగా, ఆదేశం నిర్ధారణ కోసం వేచి ఉంది. ఇతర Linux కమాండ్ల మాదిరిగానే, మేము కొనసాగించడానికి y లేదా ఆపరేషన్ను నిలిపివేయడానికి nని ఉపయోగించవచ్చు.

cp కమాండ్ యొక్క ఈ డిఫాల్ట్ నాన్-ఇంటరాక్టివ్ ప్రవర్తన చాలా సురక్షితం కాదు. వినియోగదారు పొరపాటున ముఖ్యమైన కాన్ఫిగరేషన్ను ఓవర్రైట్ చేసే అవకాశాలు ఉన్నాయి. అందువల్ల కొన్ని Linux పంపిణీలు అలియాస్ కమాండ్ని ఉపయోగించి డిఫాల్ట్గా ఇంటరాక్టివ్ ప్రవర్తనను అమలు చేస్తాయి:

$ 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 కమాండ్కి మనం సూచించవచ్చు. దీన్ని సాధించడానికి మేము స్వయంచాలక బ్యాకప్లను చేసే --బ్యాకప్ ఎంపికను ఉపయోగించవచ్చు.

$ 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

చివరగా, ఫైల్-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 ఆదేశాన్ని ఉపయోగించి ఫైల్లు మరియు డైరెక్టరీలను ఎలా కాపీ చేయాలో మేము చర్చించాము. ప్రారంభకులు Linux సిస్టమ్లతో పని చేస్తున్నప్పుడు రోజువారీ జీవితంలో ఈ ఉదాహరణలను సూచించవచ్చు.

మీరు కూడా ఇష్టపడవచ్చు:

  • ప్రోగ్రెస్ – (cp, mv, dd, tar) ఆదేశాల కోసం కాపీ చేయబడిన డేటా శాతాన్ని చూపు
  • ‘pv’ కమాండ్ని ఉపయోగించి (కాపీ/బ్యాకప్/కంప్రెస్) డేటా పురోగతిని పర్యవేక్షించండి
  • అధునాతన కాపీ కమాండ్ – Linuxలో పెద్ద ఫైల్లు/ఫోల్డర్లను కాపీ చేస్తున్నప్పుడు ప్రోగ్రెస్ బార్ను చూపుతుంది

Linuxలో cp కమాండ్కి మరేదైనా ఉత్తమ ఉదాహరణ మీకు తెలుసా? దిగువ వ్యాఖ్యలలో మీ అభిప్రాయాలను మాకు తెలియజేయండి.