Terminalde cpp kullanarak kapattığım bir dosyayı kurtarmak için hangi araçlar var?


2

cpp Scriptname.py DestinationDirectoryPython betiğini klasöre kopyalamak için yanlışlıkla yazdım .

Daha sonra kullanmam gerektiğini anladım cp, ama şimdi Python senaryom tamamen bitti. locateKomutu denedim , ancak kullanıcı dizininde hala mevcut olduğunu söylüyor. Ben yazarken lsbenim kullanıcı dizininde, bu hiçbir yerde olduğunu.

Kurtarma için buradaki seçeneklerim nelerdir? Bir araç, dosyalarının bir kopyasını almadan önce bir kopyasını kaydetmesi durumunda , unix sitesindeki cpp açısını soruyorum ancak orijinal dosyamı geri almak için hangi Mac araçları var?


İşte yaptığım şeyin tam bir kopyası, 'MYSCRIPT.py' betiğinin giriş dizininden nasıl kaybolduğunu gösteriyor.

vav7:~ tuc40953$ ls
 Desktop            Dropbox         Movies         New.java             
 Public         scripts
Documents       Library         Music           Peptoids      Theultimatescript.py
Downloads       MYSCRIPT.py     New.class       Pictures        rename.py
vav7:~ tuc40953$ clear

vav7:~ tuc40953$ cpp MYSCRIPT.py Desktop/Peptoids/Final-Structures/MyScript/
cc1: fatal error: opening output file Desktop/Peptoids/Final-Structures/MyScript/: Is a directory
compilation terminated.
vav7:~ tuc40953$ cpp Desktop/Peptoids/Final-Structures/MyScript/ MYSCRIPT.py 
cc1: error: Desktop/Peptoids/Final-Structures/MyScript/: No such file or directory
 vav7:~ tuc40953$ ls
Desktop         Dropbox         Music           Peptoids          Theultimatescript.py
Documents       Library         New.class       Pictures            rename.py
 Downloads      Movies          New.java        Public             scripts

3
locateönceden hesaplanmış bir endeks üzerinde çalışır (haftalık olarak yeniden oluşturulur), find / -name Scriptname.py -printbunun yerine kullanın. Fakat cpp, girişi sağlam bırakmış olması gereken (özellikle ikinci argüman olarak bir dizine sahip) önişlemcidir, dosyada başka bir şey yaptınız mı?
nohillside

2
cppBunu söylediğim için üzgünüm ama ikincisi (önce dizin ve ikinci komut dosyasıyla) MYSCRIPT.PY dosyasını sildi (tıpkı kukla bir dosyayı doğruladığım gibi). Bir yedeğiniz yoksa, dosyayı geri almanın kolay bir yolu yoktur.
nohillside

@patrix Ah sugarplums ... Pekala, yardımınız için teşekkürler
ironcyclone


1
cppDosyaları silmek için ikinci çağrı . Bir yedeklemeden geri yüklemeniz ya da silinmiş komut dosyasındaki verileri kurtarmayı denemeniz gerekir (ancak bu kolay olmayacaktır) U&L'de belirtildiği gibi. Kurtarmayı denemek istiyorsanız hemen diske yazmayı bırakın.
Gilles

Yanıtlar:


1

Bir dosyayı bu tür bir kullanıcı hatasından kurtarmak için birkaç seçenek:

  1. TimeMachine - En iyi umudunuz.
  2. Dropbox ayrıca, o dosyayı senkronize eden bir klasörde sakladıysanız silinen dosyaları ve sürümleri tutar.
  3. mdfind MYSCRIPT.py # Yalnızca dosya adlarını değil dosyaları bulmak ve aramaktan daha iyidir
  4. Git veya mercurial veya svn veya diğer araçlar gibi kod kontrol yazılımı kullanıyorsanız depolarınızı kontrol edin
  5. Veri Kurtarma gibi genel geri alma yazılımları

Bildiğiniz gibi, terminal affedilmez ve "o dosyayı gizlemek istediğinizden emin misiniz?" tasarım anlayışı. Özyinelemeli komutları ve her şeyin bir dosya olduğu (dizinler, diskler, disk görüntüleri vb.) Ve hatalı komutların farkına vardığınızda daha da kötüleşir ve göz açıp kapayıncaya kadar büyük miktarda işi silebilir.


-2

Gerçekten hala kullanıcı dizininizdeyse, belki de gizli olarak işaretlenmiş. ls -aGizli dosyalar dahil olmak üzere, ev dizininizdeki tüm dosyaları görmek için kullanın .


Yararlı hile, ancak zar yok; (
ironcyclone

1
Hayır, dosyanın sihirli bir şekilde nokta ile başlayan bir isimle yeniden adlandırılması kesinlikle mümkün değildir.
Gilles

Dosyalar bir nokta ile adlandırılmadan gizli özellik ile işaretlenebilir.
stephenwade

Ayrıca, kopyalamanın meta verileri kullanarak dosyayı gizleme şansı yoktur.
Chris Sayfa
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.