Puncte:0

Cum se creează un director umbră

drapel us

Vreau să creez un director umbră al unui director D. Directorul umbră D1 ar trebui să aibă aceeași structură ca D, dar nu ar trebui să partajeze niciun nod cu D. Fiecare fișier din D ar trebui să fie reprezentat printr-un link simbolic către acel fișier în D1. Ideea este că operațiunile pe D1 nu ar trebui să modifice niciodată D, astfel încât să pot șterge liber orice din D1 fără a afecta D. Cum pot realiza acest lucru? Desigur, aș putea face o simplă copie arborescentă a lui D, dar asta ar face copii duplicate ale fișierelor.

[Următorul a fost mutat dintr-un comentariu.] Iată ce vreau să obțin. Am câteva fișiere muzicale în locații împrăștiate. Sunt capabil să creez un singur director, D, care conține legături simbolice către toate. Planul meu este să creez directorul umbră D1 care conține inițial copii ale legăturilor simbolice ale lui D. Pe măsură ce redau muzică, șterg nodurile acesteia din D1, astfel încât D1 să conțină doar pointeri către muzica pe care nu am jucat-o (la diferite niveluri în D). Între timp, biblioteca mea originală de muzică este nemodificată. Îmi dau seama că ar putea exista și alte modalități de a realiza același lucru, dar această metodă este simplă concret și ar trebui să necesite doar programare shell standard.

Nmath avatar
drapel ng
Ce este un „director umbră”? Poți fi mai specific și mai puțin criptic cu privire la ceea ce intenționezi să faci? Nu este clar ce vrei să spui prin notația ta „D”?
drapel cn
„dar asta ar face copii duplicate ale fișierelor”. iar „Ideea este că operațiunile pe D1 nu ar trebui să modifice niciodată D” sunt contradicții.
heynnema avatar
drapel ru
Aceasta nu este o întrebare Ubuntu... ci mai degrabă o întrebare Windows.
waltinator avatar
drapel it
Pare o idee prostească - de ce un sistem de control al versiunilor (`rcs`, `git`, `sccs`, ...) nu ar face treaba? Cu toate acestea, dacă ați rămas blocat pe această idee, citiți „man inotify”.
drapel us
Iată ce vreau să obțin. Am câteva fișiere muzicale în locații împrăștiate. Sunt capabil să creez un singur director, D, care conține legături simbolice către toate. Planul meu este să creez directorul umbră D1 care conține inițial copii ale legăturilor simbolice ale lui D. Pe măsură ce redau muzică, șterg nodurile acesteia din D1, astfel încât D1 să conțină doar pointeri către muzica pe care nu am jucat-o (la diferite niveluri în D). Între timp, biblioteca mea originală de muzică este nemodificată. Îmi dau seama că ar putea exista și alte modalități de a realiza același lucru, dar această metodă este simplă concret și ar trebui să necesite doar programare shell standard.
vanadium avatar
drapel cn
În loc să explici într-un comentariu, explică în întrebarea ta reală - folosește editarea. Este posibil ca comentariile să nu fie citite sau să dispară. Ce sunt „nodurile” pentru tine? Cum le ștergi? Pot șterge doar fișiere, foldere sau link-uri simbolice. Mă tem că aveți o problemă XY și că există modalități mai bune de a obține ceea ce doriți. De exemplu, o copie în oglindă a fișierelor conectate hard.
drapel us
Un sistem de control al versiunilor nu este cu adevărat adecvat, deoarece modificările aduse bibliotecii muzicale sunt pur aditive. Nu schimb aproape niciodată ceva care este deja acolo. Nu mă aștept să adaug mult mai multă muzică.
drapel us
Windows nu este relevant aici, deoarece fac totul sub Linux și, pentru simplitate, vreau să fac totul folosind shell-ul.
Puncte:1
drapel cn

La fel si prin folosire ln, puteți face și linkuri simbolice către fișiere cu cp prin folosirea -s steag. Acest lucru este util, deoarece încă funcționează cu -r și -A steaguri, ceea ce înseamnă că puteți clona un întreg arbore de legături simbolice, de la D la D1.

Pentru a funcționa corect, D trebuie să fie o cale absolută sau să fie convertit în una prin utilizarea $(realpath D).

Punând toate acestea împreună:

cp -asT „$(realpath D)” D1

Pentru a fi clar, editarea fișierelor în D1 va schimba în continuare originalele în D, dar linkurile din D1 pot fi șterse în siguranță.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.