Bagaimana cara remap delete dan shift + delete keys untuk menghapus dan menghapus file secara permanen di Mac OS X Lion?

11

Saya ingin menghapus dan menghapus file secara permanen di finder menggunakan del dan shift + delete (gaya windows).

Apakah ada cara untuk memetakan ulang ini di OS X singa?

Riyaz Mohammed Ibrahim
sumber
2
Mengapa? Apa yang salah dengan penghapusan perintah?
Abhi Beckert
1
Lihat pertanyaan ini SU. Anda juga dapat selalu menggunakan terminal dan rm.
Linuxios
@Linuxios Sangat bagus :)
Simon
Tentu. SU biasanya memiliki jawaban yang lebih baik untuk pertanyaan pengguna listrik ini daripada situs berorientasi "konsumen" (Ask Different, Ask Ubuntu, dll.).
Linuxios
1
SU adalah untuk pengguna yang memiliki kekuatan lebih dari pengguna akhir. Tanya berbagai hover antara konsumen dan pengguna listrik.
Linuxios

Jawaban:

7

Jika Anda ingin segera menghapus file, Anda dapat menyalin file, buka Terminal atau iTerm, ketik rm -r ‌dan tekan ⌘V.

Jika Anda ingin menghapus file dengan aman sehingga tidak dapat dipulihkan dengan aplikasi seperti DiskWarrior atau DataRescue, Anda dapat menggunakan srm -srf. srmmenggunakan algoritma Gutmann 35-pass secara default, tetapi -shanya menimpa file dengan satu pass data acak.

Anda juga dapat membuat layanan seperti ini:

osascript -e 'on run argv
    set text item delimiters to linefeed
    tell application "Finder"
        display dialog "Delete the following files immediately?" & linefeed & linefeed & text items of argv
    end tell
end run' "$@"
[[ $? != 0 ]] && exit 0
rm -rf "$@"

Saya tidak menggunakan tindakan Tanya Konfirmasi, karena tidak dapat digunakan untuk menampilkan jalur yang ditentukan sebagai argumen, dan dialog yang ditunjukkan olehnya tidak mendapatkan fokus keyboard.

Layanan tidak dapat digunakan untuk menghapus file jika menghapusnya akan membutuhkan hak pengguna super.

Anda dapat memberikan layanan pintasan keyboard dari System Preferences> Keyboard> Shortcut Keyboard> Layanan. Perekam pintasan tidak memungkinkan memasukkan ⇧⌦ sebagai pintasan keyboard, tetapi Anda dapat memberikan layanan terlebih dahulu beberapa pintasan sementara, kemudian tutup jendela System Preferences, kemudian jalankan sesuatu seperti f=~/Library/Preferences/pbs.plist; plutil -convert xml1 $f; open -e $f, dan kemudian ubah kunci yang setara dengan $:

<key>(null) - Delete Immediately - runWorkflowAsService</key>
<dict>
    <key>key_equivalent</key>
    <string>$&#xU007F;</string>
</dict>

$&#x007F;adalah ⇧⌦ (di mana ⌦ Mac forward delete / Windows delete). ⇧⌫ akan berada $&#x0008;(di mana ⌫ Mac delete / Windows backspace). Format yang digunakan untuk string pintasan dijelaskan dalam http://lri.me/keybindings.html .


Sedangkan untuk membuat ⌦ (Mac forward delete / Windows delete) memindahkan file ke tempat sampah, Anda dapat mengubah daftar properti Finder:

defaults write com.apple.finder NSUserKeyEquivalents -dict 'Move to Trash' '\U007F'
killall Finder

Namun itu juga membuat menekan ⌦ memindahkan file ke tempat sampah saat Anda mengganti nama file.

Lri
sumber
Kalau saja jawaban Anda hanya terdiri dari kalimat terakhir ;-)
Asmus
setelah membaca baris terakhir ... pendekatan ini hampir tidak berguna kecuali kita memiliki solusi untuk menggunakan delete dalam mengubah nama file
Riyaz Mohammed Ibrahim
3

Jika proses keyboard dua langkah dapat diterima, Anda selalu bisa melakukan:

+ untuk memindahkan file ke Sampah

kemudian

+ + untuk mengosongkan Sampah (dengan popup konfirmasi) atau

+ + + untuk mengosongkan Sampah (tanpa popup konfirmasi).

Jelas, itu juga akan menyingkirkan semua file lain yang sudah ada di tempat sampah.

Atau, mungkin sesuatu seperti Trash X akan membantu. Deskripsi mengatakan:

Anda dapat menggunakannya untuk menghapus atau merusak file dan folder secara instan tanpa mengirimnya ke tempat sampah. Anda dapat menggunakannya untuk mengosongkan atau menghancurkan hanya pada disk yang dipilih. Dan tentu saja, Anda dapat menggunakannya seperti tempat sampah yang selalu Anda miliki di desktop.

binarybob
sumber
+ Bagaimana saya baru saja menemukan ini?
Drazen Bjelovuk
1
+ + untuk segera menghapus file
Matt Sephton
2

Yang dapat Anda lakukan adalah mengirim file ke tempat sampah, lalu klik Finder-> Secure Empty Trash.

Anda juga dapat membuat pintasan keyboard untuk membuat proses itu sedikit lebih cepat, seperti yang dijelaskan dalam artikel ini .

Ini bukan apa yang Anda inginkan, tetapi tampaknya menjadi yang terdekat yang bisa Anda dapatkan tanpa melihat ke dalam menciptakan sesuatu dengan Automator atau Keyboard Maestro .

David
sumber
Artikel yang bagus. Apa itu Maestro Keyboard? (mungkin tautan ke jawaban Anda jika memungkinkan)
Simon
Luar biasa, sangat dihargai :)
Simon
Saya telah menambahkan tautan . Ini adalah aplikasi yang memungkinkan Anda membuat berbagai jenis makro, atau pintasan keyboard, untuk melakukan berbagai hal dengan lebih cepat. Anda dapat membuat pintasan untuk melakukan beberapa hal multi-langkah yang sangat rumit. Mungkin terlalu banyak untuk membeli untuk tugas yang satu ini saja.
David
0

Saya telah membuat aplikasi sederhana dalam kakao, yang bertindak seperti ikon tempat sampah tetapi dengan perilaku yang berbeda. ketika file atau folder dijatuhkan pada ikonnya di dock, itu menghapusnya secara permanen.

Saya juga menulis posting blog tentang itu - Mac OS X: shift + delete

Berikut ini tautan untuk app- DeleteMe

Ide dasarnya adalah - gunakan: rm -rf , persis sama dengan apa yang disarankan dalam jawaban yang paling banyak dipilih, tetapi diimplementasikan dengan cara yang berbeda ;-)

Memperbarui

Sekarang ada cara yang lebih baik untuk mencapai fungsionalitas 'penghapusan permanen' sebagaimana ditentukan oleh Matt Sephton dalam mengomentari jawaban ini - Cukup gunakan perintah + alt (opsi) + backspace . Terima kasih atas pembaruannya.

Devarshi
sumber
2
Lebih mudah untuk hanya menekan Cmd + Alt + Delete / Backspace i.imgur.com/9pHcsHT.png
Matt Sephton