Online video hd

Смотреть русский видео

Официальный сайт oriflame100 24/7/365

Смотреть видео бесплатно

24.07.10 00:58 zhevak

Жизнь в консолиЛегкая работа с длинными командами

Тот, кто хотя бы раз занимался сборкой программ из исходных кодов, меня поймет. Программисты -- так, те сразу поймут!

Речь идет о написании длинных команд в консоли.
Написать длинную команду непросто. Ошибки всегда присутствуют, стоит только чуть-чуть расслабиться. Отредактировать, а потом заново запустить на исполнение, конечно, можно, но иногда бывает так, что даже и редактирование команды доставляет боль.

Что же делать? Я уже слышу ваши голоса!

Ну да, самое простое -- создать скриптовый файл в текстовом редакторе и не парить себе мозги. Как один из вариантов это решение очень даже не плохое, и я иногда так и делаю.

Но если бы у меня не было фиги в кармане, этого поста тоже бы не было.
На самом деле, оказывается, даже не надо парить себе мозги с запуском текстового редактора, написанием скрипта и последующим его сохранением в виде файла.

Оболочка bash (про другие не скажу, не знаю, не пробовал) уже предоставляет такую возможность!

Допустим, вам необходимо набрать длинющую команду с множеством опций и параметров. Или же, вы уже когда набирали и исполняли эту команду и сейчас вам нужно ее еще раз повторить, только слегка изменив в ней кое-какие параметры.

В первом случае, вы сразу нажимате CTRL+XE, во втором случае вы сначала получаете команду в строку (из истории команд) и также нажимаете CTRL+XE. В результате открывается текстовый редактор nano (или что там у вас прописано в установках), и вы можете набирать или подправить в нем свою супер-пупер команду. В первом случае текст в редакторе будет отсутствовать. Для второго случая, имеющаяся команда будет передана в редактор, и вам остается ее только править.

После правки или создания текста вы должны выйти с сохранением. Да-да, именно так -- выйти с сохранением текста в файле! Файл будет создан в директории /tmp, а имя файла за вас придумает система. С одной стороны, вы знаете, что директорий /tmp чистится после завершения сеанса работы и дисковое пространство не будет замусореваться. А с другой стороны, вы также знаете, что все набранные и исполненные команды попадают в историю. Так что, беспокоиться не о чем: всегда есть возможность вызвать из истории команду и запустить ее на повторное исполнение, при необходимости, подправив ее тем или иным способом.

Итак, при выходе из редактора будет создан временный файл во временном директории, и что самое приятное -- внимание! Туш! -- созданная команда будет запущена на исполнение автоматически. Ура!

Мне остается подсказать начинающим Линуксойдам, как вводить магическое заклинание CTRL+XE. Все просто, сначала вы нажимаете клавишу CTRL, а затем, не отпуская ее, нажимаете последовательно клавишу X, а потом клавишу E. После чего клавишу CTRL можно отпустить :)



garillka 24.07.10 01:57 # +0
Блог не тот, а так довольно интересно.
zhevak 24.07.10 11:16 # +0
Мои извинения. Это моя первая статья. Я еще плохо ориентируюсь на этом сайте.
Спасибо тому, кто перенес статью в нужный блог. Со временем разберусь и таких детских ошибок уже не будет.
urandom 24.07.10 02:14 # +5
Да, тоже пользуюсь, только в zsh - удобно. Если кто еще пользуется zsh, то там того же можно достичь так (поместить в ~/.zshrc):

1
2
3
autoload -U edit-command-line
zle -N edit-command-line
bindkey "^xe" edit-command-line


открывается "умолчательный" редактор из переменной среды EDITOR.
stasikos 24.07.10 08:48 # +0
Ctrl-x Ctrl-e
А то я сразу подумал что это вводится как обычно в других местах типа скрина - Ctrl-X E (еще и с шифтом) :)
Username 24.07.10 09:27 # +1
(еще и с шифтом) :)Убер-комбо какое-то получается.
stasikos 24.07.10 09:30 # +0
У screen таких море. Типа Ctrl-a Ctrl-Shift-d (Ctrl-a D)
cppmm 24.07.10 11:43 # +0
emacs'еры и vim'еры со стажем считают такие комбо нормальными вещами. :))
opium_inside 24.07.10 14:30 # +0
Вимеры возмущены! Прошу не обобщать нас с "пианистами"!

Мы считаем нормальной командой вообще любую последовательность латинских символов разного регистра вперемешку со спец.символами:)
Username 24.07.10 16:31 # +-1
ldkioshgfvsfv - что только что я скастанул в виме?
kstep 24.07.10 16:34 # +3
Сместил курсор вправо, удалил текущую строку вместе с предыдущей, перешёл в режим вставки, ввёл «oshgfvsfv».

Ваш К.О.
cppmm 24.07.10 20:41 # +1
Не боись. Я тоже vim'ер. :)
Сначала я полюбил этот текстовый редактор, а потом я узнал, что у моей жены в интернетах ник vim.
dr_lo 27.07.10 17:11 # +0
аббревиатура от ФИО наверно?
alff31 24.07.10 14:50 # +1
CTRL+XE
Что за странное обозначение? Если ты указываешь большие X и E, то как я понимаю, надо нажимать Shift. )
C-e C-e
zhevak 24.07.10 20:38 # +-1
Попробую ответить всем спорщикам сразу.

Как правильно "Ctrl-A", "Ctrl+A", "Ctrl-a", "Ctrl А"... ?
Это ведь ничего не меняет в понимании. Как бы вы ни написали, все это дает одинаковое понимание действия.

Когда предполагается использовать шифт, то так обычно и пишут -- например
Ctrl+Shift+A. Явное указание лексемы "Shift" устраняет неоднозначность трактовки.

Почему я использую заглавные буквы. А вы посмотрите на клаву, какие там нарисованы символы на клавишах? Когда я говорю о нажимаемых клавишах, я подразумеваю символы, которые их идентифицируют, а не буквочки, которые они передают в комп. (Спорщики опять скажут -- что в комп уходят не буквы, а коды. Давайте не будем передергивать, ибо погрязнув в спорах, мы так и не дойдем до истины.)

Если мы сейчас начнем валить все в одну кучу,то нам придется разбирать еще участие CapsLock -- когда она (он, она или оно?) находится в активном состоянии, то нажатие на Shift приводит к тому, что буквочки будут прописными.
И мы опять пустимся в ненужные споры, и опять за деревьями не увидим леса.

Эдак можно долго спорить, потому как ни о чем. Поэтому предлагаю, закончить словоблудие, и заняться делом.
kstep 24.07.10 20:44 # +1
Просто есть определённые устоявшиеся правила описания (написания?) клавиатурных комбинаций в определённом кругу пользователей-айтишнегов. Тем более, что в нашем кругу комбинации типа «зажать Ctrl, нажать A, отпустить Ctrl, нажать B» далеко не редкость. Именно это и пытаются тебе донести многие комментирующие. Это я не спорю, просто поясняю.
alff31 25.07.10 00:07 # +0
Это ведь ничего не меняет в понимании. Как бы вы ни написали, все это дает одинаковое понимание действия.
Вы не правы. Из вашего CTRL+XE. Я делаю вывод что надо нажать Shift+Ctrl+x, все отпустить а потом нажать Shift+e.
Ну, никто не возражает ведь, что сначала можно надавить клавишу Ctrl, потом не отпуская ее надавить, клавишу E. Затем отпускаются обе, не важно как -- вместе или порознь. Затем опять нужно нажать клавишу Ctrl, потом не отпуская ее надавить, клавишу E.

Но есть и другой способ, о котором я написал. Он, как это ни странно, тоже работает! Почему бы им не воспользоваться?
Вы думаете, что кто-то отпускает символ Ctrl при данном сочетании? Все его оставляют зажатым, но принято все равно писать C-x C-e.
ixpict 24.07.10 15:02 # +0
записать надо как C+x C+e
alff31 24.07.10 19:50 # +0
<зануда>Вы тоже объединили два разных стиля. Для прожженых emacs-еров всегда обозначается подобное C-x C-e, а если уж ставите плюсы, то и Ctrl полностью пишите. Ctrl+x Ctrl+e зануда>

Да и вообще вчера только на хабре была статья горячие клавиши в шелле.

Да, и у меня в zsh не работает. (
vyazovoi 24.07.10 15:55 # +3
Во первых, C-xe это сначала C-x, а потом e. Правильно C-x C-e.
Во вторых, этож надо такую простую фичу расписать на целую статью =))) Можно в одном-двух предложениях и все равно будет ясно.
kstep 24.07.10 16:39 # +2
< sarcasm >Ты не понимаешь. Это нормальный маркетинговый приём. Если на тюбике с мазью от прыщей написать «Мазь от прыщей» — это же не круто, за это дизайнеру не заплатят (если он не Лебедев, конечно). А вот есть написать «Суперантипрыщепыщин» и на обратной стороне расписать, как он, сцуко, выводит все прыщи, проникая в труднодоступные поры и, действуя исподтишка, смело высылает десант на борьбу с ужасными микробами, которые мрут жуткой и мучительной смертью — о це дiло!< /sarcasm >
Username 25.07.10 01:21 # +-1
Если на тюбике с мазью от прыщей написать «Мазь от прыщей»

welinux

от прыщей

linux

coolface.jpg
zhevak 24.07.10 20:47 # +0
Ну, никто не возражает ведь, что сначала можно надавить клавишу Ctrl, потом не отпуская ее надавить, клавишу E. Затем отпускаются обе, не важно как -- вместе или порознь. Затем опять нужно нажать клавишу Ctrl, потом не отпуская ее надавить, клавишу E.

Но есть и другой способ, о котором я написал. Он, как это ни странно, тоже работает! Почему бы им не воспользоваться?

Мне кажется так будет быстрее -- нажали Ctrl; не отпуская, нажали X; отпустили X (Ctrl удерживаем нажатой); нажимаем и отпускаем E; и наконец отпускаем Ctrl.

Я понимаю, что мне пришлось тупо расписать все операции, но что делать!
vyazovoi 25.07.10 09:41 # +0
Вобщет C-xe означает "нажали Ctrl, удерживая её нажали x, затем ОТПУСКАЕМ Ctrl и нажимаем e БЕЗ Ctrl".
А вот C-x C-e означает "удерживая Ctrl нажать сначала x потом e".
vkapas 24.07.10 22:21 # +1
Во вторых, этож надо такую простую фичу расписать на целую статью =))) Можно в одном-двух предложениях и все равно будет ясно.

Да, zhevak'а сегодня явно на творчество потянуло :-)
vkapas 24.07.10 20:06 # +0
редактирование команды доставляет боль

Сильно :-) Сразу представляется программист, командная строка и наворачивающаяся слеза. "Трагическая судьба программиста".

А вообще, спасибо за пост. Раньше не знал о комбинации.
kstep 24.07.10 20:39 # +1
Мне этот оборот особенно резанул глаз. Очень похоже на кальку с английской идиомы. Создаёт впечатление переводной статьи.

Лучшие блоги (все 140)
Топ пользователей Топ блогов
Топ пользователей Топ блогов
Элита (все 2774 из 212 городов)
Топ пользователей Топ блогов
welinux.ru

Смотреть онлайн бесплатно

Онлайн видео бесплатно


Смотреть русское с разговорами видео

Online video HD

Видео скачать на телефон

Русские фильмы бесплатно

Full HD video online

Смотреть видео онлайн

Смотреть HD видео бесплатно

School смотреть онлайн