“Mv dosyası” ve şimdi eksik


32

Bir terminal penceresinde, şunu yazdım:

mv filename ..\..      [Note the wrong slash.]

Şimdi bulamıyorum. Gone. Bazı aramalar yaptım ve kurtarılabilir silinen dosyaları araştırdım. Hiçbir şey değil. Puf. Hemen önce bir Windows makinesi kullanmak için bana hizmet ediyor.

Nereye gittiğini bilen var mı?


find / -iname thefilename -print olabilir ?
Sergiy Kolodyazhnyy,

@Serg thefilenameDosyalar orjinal ismi olarak, bu findkomut onu yeni isim altında bulamaz.
Eliah Kagan

Bunu yorum gönderdikten hemen sonra anladım. Bir dosya eksikse ilk cevabım bulmak kullanmak ama farketmediğim şey ise bu işlemin dosyayı taşımak yerine dosyayı yeniden adlandırmasıdır.
Sergiy Kolodyazhnyy

Yanıtlar:


70

Hiçbir yere gitmedi, şu anki dizinde. ....(Dört nokta) olarak yeniden adlandırıldı .

.Önünde olan herhangi bir dosya adı gizli bir dosya olarak değerlendirildiğinden, bu dosya gizlendi. Yani, eğer yaparsan ls, bulamazsın. Her zamanki gibi, size gereken -a(ya -Aait) seçeneğini lsyani gizli dosyaları görüntülemek için ls -a(veya ls -A) görmek için.

Kırmama izin verin, kaçtınız mv filename ..\.., ilk iki nokta ana dizin anlamına gelirdi ../, ancak bir ..\sonraki karakterden kaçmak için kabuğu belirten geriye doğru eğik çizgiyi kullandınız ancak bir noktanın .kabuk için özel bir anlamı yoktur. Bu yüzden, değişmez .ve son .eklenenler gibi davranacak , böylece ....bir dosya adı olarak dört noktaya sahip olacaksınız .

Önceki (orijinal) adı vadede geri dönmek için mv .... filename.


2
Hahaha ... benim başıma asla gelmedi. İşte burada: "....". Teşekkürler! Sanırım ilk noktayı .hideme noktası olarak yorumladı.
John

2
Önerebilir miyim la -A(büyük harf A ile). Bu aynı yapar ls -adışlar ancak .ve ...
Paddy Landau

13

Yeniden mv .... filenameadlandırmak için çalıştırın . ( mv ..\.. filenameÇok işe yarayacaktı, ama \gereksiz - asıl emrinizde olduğu gibi.)

  • Dosya silinmedi, bu nedenle kurtarılabilir silinen dosyaları aramak onu bulamadı.
  • Windows'ta olduğu gibi, .ve ..girişleri her dizinde bulunur ve sırasıyla "geçerli" ve "üst" dizinlere bakın. Ancak Windows’un aksine, ikiden fazla noktadan oluşan dizilerin özel bir anlamı yoktur. Olağandışı olmasına rağmen, en az üç nokta uzunluğunda olduğu sürece, tamamen noktalardan oluşan bir adla sıradan bir dosyayı adlandırmakta tamamen özgürsünüz.
  • Windows'taki gibi, Ubuntu'da kabuk \bir kaçış karakteri olarak kullanılır, kabuğun özel bir anlam vermek yerine aşağıdaki karakteri tam anlamıyla ele almasını sağlar. .Karakteri (özellikle kabuk yapma sorumlu olduğunu ne değildir kabuğunda özel bir anlamı vardır .ve ..girişleri çalışmak). Bu nedenle, emrinizde, \.eşdeğer oldu ..
  • Gibi heemayl diyor , varsayılan olarak en programları dosya ve isimleri bir ile başlayan dizinleri görünmüyor .. Yana ....olan başladıktan .çalışan lsolmadan -Aveya -abayrak açmadı.

1
Aynen böyle buldum. Neden "\" nin bir kaçış olarak davranmadığını merak ediyordum, ama ya, bu şekilde kaçmak için normal bir şekilde davranılan hiçbir şey yok. Mantıklı.
John

5

hala aynı dizinde, sadece bir 'gizli' dosya şimdi. "Mv .... dosya adı" ile kurtarabilirsiniz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.