Copierea unui fișier cu linia de comandă Linux este ușoară. Cu toate acestea, dacă doriți să copiați același fișier în mai multe locații diferite? Este și ușor și vă vom arăta cum să faceți asta cu o singură comandă.
În mod normal, pentru a copia un fișier, utilizați cp
comanda, care face legătura cu fișierul sursă și cu directorul de destinație:
cp ~ / Documents / FileToBeCopied.txt ~ / TextFiles /
Pentru a o copia în alte două directoare, mulți oameni ar rula comanda de două ori, cu destinații diferite:
cp ~ / Documents / FileToBeCopied.txt ~ / Dropbox /
cp ~ / Documents / FileToBeCopied.txt / media / lori / MYUSBDRIVE /
Cu toate acestea, putem face aceeași sarcină cu o singură comandă:
echo dir1 dir2 dir3 | xargs -n 1 fișier cp1
Iată cum funcționează această comandă. ecou
comandă în mod normal scrie pe ecran. Cu toate acestea, în acest caz, dorim să alimentăm ieșirea din ecou
comandă ca intrare în xargs
comanda. Pentru aceasta, folosim simbolul conductei ( |
) care alimentează ieșirea de la o comandă ca intrare în alta. xargs
comanda va rula cp
comanda de trei ori, de fiecare dată când se anexează calea directorului următor la care este conectat ecou
comandă până la sfârșitul cp
comanda. Sunt trecute trei argumente xargs
, cu exceptia -n 1
opțiune pe xargs
comanda îi spune să adauge doar unul dintre aceste argumente la un moment dat cp
comanda de fiecare dată când rulează.
Deci, să rămânem cu exemplul nostru din mai devreme, cei trei separați cp
comenzile de mai sus pot fi combinate intr-o singura comanda ca aceasta:
echo ~ / TextFiles / ~ / Dropbox / media / lori / MYUSBDRIVE xargs -n 1 cp ~ / Documente / FileToBeCopied.txt
Rețineți că dacă fișierul copiat există în oricare dintre directoarele de destinație specificate, fișierul din acea destinație va fi înlocuit automat. Nu veți fi întrebat dacă doriți să înlocuiți fișierul. (În mod normal, atunci când utilizați cp
comanda pentru a copia un fișier într-o singură locație, puteți adăuga -i
opțiunea de a întreba dacă doriți să înlocuiți un fișier existent. Însă -i
opțiunea este o opțiune interactivă (cauzează cp
comanda pentru a cere informații de la utilizator) și nu puteți utiliza o opțiune interactivă cu cp
comanda atunci când se utilizează împreună cu xargs
.)
Un alt lucru de luat în considerare, este că dacă copiați un fișier foarte mare, puteți să adăugați și no-clobber ( -N
) la opțiunea cp
comandă în comanda unică de mai sus. Această opțiune împiedică în mod automat ca un fișier să fie suprascris într-o destinație dacă există deja acolo. Dacă copiați un fișier foarte mare într-o rețea, este posibil să fie lent și poate doriți să evitați utilizarea resurselor necesare pentru copierea și înlocuirea fișierului. Următoarea comandă adaugă -N
și nu va copia fișierul la orice destinație listată în argumente în instrucțiunea ecou, dacă fișierul există deja în acea destinație.
echo ~ / TextFiles / ~ / Dropbox / media / lori / MYUSBDRIVE xargs -n 1 cp -n ~ / Documente / FileToBeCopied.txt
Tastați echo om, om xargs sau om cp pe linia de comandă din Linux pentru mai multe informații despre oricare dintre aceste comenzi.