Вводная статья про Dojo пишется тяжело, собственно, всегда самое сложно это начать, поэтому позволю себе в очередной раз немного отвлечься.
Сегодня я хочу рассказать о мелочах, которые способны значительно облегчить вашу работу с консолью Linux. Вероятно кому-то из вас все эти вещи покажутся очевидными и давно известными, но все мы о чем-то когда-то не знали.
Горячие клавиши
Комбинация | Действие |
---|---|
Ctrl+L | Очистка экрана. |
Ctrl+R | Позволяет начать вводить команды с параллельным поиском подходящей в истории. |
Ctrl+J | Выход из предыдущего режима с подставлением в консоль найденной команды. При выходе по Ctrl+C найденная команда не запомнится. |
Ctrl+A | В начало строки. |
Ctrl+E | В конец строки. |
# | Закомментировать командую. Если поставить диез в начале команды, то она не будет выполнена, но сохранится и к ней можно будет вернутся. |
Ctrl+K | Удаление текста начиная с текущей позиции курсора и до конца строки. |
Ctrl+U | Аналогично, но не до конца, а до начала. |
Ctrl+W | Удаляет слово слева от курсора. Удаленное слово запоминается. |
Alt+D | Аналогично, но для правого слова. |
Ctrl+Y | Вставляет слово запомненное в двух предыдущих случаях. |
Ctrl+T | Меняет местами символ до курсора и символа после курсора. |
!! | Выполняет последнюю команду. |
!число | Запускает команду из истории с соответствующим номером. Номер не обязательно должен быть положительным. В случае отрицательного числа отсчет будет произведен с конца истории команд. Данную команду следует использовать крайне осторожно. Лучше сначала уточнить номер нужной команды с помощью конструкции history | grep команду вы запускаете пока не запустите. |
!буквы | Начало команды. Будет вызвана первая подходящая команда из хистори. Удобно, например, когда настраиваешь apache и его приходится часто перезапускать. |
Alt+. | Подставляет последний аргумент предыдущей команды. |
!^ | Поставляет первый аргумент. |
^^ | Позволяет заменить текст предыдущей команды на новый и выполнить её. Например: ls -l /dev/dsa ~ ^dsa^sda. |
Alias
Linux предоставляет возможность задавать короткие псевдонимы для длинных команд. Теоретически можно задавать псевдонимы целым скриптам, но, на мой взгляд, это моветон.
Посмотреть заданные в текущий момент псевдонимы можно с помощью команды alias. Например, в моей openSUSE 12.2 по умолчанию их было задано примерно два десятка. Наиболее интересные из них:
alias ..='cd ..'
alias ...='cd ../..'
alias cd..='cd ..'
alias dir='ls -l'
alias l='ls -alF'
alias la='ls -la'
alias md='mkdir -p'
alias rd='rmdir'
Значение конкретного псевдонима можно посмотреть с помощью команды alias псевдоним.
Вы можете задать собственные временные псевдонимы с помощью команды alias myalias=’полная_команда’. Например, можно сделать быстрый переход в директорию Apache: alias cdsrv=’cd /srv/www/htdocs’. Если у вас есть несколько основных директорий по которым вы часто перемещаетесь, то, таким образом, можно завести по псевдониму на каждую и быстро между ними переключатся.
Для создания постоянного псевдонима его необходимо указать в специальном файле. Синтаксис объявления абсолютно такой же. Обычно он хранится в домашней директории пользователя и называется .bashrc или .bash_aliases. Но для root это оказалось не так. По крайней мере в openSUSE 12.2. Файл для рутовых alias обнаружился по адресу: /etc/profile.d/alias.bash. После сохранения псевдонимы нужно переинитить. Это автоматически будет сделано при смене сеанса, но также можно сделать это вручную с помощью команды . .bashrc.
Удалить все псевдонимы для текущего сеанса можно с помощью команды unalias. Но после смены сеанса все псевдонимы будут заново подключены, поэтому для полного удаления вам необходимо удалить или закомментировать псевдонимы в файлах.
А какими фишкам и хоткеями консоли пользуетесь вы?
А где находится файл псевдонимов для root в вашей ОС?
Внесу свои пять копеек: Ctrl+Y вставляет удалённое не в двух, а в 4х приведённых перед этим случаем. Т.е. работает также и после Ctrl+U и Ctrl+K. Плюс, если нажать Ctrl+Y повторно, то предложится предыдущее подобное удаление, и ещё предыдущее, и ещё.
ОтветитьУдалитьС обратным поиском (Ctrl+R), кстати работает та же фишка: не обязательно вводить полностью до того момента, пока нужная тебе команда однозначно идентифицируется - можно просто ввести кусочек и использовать ту же комбинацию ещё сколько-то раз.
Ещё бывает удобно вспоминать про `cd -`, особенно когда постоянно перемещаешься между 2мя папками. Собственно, возвращает тебя на предыдущую.
Оооо, 'cd -' - афигеть как круто!
УдалитьОГО!!! подписаться что ли))))
ОтветитьУдалитьпочему rmdir, а не rm -fr?
ОтветитьУдалитьвероятно, как-то связано с возможной безопасностью. В предустановленных alias нет ничего для удаления или редактирования. Видимо считается, что удаление важная операция и чем менее просто её будет выполнить, тем меньше шансов, что пользователь по ошибке удалит что-то не то.
Удалить