Polecenie Linux mv przeniosło dane do nieznanej lokalizacji?

11

Przypadkowo wykonałem to polecenie w SSH:

mv /var/www/vhosts/website/httpdocs/magento/*

Teraz wszystkie dane w katalogu magento zniknęły. Czy ktoś wie, dokąd się przeniósł?

Dzięki!

rdrb-3
źródło
Automagicznie do określenia, w którym katalogu dane poszedł i jeśli używasz bash, wykonaj następujące czynności: a=( /var/www/vhosts/website/httpdocs/magento/* ); echo "${a[${#a[@]}-1]}". Jeśli nie w bash, to powinno działać: printf '%s\n' /var/www/vhosts/website/httpdocs/magento/* | tail -1. W przeciwnym razie jest bardzo prawdopodobne, że w ostatnim katalogu alfanumerycznie. Gotowe.
gniourf_gniourf

Odpowiedzi:

20

Jeśli alfabetycznie ostatnim wpisem w tym katalogu jest sam katalog, one tam są.

Załóżmy, że masz pliki a, ba ci katalogu d. W tym przypadku,

mv /var/www/vhosts/website/httpdocs/magento/*

rozwija się do

mv /var/www/vhosts/website/httpdocs/magento/a /var/www/vhosts/website/httpdocs/magento/b /var/www/vhosts/website/httpdocs/magento/c /var/www/vhosts/website/httpdocs/magento/d

który jest poleceniem do przeniesienia wszystkiego d. Spójrz tam, jeśli coś jest.

Gdyby dnie był katalogiem, mvpowinien byłby na to narzekać.

glglgl
źródło
1
+1: spójrz pod podkatalogi w katalogu / var / www / vhosts / website / httpdocs / magento / * reż. Wskazówka: subdir nadal znajduje się w katalogu magento, więc powinno być łatwe, ponieważ prawie wszystko inne powinno być teraz pod nim, dlatego powinien zostać tylko jeden katalog (nie licząc tych, które zaczynają się od '.'). Wpisz ten podkatalog i „mv * ..”. Może to jednak spowodować przeniesienie rzeczy, które wcześniej były słusznie w tym katalogu, więc będziesz musiał je odłożyć z powrotem. + każdy plik, który miał taką samą nazwę jak plik magento / *, zostanie zastąpiony przez Benn (jeśli twoje „mv” nie jest aliasowane do „mv -i”)
Olivier Dulac
2
schludna sztuczka z mv *: mkdir zzz; mv *która przeniesie całą zawartość bieżącego katalogu do katalogu zzz. Tylko upewnij się, że nie masz żadnych plików sortujących leksykalnie po Zzz.
2

Aby rozszerzyć odpowiedź glglgl:

Rozszerzanie symboli wieloznacznych wiersza poleceń w systemach operacyjnych typu Unix jest wykonywane przez powłokę. W większości przypadków byłoby to z Linuksem bash. Jego strona podręcznika wyraźnie stwierdza, że ​​rozszerzenie symboli wieloznacznych zostanie posortowane alfabetycznie. To samo powinno dotyczyć większości pocisków kompatybilnych z Bourne.

pabouk
źródło
Prawdopodobnie nie tylko większość, ale wszystkie. W przeciwnym razie nie będzie kompatybilności.
glglgl