Puncte:1

Este mv singura comandă pe care o putem folosi pentru a muta fișiere/directoare?

drapel de

Este mv singura comandă pe care o putem folosi pentru a muta fișiere/directoare pe Ubuntu 20.04?

David avatar
drapel cn
Ce încerci să faci că mv nu este suficient de bun?
ByteManager avatar
drapel de
Învăț comenzi Ubuntu/linux. Fac o listă de comenzi în funcție de funcțiile lor primare și secundare. În timp ce am enumerat, am descoperit că atât comenzile `touch`, cât și `>` **pot** crea fișiere noi (am auzit că există o diferență între modul în care funcționează aceste două). Așa că vreau să știu tot setul de comenzi care pot îndeplini aceeași funcție în anumite condiții speciale.
David avatar
drapel cn
mv mută fișierele, nu le creează, utilizați comanda man urmată de ceea ce doriți să aflați într-o fereastră de terminal.
ByteManager avatar
drapel de
@David Vă mulțumim că ați sugerat comanda ```man```.
waltinator avatar
drapel it
Clasificarea în funcții „primare și secundare” este calea greșită de învățare. Un program face ceea ce face, toate „funcțiile” sale sunt „primare” în funcție de ceea ce necesită jobul curent.
waltinator avatar
drapel it
Citiți `man man` - aflați despre `man -k`
PonJar avatar
drapel in
Este bine să încerci să înveți aceste lucruri, dar poate că îți îndrepti obiectivul prea sus. Sunt în Linux și în jurul lor de peste 10 ani și încă învăț lucruri noi în fiecare lună. Cheia pentru aceasta este să știți unde să căutați pentru a găsi comanda de care aveți nevoie. O simplă căutare pe Google cu ceva de genul foaie de cheat pentru comandă Linux va oferi o mulțime de liste clasificate în diferite moduri. Veți descoperi că folosiți unele comenzi mai des. Acestea sunt cele pe care trebuie să le înveți, mai ales când există o mulțime de opțiuni care modifică efectul comenzii
Puncte:0
drapel in

mv peste sistemele de fișiere

  • copiați fișierul și eliminați fișierul original.

Pentru fișiere:

cp sursă țintă && rm sursă

Pentru directoare:

cp -r sursă țintă && rm -rf sursă

mv la același sistem de fișiere:

  • creați un nou link către inodul dvs. și eliminați linkul original.

Deci, puteți imita o mișcare pe același sistem de fișiere cu ln && rm:

În sursă țintă && rm sursă

Cu toate acestea, acest lucru funcționează numai pentru fișiere.
Pentru a muta un director recursiv, puteți face un mic script/funcție:

#!/bin/bash
lmv()(

  set -eu

  s="$1"
  t="$2"

  dacă [ -f "$s" ]; atunci
    printf '%s -> %s\n' "$s" "$t"
    în „$s” „$t”
    rm „$s”
  elif [ -d "$s" ]; atunci
    printf '%s -> %s\n' "$s" "$t"
    mkdir „$t”
    shopt -s dotglob
    pentru e în „$s”/*; do
      lmv „$e” „$t/${e##*/}”
    Terminat
    rmdir „$s”
  altfel
    >&2 printf „Fără fișier sau director: %s\n” „$s”
    iesirea 1
  fi
)

Utilizare:

țintă sursă lmv

(Notă: acest script este doar o dovadă a conceptului și lipsesc lucruri, de exemplu, surse multiple sau păstrarea proprietarului și a permisiunilor etc.)

mook765 avatar
drapel cn
Este posibil să folosiți o funcție în definiția sa (linia 19, se pare că doriți să utilizați `mv` în loc de `lmv` aici)?
pLumo avatar
drapel in
Nu, vreau să folosesc `lmv` și da, este total posibil și necesar aici pentru a-l face recursiv.
Puncte:0
drapel sa

Modul în care mv instrumentul este programat să mute un fișier este să părăsească fișierul neschimbat (cu excepția cazului în care fișierul este mutat într-un sistem de fișiere diferit) și păstrează dreptul de proprietate și permisiunile acestuia. Alte instrumente oferă opțiuni diferite. The cp comanda, spre deosebire de mv, creează un obiect de date nou-nouț în sistemul dvs. de fișiere care are o nouă locație de inod.

Puteți imita o mișcare fără mv folosind încorporat cp și rm comenzi:

cp exemplu/foo .
ls -l -G -g --inode
7476869 -rwxrwxr-x. 29545 Aug 2 11:58 foo
rm exemplu/foo

Sursă: Revizuit din Mutarea fișierelor pe Linux fără mv

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.