Di jendela terminal, saya mengetik:
mv filename ..\.. [Note the wrong slash.]
Sekarang saya tidak dapat menemukannya. Hilang. Saya menjalankan beberapa pencarian dan mencari melalui file yang dihapus yang dapat dipulihkan. Tidak ada. Puf. Melayani saya tepat untuk menggunakan mesin Windows tepat sebelumnya.
Adakah yang tahu ke mana perginya?
command-line
bash
hidden-files
mv
John
sumber
sumber
find / -iname thefilename -print
mungkin ?thefilename
sebagai nama file asli,find
perintah itu tidak akan menemukannya di bawah nama baru.Jawaban:
Ini tidak ke mana-mana, ini ada di direktori saat ini. Itu telah diubah namanya menjadi
....
(empat titik).Karena setiap nama file yang ada
.
di depannya diperlakukan sebagai file tersembunyi, maka file itu menjadi tersembunyi. Jadi, jika Anda melakukannyals
, Anda tidak akan menemukannya. Seperti biasa, Anda memerlukan opsi-a
(atau-A
)ls
untuk melihat file tersembunyi, yaituls -a
(atauls -A
) untuk melihatnya.Biarkan saya memecahnya, Anda berlari
mv filename ..\..
, dua titik pertama akan berarti direktori induk jika itu../
, tetapi Anda telah menggunakan garis miring ke belakang..\
yang menunjukkan shell untuk melarikan diri dari karakter berikutnya tetapi sebuah titik.
tidak memiliki arti khusus untuk shell. Jadi, itu akan memperlakukannya sebagai literal.
dan yang terakhir.
juga ditambahkan, sehingga Anda mendapat empat titik....
sebagai nama file.Untuk kembali ke nama sebelumnya (asli), jalankan
mv .... filename
.sumber
la -A
(dengan modal A). Ia melakukan hal yang sama sepertils -a
tetapi mengecualikan.
dan..
.Jalankan
mv .... filename
untuk mengganti nama kembali. (mv ..\.. filename
akan bekerja juga, tapi\
itu berlebihan - seperti dalam perintah asli Anda.).
dan..
entri ada di setiap direktori dan merujuk ke direktori "saat ini" dan "induk" masing-masing. Tetapi tidak seperti di Windows, urutan lebih dari dua titik tidak memiliki arti khusus. Meskipun tidak biasa, Anda sepenuhnya bebas untuk menamai file biasa dengan nama yang seluruhnya terdiri dari titik-titik, sepanjang setidaknya tiga titik.\
sebagai karakter pelarian, memastikan shell memperlakukan karakter berikut secara harfiah daripada memberinya makna khusus. The.
karakter memiliki arti khusus di shell (khususnya, shell tidak apa bertanggung jawab untuk membuat.
dan..
entri bekerja). Karena itu, dalam perintah Anda,\.
setara dengan.
..
. Sejak....
dimulai dengan.
, berjalanls
tanpa-A
atau-a
bendera tidak mengungkapkannya.sumber
masih di direktori yang sama, hanya file 'tersembunyi' sekarang. Anda dapat memulihkannya dengan "mv .... nama file".
sumber