Como você se lembra das opções de comando? [fechadas]
13
Estou curioso para saber qual truque você usa para se lembrar de opções para vários comandos? Procurar páginas de manual o tempo todo consome tempo e não é tão legal!
Entre outras coisas: unix.stackexchange.com/questions/138720/… é útil para criar um resumo personalizado de coisas que costumo estragar ou esquecer. BTW, quanto mais você lê páginas de manual, mais você as aprecia.
precisa saber é o seguinte
Há algum tempo sinto que estou esquecendo tudo. Fiquei me perguntando se eu sou o único que tem dificuldade em lembrar todas as opções úteis em cima da cabeça .. Sua sugestão parece ser uma boa solução .. Obrigado!
O truque é simples: você simplesmente não. É uma perda de tempo e simplesmente não é necessária. Memorizar opções de comando não é uma habilidade particularmente útil. É muito mais importante entender como as coisas funcionam em geral e ter uma vaga idéia de quais ferramentas existem em primeiro lugar e para que você as utiliza. Uma habilidade muito importante aqui é saber como descobrir coisas que você ainda não conhece.
As páginas de manual são demoradas? Não tão. Não é como se você tivesse que lê- los - pelo menos nem sempre - existe uma função de pesquisa. Portanto, se eu não me lembro qual opção enigmática foi a opção hdparmpara desativar o timer ocioso em alguns discos WD, eu faço man hdparme /idle3e ei, foi -J. Procurar coisas assim é tão rápido que nem me lembro de fazê-lo depois.
Imagine alguém realmente memorizando todas as hdparmopções. Que perda de tempo.
Tudo bem se você se lembrar de opções porque as usa com frequência. Isso acontece automaticamente, sem sequer pensar nisso. Mas, conscientemente, gastando tempo memorizando-os ... para que serve? Um teste de papel?
Voto positivo: a habilidade é encontrar o que você precisa, não uma memória mecânica. man hdparm | less -p idle3é também uma maneira prática de saltar para o termo desejado ...
jasonwryan
Concordo plenamente com esta resposta, embora eu pense que vale a pena enfatizar que é normal memorizar as poucas opções mais comuns para programas comuns, apenas porque você as usa com tanta frequência. Como rm -i -f -r, ln -s, df -s -h, cp -r -i, ls -l -h -a, etc. (a lista varia de pessoa para pessoa).
David Z
8
O Zsh possui a função run-help , por padrão vinculada a Alth. Com essa função, você pode começar a digitar um comando com muitas ou complexas opções difíceis de lembrar, como rsyncpor exemplo, e manabrir a página desse comando . Então:
rsync Alth
leia a manpágina e calcule quais comutadores são necessários, pressione qe retorne ao prompt de comando, exatamente de onde parou, pronto para concluir o comando com as opções necessárias:
rysnc -azP file dir/
Como observa o wiki:
A função pode ser personalizada ainda mais, definindo funções auxiliares do formulário run-help-command. Existem três funções disponíveis na distribuição padrão: run-help-git, run-help-svk e run-help-svn.
Da mesma forma, bashpossui o bash-completeque fornecerá muitas opções de parâmetros para muitos comandos.
Ericx
2
@ericx "Da mesma forma" pode estar exagerando um pouco ... O Zsh também está completo, este é um passo em frente.
Jasonwryan
hey ... Eu já ouvi pessoas me gabar, mas eu nunca tenteizsh
Ericx
A conclusão do @ericx também bashnão suporta adicionar descrições à lista de conclusão nem agrupar entradas ( --classify -F -- append file type indicatorspor exemplo, na conclusão do GNU ls do zsh), portanto, não é tão útil quanto o zsh.
Stéphane Chazelas
** root @ milicent ** ~ / tmp ** ter 05 de agosto 09:24:55 # informações do pkg (-e -d -f -l -o -p -D) -r [Exibe as dependências reversas] (-e -d -r -f -o -p -D) -l [Exibe todos os arquivos] (-e -d -r -l -f -p -D) -o [Exibe a origem] (-e -d -r - l -o -f -D) -p [Exibe o prefixo] (-e -d -r -l -o -p -D) -f [Exibe informações completas] (-e -d -r -l -o -p -f) -D [Exibe mensagem] (-e -f -r -l -o -p -D) -d [Exibe as dependências] (-f -d -r -l -o -p -D) -e [Retorna 0 se <pkg-name> estiver instalado] (-g -X -a -F) -x [Processar pacotes que correspondem ao padrão regex] (-g -x -X -F) -a [Processar todo o pacote
ericx
4
Usar um histórico de comandos muito longo e pesquisar nele é muito útil.
Eu basicamente coleciono todos os arquivos de histórico do shell e o grep através deles.
Em muitos casos, os resultados encontrados são muito úteis, pois é fácil procurar boas palavras-chave.
Procurando um argumento específico que você usou, como uma URL, você encontra os comandos e opções relacionados também. E, ao procurar por opções específicas, você também encontrará argumentos relevantes.
A maioria dos comandos tem --help para referência rápida, e geralmente é o suficiente para lembrar o que eu costumava saber.
Dito isto, tenha o hábito de escrever --help em vez de -h ou até - ?. Você nunca sabe o que é -h antes de procurar a saída de uso ou a página de manual. Na pior das hipóteses, o -h pode ser uma mão curta para a destruição automática perigosa.
... A maioria dos comandos nos sistemas GNU . comandos em sistemas Unix normalmente não têm --help. -?necessidades citando com zsh, csh, tcshou fishou se existem arquivos cujos nomes são -seguidos por um único caractere no diretório atual. -:pode ser preferível lá.
Stéphane Chazelas
Bem ... muitos sistemas que não são GNU têm resultados de uso tão terríveis que são inúteis nem olhar. Nesse caso, veja as páginas de manual e a boa sorte memorizando com hard coz, nada mais funcionará.
Kerolasa
"Isso dito tem o hábito de escrever". Palavra que falta?
Faheem Mitha
1
Uma opção que eu gosto é criar aliases que tenham as mesmas opções ou opções semelhantes, por exemplo
alias rmi='rm -i'
alias rmiv='rm -iv'
alias rmv='rm -v'
alias cpr='cp -r'
alias cprv='cp -rv'
Dessa forma, você tem um bom atalho que em breve se lembrará facilmente, mas que também reterá informações sobre as opções reais que ele reflete.
Outra abordagem com aliases é escolher as opções mais comuns e criar um alias super curto que as use. Por exemplo, lseu quase sempre faço lisso porque eu tenho:
alias l='ls -alFtrG'
Outra opção é apenas trazer as opções que você gosta para o comando base, por exemplo
alias ls='ls -F --color=always'
Finalmente pratique, pratique, pratique e paciência. Continue digitando opções comuns e, eventualmente, você as aprenderá. Os mais comuns em dias, outros em semanas e sim alguns levam anos para serem conhecidos por você. Pense nisso como um prazer, pois a programação unix continuará a entretê-lo por um longo tempo.
Outra opção de que gosto é um apelido para facilitar a pesquisa no meu histórico e, por isso, tenho dois apelidos semelhantes:
alias hg='history | tail -200 | grep -i'
alias hga='history | grep -i'
Estes permitem-me procurar usos de um comando, por exemplo:
hg lsmostrará todos os usos recentes de ls da história hga lsmostrará todos os usos de ls de toda a minha história.
Eu desenvolvi hg depois de descobrir que hga tendia a mostrar muito.
Se o OP não conseguir se lembrar do que rm -ivfaz, provavelmente também não se lembrará do que rmivfaz. Eu não acho que é o hífen que é o problema.
precisa saber é o seguinte
Eu, pessoalmente, alias rm -ivpara safe_deleteourm_prompt
slebetman
Obrigado pessoal! Acho que estava me preocupando muito por lembrar mais do que aprender mais ... aprenderei quando usar a arma em vez de aprender quais são as dimensões e velocidade da bala! Sorte de ter tantas boas pessoas linux aqui .. Felicidades para unix / linux !!
Atul
1
Eu normalmente faço:
man ${CMD}| grep 'what was I thinking about?'
Ou alguma variação disso. Com alguns greps, você pode especificar -C / A / B para o contexto , depois e antes, respectivamente. Caso contrário, nle sedpode ser bem compatível:
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
As mesmas técnicas funcionam com --helpmenus, se você os tiver, mas pode ser necessário fazer isso ${CMD} --help 2>&1 | ..filter..porque é uma prática bastante padrão para imprimir essas coisas stderr.
Enfim, acho que a moral da história é, lembre-se de pelo menosman e grep. Talvez não se preocupe o resto.
man
páginas é muito legal ... :)Respostas:
O truque é simples: você simplesmente não. É uma perda de tempo e simplesmente não é necessária. Memorizar opções de comando não é uma habilidade particularmente útil. É muito mais importante entender como as coisas funcionam em geral e ter uma vaga idéia de quais ferramentas existem em primeiro lugar e para que você as utiliza. Uma habilidade muito importante aqui é saber como descobrir coisas que você ainda não conhece.
As páginas de manual são demoradas? Não tão. Não é como se você tivesse que lê- los - pelo menos nem sempre - existe uma função de pesquisa. Portanto, se eu não me lembro qual opção enigmática foi a opção
hdparm
para desativar o timer ocioso em alguns discos WD, eu façoman hdparm
e/idle3
e ei, foi-J
. Procurar coisas assim é tão rápido que nem me lembro de fazê-lo depois.Imagine alguém realmente memorizando todas as
hdparm
opções. Que perda de tempo.Tudo bem se você se lembrar de opções porque as usa com frequência. Isso acontece automaticamente, sem sequer pensar nisso. Mas, conscientemente, gastando tempo memorizando-os ... para que serve? Um teste de papel?
fonte
man hdparm | less -p idle3
é também uma maneira prática de saltar para o termo desejado ...rm -i -f -r
,ln -s
,df -s -h
,cp -r -i
,ls -l -h -a
, etc. (a lista varia de pessoa para pessoa).O Zsh possui a função run-help , por padrão vinculada a Alth. Com essa função, você pode começar a digitar um comando com muitas ou complexas opções difíceis de lembrar, como
rsync
por exemplo, eman
abrir a página desse comando . Então:leia a
man
página e calcule quais comutadores são necessários, pressione qe retorne ao prompt de comando, exatamente de onde parou, pronto para concluir o comando com as opções necessárias:Como observa o wiki:
fonte
bash
possui obash-complete
que fornecerá muitas opções de parâmetros para muitos comandos.zsh
bash
não suporta adicionar descrições à lista de conclusão nem agrupar entradas (--classify -F -- append file type indicators
por exemplo, na conclusão do GNU ls do zsh), portanto, não é tão útil quanto o zsh.Usar um histórico de comandos muito longo e pesquisar nele é muito útil.
Eu basicamente coleciono todos os arquivos de histórico do shell e o grep através deles.
Em muitos casos, os resultados encontrados são muito úteis, pois é fácil procurar boas palavras-chave.
Procurando um argumento específico que você usou, como uma URL, você encontra os comandos e opções relacionados também. E, ao procurar por opções específicas, você também encontrará argumentos relevantes.
fonte
A maioria dos comandos tem --help para referência rápida, e geralmente é o suficiente para lembrar o que eu costumava saber.
Dito isto, tenha o hábito de escrever --help em vez de -h ou até - ?. Você nunca sabe o que é -h antes de procurar a saída de uso ou a página de manual. Na pior das hipóteses, o -h pode ser uma mão curta para a destruição automática perigosa.
fonte
--help
.-?
necessidades citando comzsh
,csh
,tcsh
oufish
ou se existem arquivos cujos nomes são-
seguidos por um único caractere no diretório atual.-:
pode ser preferível lá.Uma opção que eu gosto é criar aliases que tenham as mesmas opções ou opções semelhantes, por exemplo
Dessa forma, você tem um bom atalho que em breve se lembrará facilmente, mas que também reterá informações sobre as opções reais que ele reflete.
Outra abordagem com aliases é escolher as opções mais comuns e criar um alias super curto que as use. Por exemplo,
ls
eu quase sempre façol
isso porque eu tenho:Outra opção é apenas trazer as opções que você gosta para o comando base, por exemplo
Finalmente pratique, pratique, pratique e paciência. Continue digitando opções comuns e, eventualmente, você as aprenderá. Os mais comuns em dias, outros em semanas e sim alguns levam anos para serem conhecidos por você. Pense nisso como um prazer, pois a programação unix continuará a entretê-lo por um longo tempo.
Outra opção de que gosto é um apelido para facilitar a pesquisa no meu histórico e, por isso, tenho dois apelidos semelhantes:
Estes permitem-me procurar usos de um comando, por exemplo:
hg ls
mostrará todos os usos recentes de ls da históriahga ls
mostrará todos os usos de ls de toda a minha história.Eu desenvolvi hg depois de descobrir que hga tendia a mostrar muito.
fonte
rm -iv
faz, provavelmente também não se lembrará do quermiv
faz. Eu não acho que é o hífen que é o problema.rm -iv
parasafe_delete
ourm_prompt
Eu normalmente faço:
Ou alguma variação disso. Com alguns
grep
s, você pode especificar -C / A / B para o contexto , depois e antes, respectivamente. Caso contrário,nl
esed
pode ser bem compatível:As mesmas técnicas funcionam com
--help
menus, se você os tiver, mas pode ser necessário fazer isso${CMD} --help 2>&1 | ..filter..
porque é uma prática bastante padrão para imprimir essas coisasstderr
.Enfim, acho que a moral da história é, lembre-se de pelo menos
man
egrep
. Talvez não se preocupe o resto.fonte
grep
manejar páginas quando procuro um recurso específico, o que é bastante útil.-A
-B
-C
opções do grep também podem ser úteis, por exemploman bash | grep -A 25 PROMPTING$