Sono curioso di sapere quale trucco usi per ricordare le opzioni per vari comandi? Cercare pagine man tutto il tempo richiede tempo e non è così bello!
manpagine è molto bello ... :)
Sono curioso di sapere quale trucco usi per ricordare le opzioni per vari comandi? Cercare pagine man tutto il tempo richiede tempo e non è così bello!
manpagine è molto bello ... :)
Risposte:
Il trucco è semplice: semplicemente no. È una perdita di tempo e non è necessario. Memorizzare le opzioni di comando non è un'abilità particolarmente utile. È molto più importante capire come funzionano le cose in generale e avere una vaga idea di quali strumenti esistono in primo luogo e per cosa li usi. Un'abilità molto importante qui è sapere come scoprire cose che non conosci ancora.
Le pagine man richiedono tempo? Non così. Non è come se dovessi leggerli - almeno non tutte le volte - c'è una funzione di ricerca. Quindi, se non ricordo quale opzione criptica era quella per hdparmdisabilitare il timer inattivo su alcuni dischi WD, lo faccio man hdparme /idle3, ehi, lo è stato -J. Apparire cose del genere è così veloce che non ricordo nemmeno di averlo fatto dopo.
Immagina che qualcuno stia effettivamente memorizzando tutte le hdparmopzioni. Che spreco di tempo.
Va bene se ti capita di ricordare le opzioni perché le usi frequentemente. Succede automaticamente senza nemmeno pensarci. Ma in realtà passare consapevolmente tempo a memorizzarli ... per cosa dovrebbe andare bene? Un test cartaceo?
man hdparm | less -p idle3è anche un modo pratico per saltare al termine desiderato ...
rm -i -f -r, ln -s, df -s -h, cp -r -i, ls -l -h -a, ecc (l'elenco varia da persona a persona).
Zsh ha la funzione run-help , per impostazione predefinita associata a Alth. Con questa funzione puoi iniziare a digitare un comando con molte o complesse opzioni che sono difficili da ricordare, come rsyncad esempio, e quindi manaprire la pagina di quel comando . Così:
rsync Alth
leggere la manpagina e capire quali interruttori sono necessari, premere qe poi si torna al prompt dei comandi, esattamente da dove si era interrotto, pronto per completare il comando con le opzioni richieste:
rysnc -azP file dir/
Come osserva la wiki:
La funzione può essere ulteriormente personalizzata definendo le funzioni di supporto del modulo run-help-command. Ci sono tre di queste funzioni disponibili nella distribuzione standard: run-help-git, run-help-svk e run-help-svn.
bashha bash-completeche fornirà molte opzioni di parametri per molti comandi.
zsh
bashnon supporta l'aggiunta di descrizioni all'elenco di completamento o il raggruppamento di voci ( --classify -F -- append file type indicatorsad esempio nel completamento di GNU di zsh), quindi non è altrettanto utile di zsh.
L'uso di una cronologia dei comandi molto lunga e la ricerca attraverso di essa è molto utile.
Fondamentalmente raccolgo tutti i file della cronologia della shell e li grep.
I risultati trovati sono in molti casi molto utili, in quanto è facile ricercare buone parole chiave.
Cercando un argomento specifico che hai usato, come un URL, trovi anche i comandi e le opzioni correlate. E alla ricerca di opzioni specifiche, potresti trovare anche argomenti pertinenti.
La maggior parte dei comandi ha --help per un rapido riferimento, e di solito è sufficiente ricordare cosa era qualcosa che conoscevo.
Detto questo, hai l'abitudine di scrivere - aiuto invece di -h o addirittura - ?. Non si sa mai cos'è -h prima di vedere l'output di utilizzo o la pagina di manuale. Nel peggiore dei casi il -h potrebbe essere abbreviato per --hazardous-automatic-distruzione.
--help. -?esigenze citando con zsh, csh, tcsho fishoppure se ci sono file il cui nome sono -seguito da un singolo carattere nella directory corrente. -:potrebbe essere preferibile lì.
Un'opzione che mi piace è creare alias con opzioni uguali o simili, ad es
alias rmi='rm -i'
alias rmiv='rm -iv'
alias rmv='rm -v'
alias cpr='cp -r'
alias cprv='cp -rv'
In questo modo hai una bella scorciatoia che presto ricorderai facilmente ma che conserverà anche le informazioni sulle opzioni effettive che riflette.
Un altro approccio con gli alias è quello di scegliere le opzioni più comuni e creare un alias super corto che le usi. Ad esempio per lsquasi sempre lo faccio le questo perché ho:
alias l='ls -alFtrG'
Un'altra opzione è quella di portare semplicemente le opzioni che ti piacciono al comando di base, ad es
alias ls='ls -F --color=always'
Finalmente pratica, pratica, pratica e pazienza. Continua a digitare le opzioni comuni e alla fine le imparerai. Quelli comuni in giorni, altri in settimane e sì, alcuni impiegano anni per farsi conoscere. Pensa a questo come un piacere in quella programmazione unix continuerà a divertirti per molto tempo.
Un'altra opzione che mi piace è un alias per facilitare la ricerca nella mia cronologia e per questo ho due alias simili:
alias hg='history | tail -200 | grep -i'
alias hga='history | grep -i'
Questi mi permettono di cercare ad esempio l'uso di un comando:
hg lsmostrerà tutti gli usi recenti di ls dalla storia
hga lsmostrerà tutti gli usi di ls della mia intera storia.
Ho sviluppato hg dopo aver scoperto che hga tendeva a mostrare troppo.
rm -ivfa, probabilmente anche OP non ricorderà cosa rmivfa. Non penso che sia il trattino il problema.
rm -ivdi safe_deleteorrm_prompt
In genere faccio:
man ${CMD} | grep 'what was I thinking about?'
O qualche sua variazione. Con alcuni greps puoi specificare -C / A / B per il contesto , rispettivamente dopo e prima . In caso contrario, nle sedpuò essere abbinato abbastanza bene:
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
Le stesse tecniche funzionano con i --helpmenu se li hai, ma potresti aver bisogno di fare un ${CMD} --help 2>&1 | ..filter..perché è una pratica abbastanza standard per stampare tali cose stderr.
Ad ogni modo, immagino che la morale della storia sia, ricordate almeno man e grep. Forse non sudare il resto.
grepman page quando cerco una funzione particolare, è abbastanza utile.