Мне интересно узнать, какой трюк вы используете, чтобы запомнить параметры для различных команд? Поиск man-страниц все время занимает много времени и не такой крутой!
man
страниц очень круто ... :)
Мне интересно узнать, какой трюк вы используете, чтобы запомнить параметры для различных команд? Поиск man-страниц все время занимает много времени и не такой крутой!
man
страниц очень круто ... :)
Ответы:
Хитрость проста: просто нет. Это пустая трата времени и просто не нужно. Запоминание опций команд не является особенно полезным навыком. Гораздо важнее понять, как все работает в целом, и иметь смутное представление о том, какие инструменты существуют в первую очередь и для чего вы их используете. Очень важным навыком здесь является умение узнавать о вещах, которые вы еще не знаете.
Страницы руководства занимают много времени? Не так. Вы не должны их читать - по крайней мере, не каждый раз - есть функция поиска. Так что, если я не помню, какая загадочная опция была для hdparm
отключения таймера простоя на некоторых дисках WD, я делаю, man hdparm
и /idle3
да, и это было -J
. Подобные вещи выглядят так быстро, что я даже не помню, как делал это потом.
Представьте, что кто-то запоминает все hdparm
варианты. Что за трата времени.
Хорошо, если вы просто запомнили опции, потому что часто используете их. Это происходит автоматически, даже не задумываясь об этом. Но на самом деле сознательно тратить время на их запоминание ... для чего это должно быть хорошо? Бумажный тест?
man hdparm | less -p idle3
это также удобный способ перейти к желаемому сроку ...
rm -i -f -r
, ln -s
, df -s -h
, cp -r -i
, ls -l -h -a
и т.д. (список варьируется от человека к человеку).
У Zsh есть функция run-help , по умолчанию связанная с Alth. С помощью этой функции вы можете начать ввод команды со многими или сложными опциями, которые трудно запомнить, rsync
например, например, и затем man
открыть страницу этой команды . Так:
rsync Alth
прочитайте man
страницу и определите, какие переключатели вам нужны, нажмите, qа затем вы вернетесь в командную строку, где именно остановились, и готовы выполнить команду с необходимыми параметрами:
rysnc -azP file dir/
Как отмечает вики:
Эта функция может быть дополнительно настроена путем определения вспомогательных функций формы run-help-command. В стандартном выпуске доступно три таких функции: run-help-git, run-help-svk и run-help-svn.
bash
имеет, bash-complete
который предоставит много параметров параметров для большого количества команд.
zsh
bash
завершение @ericx не поддерживает добавление описаний в список завершения или группирование записей ( --classify -F -- append file type indicators
например, в завершении GNU ls в zsh), поэтому оно не так полезно, как в zsh.
Использование очень длинной истории команд и прохождение через нее очень полезно.
Я в основном собираю все файлы истории оболочки и прохожу через них.
Полученные результаты во многих случаях очень полезны, так как легко найти хорошие ключевые слова.
При поиске определенного аргумента, который вы использовали, например URL, вы также найдете соответствующие команды и опции. И в поисках конкретных вариантов, вы можете найти соответствующие аргументы.
Большинство команд имеют --help для быстрого ознакомления, и обычно этого достаточно, чтобы напомнить, что я когда-то знал.
Тем не менее, есть привычка писать --help вместо -h или даже - ?. Вы никогда не знаете, что такое -h, прежде чем смотреть вывод об использовании или страницу руководства. В худшем случае -h может быть короткой рукой для --hazardous-автоматического-уничтожения.
--help
. -?
потребности ссылки с zsh
, csh
, tcsh
или , fish
или , если есть файлы, имена которых будут -
следует один символ в текущей директории. -:
может быть предпочтительнее там.
Один из вариантов, который мне нравится, - создавать псевдонимы с одинаковыми или похожими параметрами, например
alias rmi='rm -i'
alias rmiv='rm -iv'
alias rmv='rm -v'
alias cpr='cp -r'
alias cprv='cp -rv'
Таким образом, у вас есть хороший ярлык, который вы скоро запомните, но он также сохранит информацию о реальных параметрах, которые он отображает.
Другой подход с псевдонимами состоит в том, чтобы выбрать наиболее распространенные параметры и создать супер короткий псевдоним, который их использует. Например, ls
я почти всегда так делаю, l
и это потому, что у меня есть:
alias l='ls -alFtrG'
Другой вариант - просто ввести нужные вам опции в базовую команду, например:
alias ls='ls -F --color=always'
Наконец практика, практика, практика и терпение. Продолжайте вводить общие параметры, и вы в конечном итоге выучите их. Обычные в днях, другие в неделях, и да, некоторые становятся годами, чтобы стать вам известными. Думайте об этом как о удовольствии в том программировании Unix, которое будет продолжать развлекать вас в течение долгого времени.
Другой вариант, который мне нравится, - это псевдоним, который облегчает поиск в моей истории, и для этого у меня есть два похожих псевдонима:
alias hg='history | tail -200 | grep -i'
alias hga='history | grep -i'
Это позволяет мне искать использование команды, например:
hg ls
покажет все недавние случаи использования ls из истории
hga ls
, покажет все случаи использования ls из всей моей истории.
Я разработал HG, обнаружив, что HGA имеет тенденцию показывать слишком много.
rm -iv
делает, ОП, вероятно, также не вспомнит, что rmiv
делает. Я не думаю, что проблема в дефисе.
rm -iv
чтобы safe_delete
илиrm_prompt
Я обычно делаю:
man ${CMD} | grep 'what was I thinking about?'
Или какой-то их вариант. С некоторыми grep
s вы можете указать -C / A / B для контекста , после и до соответственно. Если нет, nl
и sed
может быть довольно хорошо подобраны:
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
Те же самые приемы работают с --help
меню, если они у вас есть, но вам может понадобиться сделать это, ${CMD} --help 2>&1 | ..filter..
потому что это довольно стандартная практика для печати таких вещей stderr
.
Во всяком случае, я думаю, мораль этой истории, помните, по крайней мере, man
и grep
. Может, не парься по остальным.
grep
страницам при поиске конкретной функции, это довольно удобно.