Ubuntu является большой, серьезно.
У них есть все пакеты, актуальные и легкие устанавливать. Используйте конфигурацию по умолчанию (= Gnome), и Вы проведете большую часть своего времени, программируя и не настраивая.
Устанавливая gcc пакет компилятора, сделайте, autoconf и т.д. занимает 5 минут с достойным интернет-соединением. У еще тридцати минут и Вас есть Ruby, Python, JVM Sun и готовый-к-управляемому Eclipse.
Править: Ubuntu обеспечивает дополнительные пакеты с отладочными символами для большого количества библиотек. Хороший, чтобы иметь для разработчиков C/C++.
Вы говорите о классическом расширении истории или обработке Readline? cd !$
на следующем входе строка займет место в последнем аргументе предыдущей строки, или M-. или M-_ будут дергать его использование Readline.
Если Ваш вопрос о доступе к истории команд, то попробуйте эту хорошо названную команду
history
Можно также попробовать Ctrl + r и начать вводить команду, Вы пытаетесь помнить, что Вы недавно ввели.
(reverse-i-search)`cd ': cd mydir/data/
Поразите ESC для выбора команды или выхода. Это работает на меня на SuSE, по крайней мере; не уверенный в других дистрибутивах.
history | grep ...
!
– Oli
26.08.2010, 00:04
vi
управлять Вашей командной строкой. Очень прикольные взгляды. использование vi для редактирования команд оболочки
– Banjer
14.07.2012, 17:31
Это столь же просто как Высокий звук +.
$ mkdir lasdfjalsdkjf
$ cd
Высокий звук +.
$ cd lasdfjalsdkjf
$!
расширяется до последнего слова, которое Вы на самом деле ввели, $_
расширяется до последнего слова после расширения - таким образом, Вы могли бы echo /tmp/tmpfile*
и посмотрите набор файлов, которые Вы хотите удалить, но затем rm $_
только удалит одного из них.
– jmb
13.03.2014, 14:40
Взятие подсказки от другого потока, если Вы помещаете:
bind '"\e[A"':history-search-backward
bind '"\e[B"':history-search-forward
в Вашем .bashrc затем, можно начать вводить что-то из истории и затем нажать стрелку вверх, и затем вместо того, чтобы пройти историю по пунктам, это пропустит право на предыдущие записи, которые начинаются с того, что Вы уже ввели.
Я предполагаю, что это не помогает многому с конкретным примером, данным в вопросе, но это - одна вещь, которая помогает мне история доступа на лету.
Если Вы используете удар, я предлагаю pushd
и popd
. Можно создать стопку каталога и просмотреть его быстро. Посмотрите этот пример:
PWD:~$ pushd /opt/google/chrome/resources/
/opt/google/chrome/resources ~
PWD:/opt/google/chrome/resources$ pushd /etc/cron.daily/
/etc/cron.daily /opt/google/chrome/resources ~
PWD:/etc/cron.daily$ pushd /opt/pac/lib/method/
/opt/pac/lib/method /etc/cron.daily /opt/google/chrome/resources ~
PWD:/opt/pac/lib/method$ popd
/etc/cron.daily /opt/google/chrome/resources ~
PWD:/etc/cron.daily$ popd
/opt/google/chrome/resources ~
PWD:/opt/google/chrome/resources$ popd
~
PWD:~$
$
полезно при демонстрации pushd
, и т.д.)
– Paused until further notice.
26.08.2010, 01:49
На связанной ноте я рекомендую использовать histverify в ударе. Поместите это в свой ~/.bashrc:
shopt -s histverify
Это заставит удар распечатывать команду после расширения! $ или другие функции истории, и дают Вам шанс посмотреть на него, прежде чем удар войдет снова для фактического выполнения его. Для меня проверка работоспособности стоит случайного дополнительного нажатия клавиши. Хочу удостовериться, что я работаю cd foo
команда, не rm -rf foo
один...
Я часто использую подход Ctrl-R, а также Высокий звук-. (который является подходящим вариантом для сценария, который Вы описываете). Я буду использовать! $ при случае.
Это очень полезные методы общего назначения.
Но рассматривать Ваш конкретный вопрос:
Создание каталога и cd'ing непосредственно в него является такой общей комбинацией, что полезно иметь функцию для оборачивания его..
function mcd {
local newdir='_mcd_command_failed_'
if [ -d "$1" ]; then # Dir exists, mention that
echo "$1 exists..."
newdir="$1"
else
if [ -n "$2" ]; then # We've specified a mode
command mkdir -p -m $2 "$1" && newdir = "$1"
else # Plain old mkdir
command mkdir -p "$1" && newdir="$1"
fi
fi
builtin cd "$newdir" # No matter what, cd into it
}
Использование: mcd thisismyfolder
Если Ваша оболочка использует readline (который имеет место для bash
) можно сделать что-то как нажатие ATL +. вместе?
последний аргумент рывка (M-. или M-_)
Вставьте последний аргумент предыдущей команде (последнее слово предыдущей записи истории). С аргументом ведите себя точно как энный аргумент рывка. Последовательные вызовы к последнему аргументу рывка пятятся через список предыстории, вставляя последний аргумент каждой строки в свою очередь.
cd !$
. "Классическое расширение истории или обработка Readline" я точно не понимаю то, что Вы имеете в виду... – Lazer 25.08.2010, 18:37!$
расширение истории; оболочка обрабатывает его, поскольку это анализирует Вашу команду. M-. является нажатием клавиши readline; readline является библиотекой, которая обрабатывает каждую клавишу, которую Вы нажимаете, и это видит нажатие M-. и типов в последнем аргументе последней команды для Вас автоматически – Michael Mrozek♦ 25.08.2010, 20:00