Saya mencoba mencari tahu sendiri. Inilah perintah yang saya gunakan di terminal:
find . -name "*.jpg" -exec mv {} pictures \;
Saya tidak membuat direktori bernama gambar terlebih dahulu. Apa yang terjadi adalah file bernama pictures.gif telah dibuat. Apakah itu menemukan file kemudian menimpa mereka ketika memindahkannya?
Apa file pictures.gif ini yang telah dibuat sebagai hasil dari perintah ini?
Apakah file masih ada di drive di suatu tempat?
command-line
find
lihatlah
sumber
sumber
/
! Selalu! Maka itu hanya bisa menjadi direktori.Jawaban:
Pertama: berhenti menggunakan drive ini sekarang . Tidak apa-apa untuk me-remount-nya read-only, tapi pastikan untuk tidak menulis lagi. Ya, Anda sudah menghapus gambar. Mereka mungkin dapat dipulihkan, tetapi semakin Anda terus menggunakan drive itu, semakin sedikit kesempatan Anda untuk memulihkan apa pun.
Perintah Anda berjalan
mv pic1.jpg pictures
,,mv pic2.jpg pictures
dll. Setiap doamv
menimpa file yang saat ini dinamaipictures
oleh gambar lain.Memindahkan file (dalam sistem file yang sama) berarti melepaskannya dari direktori yang berisi dan melampirkannya ke direktori target dengan nama baru. Jadi tidak ada data file yang dimodifikasi atau dihapus oleh perintah ini, hanya entri direktori untuk gambar yang telah hilang.
Anda dapat menjalankan alat yang menjelajahi ruang kosong sistem berkas Anda dan mencari hal-hal yang terlihat seperti jpegs. Untungnya, setiap file jpeg dimulai dengan header yang dapat dikenali. Alat yang mencari konten yang dihapus disebut alat ukiran . Ada beberapa di Ubuntu, termasuk recoverjpeg , terutama , TestDisk , ... Jika foto adalah pada partisi rumah yang terpisah atau pada drive eksternal, instal satu atau lebih dari paket tersebut dan mengarahkan mereka ke partisi dengan gambar-gambar dihapus.
Jika foto ada di disk sistem Anda, Anda harus segera berhenti menggunakan sistem Anda. Gunakan komputer lain untuk mengunduh CD atau USB langsung dan boot dari sana. Setiap CD langsung yang menyertakan testdisk harus sesuai dengan tagihan, tetapi beberapa lebih mudah digunakan daripada yang lain. CD Penyelamatan Sistem adalah CD penyelamatan sistem untuk tujuan umum yang baik. Ubuntu Rescue Remix mungkin lebih akrab bagi pengguna Ubuntu.
Untuk referensi di masa mendatang, biasakan menggunakan
mv -i
kecuali Anda bertujuan untuk menimpa file. Anda mungkin sudah memiliki alias untukmv
, tetapi itu hanya menendang ketika Anda mengetikmv
langsung pada baris perintah, bukan ketikamv
dipanggil oleh skrip atau olehfind
perintah.Juga, jika Anda meletakkan
/
setelah yang seharusnya menjadi nama direktori, Anda akan mendapatkan kesalahan jika direktori tidak ada, atau jika ada file dengan nama itu yang bukan direktori.Untuk menghindari jebakan
find
, Anda dapat menggunakan fitur direktori traversal rekursif bash sebagai gantinya. Anda harus menyalakannya terlebih dahulu dengan perintahshopt -s globstar
(Anda dapat menambahkan baris ini ke~/.bashrc
. Lalu:(Perhatikan bahwa dalam bash,
**/
juga melintasi tautan simbolik ke direktori, dan tidak ada cara untuk mematikannya. Jika Anda menginginkan traversal rekursif yang tidak melihat melalui tautan simbolik ke direktori, gunakan zsh atau temukan.)sumber
/
setelahpictures
dalam kumpulan contoh kedua? Yaitu, bukankah seharusnyamv foo.jpg pictures/
(dengan/
) di keduamv
perintah?Saya khawatir Anda baru saja kehilangan semua gambar Anda ke dalam satu file. Dimungkinkan untuk memulihkan beberapa file menggunakan alat forensik seperti yang paling utama, tetapi tingkat keberhasilan turun semakin lama Anda menggunakan media (disk). (tepatnya, semakin lama partisi dipasang .)
Lain kali, ketika Anda bermaksud direktori, tambahkan garis miring dan tambahkan
-i
opsi untuk meminta konfirmasi jika file sudah ada:sumber