Jestem ciekawy, jakiej sztuczki używasz do zapamiętywania opcji dla różnych poleceń? Ciągłe przeglądanie stron podręcznika jest czasochłonne i nie takie fajne!
man
stron jest bardzo fajne ... :)
Jestem ciekawy, jakiej sztuczki używasz do zapamiętywania opcji dla różnych poleceń? Ciągłe przeglądanie stron podręcznika jest czasochłonne i nie takie fajne!
man
stron jest bardzo fajne ... :)
Odpowiedzi:
Sztuczka jest prosta: po prostu nie. To strata czasu i po prostu nie jest to konieczne. Zapamiętywanie opcji poleceń nie jest szczególnie przydatną umiejętnością. O wiele ważniejsze jest, aby zrozumieć, jak działają rzeczy w ogóle, i mieć niejasne pojęcie, które narzędzia istnieją przede wszystkim i do czego ich używasz. Bardzo ważną umiejętnością jest tutaj wiedza na temat rzeczy, których jeszcze nie znasz.
Strony podręcznika są czasochłonne? Skąd. To nie tak, że musisz je czytać - przynajmniej nie za każdym razem - jest funkcja wyszukiwania. Więc jeśli nie pamiętam która opcja tajemniczy był jeden na hdparm
celu wyłączenia czuwania zegara na niektórych dyskach WD, robię man hdparm
i /idle3
i hej, to było -J
. Wyszukiwanie takich rzeczy jest tak szybkie, że nawet nie pamiętam, żeby to robić później.
Wyobraź sobie, że ktoś zapamiętuje wszystkie hdparm
opcje. Co za strata czasu.
To dobrze, jeśli akurat pamiętasz opcje, ponieważ często z nich korzystasz. Dzieje się to automatycznie, nawet o tym nie myśląc. Ale faktycznie świadomie spędzam czas na zapamiętywaniu ich ... po co to powinno być dobre? Test papierowy?
man hdparm | less -p idle3
jest również przydatnym sposobem na przejście do pożądanego terminu ...
rm -i -f -r
, ln -s
, df -s -h
, cp -r -i
, ls -l -h -a
, itd. (Lista różni się od osoby).
Zsh ma domyślnie funkcję run-helpAlth . Dzięki tej funkcji możesz zacząć wpisywać polecenie z wieloma lub złożonymi opcjami, które są trudne do zapamiętania, rsync
na przykład, a następnie man
otworzyć stronę tego polecenia . Więc:
rsync Alth
przeczytaj man
stronę i ustal, które przełączniki potrzebujesz, naciśnij, qa następnie wrócisz do wiersza poleceń, dokładnie tam, gdzie przerwałeś, gotowy do wykonania polecenia za pomocą wymaganych opcji:
rysnc -azP file dir/
Jak zauważa wiki:
Funkcję można dodatkowo dostosować, definiując funkcje pomocnicze w postaci polecenia run-help-command. Istnieją trzy takie funkcje dostępne w standardowej dystrybucji: run-help-git, run-help-svk i run-help-svn.
bash
ma, bash-complete
co zapewni wiele opcji parametrów dla wielu poleceń.
zsh
bash
zakończenie nie obsługuje dodawania opisów do listy ukończeń ani grupowania wpisów ( --classify -F -- append file type indicators
na przykład w zakończeniu GNU ls zsh), więc nie jest tak przydatne jak zsh.
Używanie bardzo długiej historii poleceń i przeglądanie jej jest bardzo przydatne.
Zasadniczo zbieram wszystkie pliki historii powłoki i przeglądam je.
Znalezione wyniki są w wielu przypadkach bardzo przydatne, ponieważ łatwo znaleźć odpowiednie słowa kluczowe.
Szukając konkretnego użytego argumentu, takiego jak adres URL, można znaleźć powiązane polecenia i opcje. Poszukując konkretnych opcji, możesz znaleźć odpowiednie argumenty.
Większość poleceń ma opcję --help do szybkiego odniesienia i zwykle wystarczy przypomnieć o czymś, co kiedyś wiedziałem.
To powiedziawszy, masz nawyk pisania - pomoc zamiast -h lub nawet - ?. Nigdy nie wiadomo, co to jest -h przed wyszukaniem danych wyjściowych użycia lub strony podręcznika. W najgorszym przypadku -h może oznaczać krótką rękę dla -niebezpiecznego-automatycznego-zniszczenia.
--help
. -?
potrzeby cytowania z zsh
, csh
, tcsh
lub fish
czy istnieją pliki, których nazwy są -
następnie pojedynczego znaku w bieżącym katalogu. -:
może być tam lepiej.
Jedną z opcji, którą lubię, jest tworzenie aliasów, które mają takie same lub podobne opcje, np
alias rmi='rm -i'
alias rmiv='rm -iv'
alias rmv='rm -v'
alias cpr='cp -r'
alias cprv='cp -rv'
W ten sposób masz ładny skrót, który wkrótce łatwo zapamiętasz, ale zachowa również informacje o rzeczywistych opcjach, które odzwierciedla.
Innym podejściem do aliasów jest wybranie najczęstszych opcji i utworzenie super krótkiego aliasu, który ich używa. Na przykład ls
prawie zawsze tak robię, l
a to dlatego, że mam:
alias l='ls -alFtrG'
Inną opcją jest po prostu wprowadzenie opcji, które lubisz do polecenia podstawowego, np
alias ls='ls -F --color=always'
Wreszcie ćwicz, ćwicz, ćwicz i cierpliwość. Wpisuj często używane opcje, a w końcu się ich nauczysz. Zwykłe w ciągu kilku dni, inne w tygodniach i tak, niektórzy potrzebują lat, aby się poznać. Pomyśl o tym jak o uczcie w tym, że programowanie w Uniksie będzie Cię długo bawić.
Inną opcją, którą lubię, jest alias ułatwiający przeszukiwanie mojej historii i do tego mam dwa podobne aliasy:
alias hg='history | tail -200 | grep -i'
alias hga='history | grep -i'
Umożliwiają mi to wyszukiwanie na przykład użycia polecenia:
hg ls
pokaże wszelkie ostatnie zastosowania LS z historii
hga ls
pokażą wszystkie zastosowania LS z całej mojej historii.
Rozwinąłem hg po stwierdzeniu, że hga zwykle wykazuje zbyt wiele.
rm -iv
robi, OP prawdopodobnie również nie pamięta, co rmiv
robi. Nie sądzę, że to jest myślnik.
rm -iv
do safe_delete
lubrm_prompt
Zazwyczaj robię:
man ${CMD} | grep 'what was I thinking about?'
Lub niektóre ich odmiany. Z niektórymi grep
s możesz określić -C / A / B odpowiednio dla kontekstu , po i przed . Jeśli nie, nl
i sed
można je całkiem dobrze dopasować:
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
Te same techniki działają z --help
menu, jeśli je masz, ale być może trzeba to zrobić, ${CMD} --help 2>&1 | ..filter..
ponieważ jest to dość standardowa praktyka drukowania takich rzeczy stderr
.
W każdym razie, morałem tej historii jest, pamiętaj przynajmniej man
i grep
. Może nie przejmuj się resztą.
grep
strony, gdy szukam konkretnej funkcji, co jest całkiem przydatne.