Puncte:-1

Fișierul a dispărut la comanda mv:

drapel us

Încercam să mă mișc fişier.py în directorul existent Module...

wm@my-laptop:~/Desktop/1linuxandpython$ mv Modules_and_packages.py /Modules_and_packages_Game

spunea permisiunea refuzată, așa că am făcut asta:

wm@my-laptop:~/Desktop/1linuxandpython$ sudo mv Modules_and_packages.py /Modules_and_packages_Game

apoi a dispărut, am căutat răspunsul și am găsit că acesta este numele fișierului /Module_and_packages_Game acum, dar nu-l găsesc nicăieri. Și cum ar putea fi posibil pentru .py să fie nume ca nume de folder?

Editați | ×:

introduceți descrierea imaginii aici

ls -l arată numele folderului și când îl execut, se deschide ca a fişier.py știind că înainte de a executa comanda:

$ sudo mv Modules_and_packages.py /Modules_and_packages_Game

Eram sigur că folderul Modules_and_packages_Game este acolo?

Artur Meinild avatar
drapel vn
Apare dacă faci `ls /`?
guiverc avatar
drapel cn
Ai folosit `mv` pentru a muta și redenumi fișierul; comanda executată a fost exact ceea ce i-ai spus să facă, chiar dacă aceasta nu a fost intenția ta. Se află în directorul `/` așa cum ați raportat
Puncte:10
drapel in

Ținta dvs mv comanda este /Module_and_packages_Game. Aceasta este o cale absolută.

  • Dacă calea a existat și este un director, mv va muta fișierele sursă în acel director.
  • Dacă calea NU există, fișierul sursă va fi redenumit cu numele țintă.

Comparaţie om mv și vezi cele trei forme posibile de execuție mv:

REZUMAT
  mv [OPȚIUNE]... [-T] SURSA DEST
  mv [OPȚIUNE]... SURSA... DIRECTOR
  mv [OPȚIUNE]... -t SURSA DIRECTOR...
DESCRIERE
  Redenumiți SOURCE în DEST sau mutați SOURCE(e) în DIRECTORY.

Cel mai probabil, ați folosit prima formă (redenumiți SOURCE în DEST) în timp ce ați dorit a doua formă (mutați SOURCE în DIRECTORY).
Fișierul dvs. este acum un fișier în / (rădăcină a sistemului dvs. de fișiere) numit Module_și_pachete_Joc.

Verificați utilizarea ls -l /Module_and_packages_Game.

Pentru a vă întoarce, alergați:

sudo mv /Modules_and_packages_Game Modules_and_packages.py

Acum fa-o corect. Presupun că directorul țintă este calea relativă Module_și_pachete_Joc, și nu calea absolută /Module_and_packages_Game.

Ori (folosind a doua formă):

mv Modules_and_packages.py Modules_and_packages_Game

sau (folosind a treia formă):

mv -t Modules_and_packages_Game Modules_and_packages.py

Acesta din urmă este mai sigur, deoarece va da o eroare dacă directorul țintă nu există.

Marinos TBH avatar
drapel us
De fapt, fișierul acum este un folder. când i: ls sau ls -l, apare folderul albastru, iar pentru a-l accesa trebuie doar să /Modules_and_packages_Game, astfel încât să compileze un ./file.py
pLumo avatar
drapel in
Un fișier nu poate fi un director după `mv`. Apoi directorul a existat înainte și ați mutat fișierul în acel director.
Marinos TBH avatar
drapel us
Vedeți captura de ecran de mai jos, vă rog.
pLumo avatar
drapel in
Greșiți, executați fișierul mutat cu `/Modules_and_packages_Game`. Este exact cum am spus. Ceea ce vedeți (directorul albastru) este calea relativă `Module_and_packages_Game` care **nu este aceeași** cu `/Modules_and_packages_Game` .
Puncte:1
drapel jp

Pe măsură ce ceilalți vă indică, sunteți confuz relativ poteci vs. absolut poteci. Luați în considerare următoarele considerații:

  1. O tăietură singură / este directorul rădăcină. Gândiți-vă la el ca la folderul care se află deasupra tuturor celorlalte foldere, adică fiecare folder și fișier din sistemul dvs. se află undeva în interiorul / director.
  2. Un cale absolută este o cale de la directorul rădăcină către un fișier sau folder. Astfel, începe întotdeauna cu /, care este directorul rădăcină și se termină cu fișierul sau folderul la care doriți să ajungeți. Un exemplu de cale absolută pentru un fișier ar fi:
/home/nume utilizator/Desktop/myFile.txt
  1. Tidele ~ este o scurtătură care reprezintă directorul dvs. de acasă. Astfel, un fișier undeva în dosarul dvs. de acasă poate fi accesat folosind această comandă rapidă, iar exemplul de mai sus ar putea fi:
~/Desktop/myFile.txt
  1. The directorul curent sau directorul de lucru este cel la care lucrezi în prezent. În mod normal, este afișat în promptul Bash în albastru, între punct și virgulă : și semnul dolarului $. De exemplu, dacă în prezent lucrați la dvs Desktop folder, promptul Bash de pe Terminal ar fi astfel:
nume utilizator@nume gazdă:~/Desktop$
  1. A cale relativă poate fi folosit atunci când fișierul sau folderul pe care doriți să-l accesați se află în directorul de lucru curent. În acest caz, nu trebuie să începeți calea cu /, deoarece asta ar reprezenta că calea este o cale absolută care începe în directorul rădăcină. De exemplu, dacă lucrați deja la dvs Desktop folder, puteți citi conținutul myFile.txt fișier tastând doar numele acestuia.
username@hostname:~/Desktop$ cat myFile.txt
  1. The directorul curent poate fi reprezentat printr-un singur punct .. Astfel, pentru a preveni greșelile și pentru a vă asigura că faceți referire la o cale relativă, puteți începe căile relative cu ./ a reprezenta ceva în directorul curent, de exemplu.:
username@hostname:~/Desktop$ cat ./myFile.txt
  1. The director deasupra directorului de lucru este reprezentată de două puncte ... Astfel, dacă vă aflați în dosarul Descărcări, dar doriți să accesați fișierul de pe desktop, puteți utiliza următoarea cale relativă:
username@hostname:~/Downloads$ cat ../Desktop/myFile.txt

Ca un exemplu suplimentar, dacă myFile.txt este în interiorul someFolder directorul de pe desktop, atunci ai putea citi conținutul acestuia folosind fie:

  • O cale relativă (fără bară oblică la început):
nume utilizator@nume gazdă:~/Desktop$ cat someFolder/myFile.txt
  • O cale relativă cu punctul, pentru a evita confuzia:
nume utilizator@nume gazdă:~/Desktop$ cat ./someFolder/myFile.txt
  • Calea absolută (cu o bară oblică la început):
nume utilizator@nume gazdă:~/Desktop$ cat /home/nume utilizator/Desktop/someFolder/myFile.txt
  • Calea absolută cu comanda rapidă în directorul de acasă:
nume utilizator@nume gazdă:~/Desktop$ cat ~/Desktop/someFolder/myFile.txt

Te rog, exersează-te cu asta, apoi revino și vei înțelege celelalte răspunsuri.

Pe scurt, fișierul dvs. se află acum în directorul rădăcină și numele său este același cu numele folderului în care încercați să îl introduceți. Astfel, calea absolută către fișier este acum /Module_and_packages_Game (este încă un fișier python, lipsește doar fișierul .py extensie pentru că i-ați schimbat din greșeală numele). Acesta este diferit de folderul în care îl aveți ~/Desktop/1 pași Linux și Python/Modules_and_packages_Game. Pentru a pune fișierul Python în acel folder și a-i schimba numele înapoi, utilizați:

mv /Modules_and_packages_Game „~/Desktop/1 pași Linux și python/Modules_and_packages_Game/Modules_and_packages.py”

(Rețineți ghilimelele duble " sunt necesare deoarece aveți spații albe în cale.)

Marinos TBH avatar
drapel us
Recunoscător pentru un astfel de răspuns, înțeleg pe deplin cum funcționează navigarea în director. Altfel am primit asta: mw@my-laptop:~$ mv /Modules_and_packages_Game „~/Desktop/1 pași Linux și python/Modules_and_packages_Game/Modules_and_packages.py” mv: nu se poate muta „/Modules_and_packages_Game” în „~/Desktop/1 pași linux și python/Modules_and_packages_Game/Modules_and_packages.py”: nu există un astfel de fișier sau director
Alejandro avatar
drapel jp
Verificați de două ori ambele căi absolute pentru a vedea care dintre ele nu este corectă și adaptați-vă nevoilor dvs. Poate fi necesar să utilizați `sudo` înainte de `mv`. sau folosiți `cp` în loc de `mv`. Poate că folderul este `1linuxandpython` și nu `"1 linux and python steps"`, sunt ambele în întrebarea dvs. Puteți verifica cu `ls` și puteți completa automat căile valide în Terminal cu Tab cheie.
Marinos TBH avatar
drapel us
OK in sfarsit a functionat (am șters ghilimelele duble și am ajuns la „1 pași linux și python” și am folosit sudo ) sudo mv /Modules_and_packages_Game ~/Desktop/'1 pași linux și python'/Modules_and_packages_Game/Modules_and_packages.py. Modules_and_packages.py este acolo și /Modules_and_packages_Game nu mai este executabil. Mulțumesc pentru ajutor, fie ca toată lumea să găsească astfel de explicații.

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.