Saya ingin cara untuk meluncurkan program dengan cepat saat saya berada di terminal SSH. Tapi saya tidak ingin harus mengingat perintah yang tepat. Misalnya, jika saya mengetik "fox" ke kupfer/sinaps/quicksilver atau pencarian unity, itu akan memunculkan firefox. Begitu juga jika saya mengetik “browser” maka akan muncul firefox.
Apa commandline yang setara dengan ini? Sehingga saya bisa mengetik browser
dan itu mencantumkan firefox
di terminal
Saya tentu saja akrab dengan tab tab, tetapi itu mengasumsikan saya memiliki beberapa huruf pertama yang benar, dan tidak membiarkan saya mengetik 'browser'. Saya akrab dengan findutils locate
perintah, tapi sekali lagi, masalah yang sama. Saya ingin pengalaman desktop yang mulus melalui teks, seperti lynx
browser memberikan pengalaman web melalui konsol.
Jawaban yang Diterima:
Ada beberapa shell baris perintah. Yang utama untuk penggunaan interaktif adalah:
- Bash, yang merupakan shell default pada sebagian besar distribusi Linux. Nilai jual utamanya adalah defaultnya.
- Zsh sangat kuat dan dapat dikonfigurasi.
- Ikan memiliki beberapa fitur yang rapi di luar kotak tetapi sangat sedikit penyesuaian.
Anda kemungkinan besar akan menemukan fitur-fitur canggih seperti itu baik yang dibangun ke dalam ikan, atau disediakan dalam zsh melalui beberapa kode penyesuaian (baik dikirimkan dengan zsh atau melalui plugin pihak ketiga). Sayangnya untuk Anda, menurut saya ikan tidak memiliki apa pun seperti yang Anda cari, dan saya juga tidak mengetahui sesuatu yang benar-benar bagus untuk zsh.
Mencari fox
Di zsh, Anda dapat menyelesaikannya berdasarkan mengetikkan bagian dari nama. Cara kerjanya tergantung pada konfigurasi. Dengan konfigurasi berikut, Anda dapat mengetik *fox
dan tekan Tab untuk mendapatkan penyelesaian firefox
:
autoload -U compinit; compinit
zstyle ':completion:*' completer _expand _complete _match _prefix
Anda bisa mendapatkan pengaturan ini dari layar konfigurasi yang ditampilkan saat Anda memulai zsh tanpa file konfigurasi. Anda mungkin ingin bermain-main dengan opsi konfigurasi terkait penyelesaian.
Mencari browser
Mencari browser
adalah masalah yang sangat berbeda karena informasi tidak disimpan di tempat yang sama. Mendapatkan firefox
dari fox
hanya perlu melihat nama file yang dapat dieksekusi, sedangkan informasi yang firefox
adalah browser
harus datang dari tempat lain.
Anda dapat menggunakan perintah apropos untuk mencari program berdasarkan deskripsi satu baris di bagian atas dokumentasinya.
apropos browser
Di satu sisi, ini adalah jawaban resmi untuk pertanyaan Anda — ini adalah cara baris perintah untuk mencari program berdasarkan deskripsinya. Tetapi Anda mungkin tidak akan merasa nyaman karena dua alasan:
-
Ada lebih banyak program baris perintah daripada program yang dapat dijalankan dengan bermanfaat dari GUI, jadi ada lebih banyak gangguan di
apropos
keluaran.apropos
perintah juga menunjukkan kepada Anda antarmuka pemrograman; Anda dapat menghentikannya denganapropos -s 1,8 browser
atau
apropos -s 1 browser
untuk mengecualikan perintah administrasi sistem. Angka-angka tersebut adalah bagian halaman manual. -
Deskripsi satu baris di bagian atas halaman manual dikelola oleh pengembang setiap aplikasi dan mereka tidak selalu menggunakan terminologi yang sama. Jadi terkadang Anda akan melewatkan sebuah aplikasi karena pengembangnya menggunakan cara yang berbeda untuk mendeskripsikan aplikasi tersebut. Misalnya, jika Anda hanya ingin menemukan web browser, Anda dapat menjalankan
apropos -a web browser
dan Anda akan menemukan
lynx
danfirefox
, tetapi bukanlinks
karena itu digambarkan sebagai "browser WWW".
Antarmuka GUI untuk mencari aplikasi didasarkan pada .desktop
file. Anda dapat menjelajahi file-file ini dengan perintah seperti
grep browser /usr/share/applications/*
Dimungkinkan untuk membangun antarmuka pengguna di atas ini, tetapi saya tidak memilikinya untuk ditawarkan.