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!
Antara lain: unix.stackexchange.com/questions/138720/... berguna untuk membuat ringkasan khusus tentang hal-hal yang biasanya saya abaikan atau lupakan. BTW, semakin banyak Anda membaca halaman manual, semakin Anda menghargainya.
goldilocks
Saya merasa saya lupa segalanya. Saya bertanya-tanya apakah saya satu-satunya yang mengalami kesulitan mengingat semua opsi yang berguna di atas kepala ... Saran Anda sepertinya solusi yang baik .. Terima kasih!
Atul
3
manHalaman membaca sangat keren ... :)
jasonwryan
1
T: Bagaimana Anda bisa sampai di Carnegie Hall ? Sebuah latihan!
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 hdparmuntuk menonaktifkan timer idle pada beberapa disk WD, saya lakukan man hdparmdan /idle3dan hei, itu -J. Mencari hal-hal seperti itu sangat cepat sehingga saya bahkan tidak ingat melakukannya setelah itu.
Bayangkan seseorang benar-benar menghafal semua hdparmopsi. 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?
Terpilih: keterampilannya adalah menemukan apa yang Anda butuhkan, bukan menghafal. man hdparm | less -p idle3juga merupakan cara praktis untuk melompat ke istilah yang diinginkan ...
jasonwryan
Saya sepenuhnya setuju dengan jawaban ini, meskipun saya pikir perlu menekankan bahwa itu normal untuk memiliki beberapa pilihan paling umum untuk program yang biasa dihafal, hanya karena Anda sering menggunakannya. Seperti rm -i -f -r, ln -s, df -s -h, cp -r -i, ls -l -h -a, dll (daftar bervariasi dari orang ke orang).
David Z
8
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 rsyncmisalnya, dan kemudian manmembuka halaman perintah itu . Begitu:
rsync Alth
baca manhalaman 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.
Demikian pula bashmemiliki bash-completeyang akan menyediakan banyak pilihan parameter untuk banyak perintah.
ericx
2
@ ericx "Demikian pula" mungkin melebih-lebihkannya sedikit ... Zsh juga telah selesai, ini adalah langkah maju dari itu.
jasonwryan
hei ... Saya pernah mendengar orang menyombongkan diri, tetapi saya belum pernah mencobazsh
ericx
@ericx, juga, bashpenyelesaian tidak mendukung penambahan deskripsi ke daftar penyelesaian, atau pengelompokan entri ( --classify -F -- append file type indicatorsmisalnya dalam penyelesaian GNU zsh's ls) sehingga hampir tidak berguna seperti zsh.
Stéphane Chazelas
** root @ milicent ** ~ / tmp ** Sel 05 Agustus 09:24:55 # info pkg (-e -d -f -l -o -p -D) -r [Menampilkan dependensi terbalik] (-e -d -r -f -o -p -D) -l [Menampilkan semua file] (-e -d -r -l -f -p -D) -o [Menampilkan asal] (-e -d -r - l -o -f -D) -p [Menampilkan awalan] (-e -d -r -l -o -p -D) -f [Menampilkan informasi lengkap] (-e -d -r -l -l -o -p -p -f) -D [Menampilkan pesan] (-e -f -r -l -o -p -D) -d [Menampilkan dependensi] (-f -d -r -l -l -o -p -D) -e [Mengembalikan 0 jika <pkg-name> diinstal] (-g -X -a -F) -x [Paket proses yang sesuai dengan pola regex] (-g -x -X -F) -a [Memproses semua paket
ericx
4
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.
... Sebagian besar perintah pada sistem GNU . perintah pada sistem Unix biasanya tidak punya --help. -?kebutuhan mengutip dengan zsh, csh, tcshatau fishatau jika ada file yang namanya yang -diikuti oleh satu karakter di direktori saat ini. -:mungkin lebih disukai di sana.
Stéphane Chazelas
Ya .. banyak sistem non GNU memiliki output penggunaan yang begitu mengerikan sehingga tidak ada gunanya untuk dilihat. Dalam hal demikian, lihat halaman manual & semoga sukses menghafal dengan susah payah karena tidak ada lagi yang akan berhasil.
kerolasa
"Itu katanya punya kebiasaan menulis". Kata yang hilang?
Faheem Mitha
1
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 lssaya hampir selalu melakukannya ldan 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 lsakan menunjukkan penggunaan ls terbaru dari riwayat hga lsakan menunjukkan semua penggunaan ls dari seluruh riwayat saya.
Saya mengembangkan hg setelah menemukan bahwa hga cenderung menunjukkan terlalu banyak.
Jika OP tidak dapat mengingat apa yang rm -ivterjadi, OP mungkin juga tidak akan mengingat apa yang rmivtidak. Saya tidak berpikir itu adalah tanda hubung itulah masalahnya.
tobyink
Saya lebih pribadi alias rm -ivuntuk safe_deleteataurm_prompt
slebetman
Terima kasih kawan! Saya kira saya terlalu khawatir untuk mengingat lebih banyak daripada belajar lebih banyak .. Saya akan belajar kapan harus menggunakan senjata daripada belajar apa itu dimensi dan kecepatan peluru! Beruntung memiliki begitu banyak orang linux yang baik di sini .. Bersorak untuk unix / linux !!
Atul
1
Saya biasanya melakukan:
man ${CMD}| grep 'what was I thinking about?'
Atau beberapa variasi darinya. Dengan beberapa greps, Anda dapat menentukan -C / A / B untuk konteks , setelah , dan sebelum masing-masing. Jika tidak, nldan sedbisa 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,nextDrive'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 --helpmenu 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 mandan grep. Mungkin jangan berkeringat.
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 lakukanman 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?
sumber
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 kemudianman
membuka halaman perintah itu . Begitu: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:Seperti catatan wiki:
sumber
bash
memilikibash-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.
sumber
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.
sumber
--help
.-?
kebutuhan mengutip denganzsh
,csh
,tcsh
ataufish
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
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 melakukannyal
dan itu karena saya punya:Opsi lain adalah hanya membawa opsi yang Anda suka ke perintah basis, misalnya
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:
Ini biarkan saya mencari penggunaan perintah misalnya:
hg ls
akan menunjukkan penggunaan ls terbaru dari riwayathga ls
akan menunjukkan semua penggunaan ls dari seluruh riwayat saya.Saya mengembangkan hg setelah menemukan bahwa hga cenderung menunjukkan terlalu banyak.
sumber
rm -iv
terjadi, OP mungkin juga tidak akan mengingat apa yangrmiv
tidak. Saya tidak berpikir itu adalah tanda hubung itulah masalahnya.rm -iv
untuksafe_delete
ataurm_prompt
Saya biasanya melakukan:
Atau beberapa variasi darinya. Dengan beberapa
grep
s, Anda dapat menentukan -C / A / B untuk konteks , setelah , dan sebelum masing-masing. Jika tidak,nl
dansed
bisa sangat cocok: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 itustderr
.Ngomong-ngomong, saya kira moral dari cerita ini adalah, setidaknya ingat
man
dangrep
. Mungkin jangan berkeringat.sumber
grep
mencari halaman ketika mencari fitur tertentu, itu cukup berguna.-A
-B
-C
Opsi grep dapat berguna juga, misalnyaman bash | grep -A 25 PROMPTING$