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!
Między innymi: unix.stackexchange.com/questions/138720/... jest przydatny do tworzenia spersonalizowanych podsumowań rzeczy, które zwykle popsuję lub zapominam. BTW, im więcej czytasz stron podręcznika, tym bardziej je doceniasz.
goldilocks
Czasem czuję, że wszystko zapominam. Zastanawiałem się, czy tylko ja z trudem pamiętam wszystkie przydatne opcje na czubku głowy. Twoja sugestia wydaje się dobrym rozwiązaniem. Dziękuję!
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 hdparmcelu wyłączenia czuwania zegara na niektórych dyskach WD, robię man hdparmi /idle3i 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 hdparmopcje. 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?
Upvoted: umiejętność polega na znajdowaniu tego, czego potrzebujesz, a nie na pamięci. man hdparm | less -p idle3jest również przydatnym sposobem na przejście do pożądanego terminu ...
jasonwryan
W pełni zgadzam się z tą odpowiedzią, choć uważam, że warto podkreślić, że zapamiętanie kilku najczęściej używanych opcji wspólnych programów jest zapamiętywane tylko dlatego, że tak często z nich korzystasz. Jak rm -i -f -r, ln -s, df -s -h, cp -r -i, ls -l -h -a, itd. (Lista różni się od osoby).
David Z
8
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, rsyncna przykład, a następnie manotworzyć stronę tego polecenia . Więc:
rsync Alth
przeczytaj manstronę 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.
Podobnie bashma, bash-completeco zapewni wiele opcji parametrów dla wielu poleceń.
ericx
2
@ericx „Podobnie” może to trochę przesadzać ... Zsh też ma ukończenie, to krok w górę.
jasonwryan
hej ... Słyszałem, jak ludzie się chwalą, ale nigdy nie próbowałemzsh
ericx
@ericx, także bashzakończenie nie obsługuje dodawania opisów do listy ukończeń ani grupowania wpisów ( --classify -F -- append file type indicatorsna 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.
... Większość poleceń w systemach GNU . polecenia w systemach Unix zazwyczaj nie mają --help. -?potrzeby cytowania z zsh, csh, tcshlub fishczy istnieją pliki, których nazwy są -następnie pojedynczego znaku w bieżącym katalogu. -:może być tam lepiej.
Stéphane Chazelas
Cóż ... wiele systemów innych niż GNU ma tak przerażające wyniki użytkowania, że nawet bez sensu wyglądają. W takim przypadku zobacz strony podręcznika i powodzenia na pamięć, bo nic więcej nie zadziała.
Kerolasa
„Powiedział, że masz zwyczaj pisać”. Brakujące słowo?
Faheem Mitha,
1
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 lsprawie zawsze tak robię, la 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 lspokaże wszelkie ostatnie zastosowania LS z historii hga lspokażą wszystkie zastosowania LS z całej mojej historii.
Rozwinąłem hg po stwierdzeniu, że hga zwykle wykazuje zbyt wiele.
Dzięki chłopaki! Wydaje mi się, że martwiłem się zbytnio o tym, że nie pamiętałem więcej, niż dowiedziałem się więcej. Nauczę się, kiedy używać broni, zamiast dowiedzieć się, jakie są wymiary i prędkość pocisku! Na szczęście, że jest tu tak wielu dobrych ludzi z Linuksem .. Pozdrowienia dla unix / linux !!
Atul
1
Zazwyczaj robię:
man ${CMD}| grep 'what was I thinking about?'
Lub niektóre ich odmiany. Z niektórymi greps możesz określić -C / A / B odpowiednio dla kontekstu , po i przed . Jeśli nie, nli sedmoż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,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
Te same techniki działają z --helpmenu, 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 przynajmniejman i grep. Może nie przejmuj się resztą.
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?
źródło
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ępnieman
otworzyć stronę tego polecenia . Więc: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:Jak zauważa wiki:
źródło
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.
źródło
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.
źródło
--help
.-?
potrzeby cytowania zzsh
,csh
,tcsh
lubfish
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
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:Inną opcją jest po prostu wprowadzenie opcji, które lubisz do polecenia podstawowego, np
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:
Umożliwiają mi to wyszukiwanie na przykład użycia polecenia:
hg ls
pokaże wszelkie ostatnie zastosowania LS z historiihga ls
pokażą wszystkie zastosowania LS z całej mojej historii.Rozwinąłem hg po stwierdzeniu, że hga zwykle wykazuje zbyt wiele.
źródło
rm -iv
robi, OP prawdopodobnie również nie pamięta, cormiv
robi. Nie sądzę, że to jest myślnik.rm -iv
dosafe_delete
lubrm_prompt
Zazwyczaj robię:
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
ised
można je całkiem dobrze dopasować: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 rzeczystderr
.W każdym razie, morałem tej historii jest, pamiętaj przynajmniej
man
igrep
. Może nie przejmuj się resztą.źródło
grep
strony, gdy szukam konkretnej funkcji, co jest całkiem przydatne.-A
-B
-C
Opcje grep również mogą być przydatne, np.man bash | grep -A 25 PROMPTING$