Saya ingin tahu trik apa yang Anda gunakan untuk mengingat opsi untuk berbagai perintah? Mencari halaman manual sepanjang waktu itu menyita waktu dan tidak terlalu keren!
man
Halaman membaca sangat keren ... :)
Saya ingin tahu trik apa yang Anda gunakan untuk mengingat opsi untuk berbagai perintah? Mencari halaman manual sepanjang waktu itu menyita waktu dan tidak terlalu keren!
man
Halaman membaca sangat keren ... :)
Jawaban:
Triknya sederhana: Anda tidak perlu. Buang-buang waktu dan tidak perlu. Opsi menghafal perintah bukanlah keterampilan yang sangat berguna. Jauh lebih penting untuk memahami cara kerja barang secara umum dan memiliki gagasan yang tidak jelas alat apa yang ada di tempat pertama dan untuk apa Anda menggunakannya. Keterampilan yang sangat penting di sini adalah untuk mengetahui cara mencari tahu tentang hal-hal yang belum Anda ketahui.
Halaman manual menghabiskan waktu? Tidak begitu. Ini tidak seperti Anda harus membacanya - setidaknya, tidak setiap waktu - ada fungsi pencarian. Jadi jika saya tidak ingat opsi cryptic yang mana hdparm
untuk menonaktifkan timer idle pada beberapa disk WD, saya lakukan man hdparm
dan /idle3
dan hei, itu -J
. Mencari hal-hal seperti itu sangat cepat sehingga saya bahkan tidak ingat melakukannya setelah itu.
Bayangkan seseorang benar-benar menghafal semua hdparm
opsi. Buang-buang waktu saja.
Tidak apa-apa jika Anda hanya mengingat opsi karena Anda sering menggunakannya. Itu terjadi secara otomatis bahkan tanpa memikirkannya. Tapi sebenarnya secara sadar menghabiskan waktu untuk menghafal mereka ... untuk apa itu baik? Tes kertas?
man hdparm | less -p idle3
juga merupakan cara praktis untuk melompat ke istilah yang diinginkan ...
rm -i -f -r
, ln -s
, df -s -h
, cp -r -i
, ls -l -h -a
, dll (daftar bervariasi dari orang ke orang).
Zsh memiliki fungsi run-help , secara bawaan terikat Alth. Dengan fungsi ini Anda dapat mulai mengetik perintah dengan banyak atau opsi rumit yang sulit diingat, seperti rsync
misalnya, dan kemudian man
membuka halaman perintah itu . Begitu:
rsync Alth
baca man
halaman dan cari switch mana yang Anda butuhkan, tekan qdan kemudian Anda kembali ke command prompt Anda, tepat di mana Anda tinggalkan, siap untuk menyelesaikan perintah dengan opsi yang diperlukan:
rysnc -azP file dir/
Seperti catatan wiki:
Fungsi ini dapat dikustomisasi lebih lanjut dengan mendefinisikan fungsi pembantu dari form run-help-command. Ada tiga fungsi yang tersedia dalam distribusi standar: run-help-git, run-help-svk, dan run-help-svn.
bash
memiliki bash-complete
yang akan menyediakan banyak pilihan parameter untuk banyak perintah.
zsh
bash
penyelesaian tidak mendukung penambahan deskripsi ke daftar penyelesaian, atau pengelompokan entri ( --classify -F -- append file type indicators
misalnya dalam penyelesaian GNU zsh's ls) sehingga hampir tidak berguna seperti zsh.
Menggunakan sejarah perintah yang sangat panjang, dan mencari tahu, sangat berguna.
Saya pada dasarnya mengumpulkan semua file histori shell, dan melihatnya.
Hasil yang ditemukan dalam banyak kasus sangat berguna, karena mudah mencari kata kunci yang baik.
Mencari argumen speciffic yang Anda gunakan, seperti URL, Anda juga menemukan perintah dan opsi terkait. Dan mencari opsi spesifik, Anda mungkin menemukan argumen yang relevan juga.
Sebagian besar perintah memiliki --help untuk referensi cepat, dan biasanya cukup untuk mengingatkan apa yang dulu saya ketahui.
Yang mengatakan, punya kebiasaan menulis --membantu bukannya -h atau bahkan - ?. Anda tidak pernah tahu apa -h sebelum mencari output penggunaan atau halaman manual. Dalam kasus terburuk -h mungkin tangan pendek untuk - berbahaya-otomatis-kehancuran.
--help
. -?
kebutuhan mengutip dengan zsh
, csh
, tcsh
atau fish
atau jika ada file yang namanya yang -
diikuti oleh satu karakter di direktori saat ini. -:
mungkin lebih disukai di sana.
Salah satu opsi yang saya suka adalah membuat alias yang memiliki opsi yang sama atau mirip, misalnya
alias rmi='rm -i'
alias rmiv='rm -iv'
alias rmv='rm -v'
alias cpr='cp -r'
alias cprv='cp -rv'
Dengan cara ini Anda memiliki jalan pintas yang bagus yang akan segera Anda ingat dengan mudah tetapi itu juga akan menyimpan informasi tentang opsi aktual yang dicerminkannya.
Pendekatan lain dengan alias adalah memilih opsi yang paling umum dan membuat alias super pendek yang menggunakannya. Misalnya untuk ls
saya hampir selalu melakukannya l
dan itu karena saya punya:
alias l='ls -alFtrG'
Opsi lain adalah hanya membawa opsi yang Anda suka ke perintah basis, misalnya
alias ls='ls -F --color=always'
Akhirnya latihan, latihan, latihan dan kesabaran. Terus mengetikkan opsi umum dan Anda akhirnya akan mempelajarinya. Yang umum dalam beberapa hari, yang lain dalam beberapa minggu dan ya beberapa membutuhkan waktu bertahun-tahun untuk diketahui oleh Anda. Pikirkan itu sebagai hadiah dalam pemrograman unix yang akan terus menghibur Anda untuk waktu yang lama.
Opsi lain yang saya suka adalah alias untuk mempermudah pencarian riwayat saya dan untuk itu saya memiliki dua alias yang serupa:
alias hg='history | tail -200 | grep -i'
alias hga='history | grep -i'
Ini biarkan saya mencari penggunaan perintah misalnya:
hg ls
akan menunjukkan penggunaan ls terbaru dari riwayat
hga ls
akan menunjukkan semua penggunaan ls dari seluruh riwayat saya.
Saya mengembangkan hg setelah menemukan bahwa hga cenderung menunjukkan terlalu banyak.
rm -iv
terjadi, OP mungkin juga tidak akan mengingat apa yang rmiv
tidak. Saya tidak berpikir itu adalah tanda hubung itulah masalahnya.
rm -iv
untuk safe_delete
ataurm_prompt
Saya biasanya melakukan:
man ${CMD} | grep 'what was I thinking about?'
Atau beberapa variasi darinya. Dengan beberapa grep
s, Anda dapat menentukan -C / A / B untuk konteks , setelah , dan sebelum masing-masing. Jika tidak, nl
dan sed
bisa sangat cocok:
man hdparm | #hard to forget
nl -bp'idle3' -nln -w1 | #I had to grep man to put this together
sed -n '/^[0-9]/{N;N;N;s///p}' #no print until line begins w/ number, next,next,next
Drive's "idle3" timeout value. This timeout
controls how often the drive parks its heads
and enters a low power consumption state.
The factory default is eight (8) seconds,
zero (0) to disable the WD idle3 timer com‐
pletely (NOT RECOMMENDED!).
-k Get/set the "keep_settings_over_reset" flag
Teknik yang sama bekerja dengan --help
menu jika Anda memilikinya, tetapi Anda mungkin perlu melakukan ${CMD} --help 2>&1 | ..filter..
karena merupakan praktik yang cukup standar untuk mencetak hal-hal seperti itu stderr
.
Ngomong-ngomong, saya kira moral dari cerita ini adalah, setidaknya ingat man
dan grep
. Mungkin jangan berkeringat.
grep
mencari halaman ketika mencari fitur tertentu, itu cukup berguna.