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

Смотреть вк видео

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

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

zhevak 24.07.2010 00:58

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

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

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

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

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

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

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

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

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

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

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

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


Тэги: команды консоль
+ 18 -
Похожие Поделиться

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

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


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

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

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

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

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

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

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

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

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

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

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

welinux

от прыщей

linux

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

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

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

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

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

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

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

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

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


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

Online video HD

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

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

Full HD video online

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

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

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