Если вас интересует работа в командной строке Linux — вот некоторые из наших материалов на эту тему:
- [ +114 ] Самые полезные приёмы работы в командной строке Linux
- [ +70 ] 10 приёмов работы в терминале Linux, о которых мало кто знает
- [+65 ] Удивительно полезный инструмент: lsof
- [ +32 ] Linux: перенаправление
- [ +29 ] PDF-версия статей про Bash-скрипты
Приёмы работы в командной строке Linux и экономия времени
Вам когда-нибудь доводилось видеть, как коллега использует некие простые команды Linux для решения задач, решение которых занимает у вас несколько строк? Должно быть, когда подобное случалось, вы только и могли сказать себе: «Ну ничего ж себе! Я и не знал, что это можно сделать так просто».
В этом материале я покажу вам некоторые профессиональные приёмы работы в командной строке Linux, которые сэкономят вам уйму времени и в некоторых случаях избавят от плохого настроения. Мало того, что ваши друзья или коллеги скажут: «Ну надо же!», глядя на вас. Эти приёмы, кроме того, помогут вам увеличить личную продуктивность, так как вам понадобится вводить меньше команд и даже делать меньше щелчков мышью.
Нельзя сказать, что эти советы по Linux предназначены только для начинающих. Вполне возможно, что даже опытные пользователи найдут здесь что-нибудь полезное, то, о чём они не знали несмотря на то, что пользовались Linux многие годы. Linux изучают на основе опыта. Тут сгодится и собственный опыт, и опыт других людей.
Прежде чем мы начнём, хочется отметить, что некоторые из приведённых здесь методов зависят от настройки командной оболочки.
0. Автозавершение команд с использованием клавиши Tab
Я начну с кое-чего вполне очевидного, но весьма важного: с автозавершения команд с помощью клавиши
Tab
.Когда вы начинаете набирать что-то в терминале Linux, вы можете нажать клавишу
Tab
, после чего будет выведена подсказка, содержащая набор вариантов продолжения ввода, начинающихся с только что введённых символов.Например, собираясь скопировать файл с именем
my_best_file_1.txt
, вы можете просто ввести cp m
и нажать Tab
для того, чтобы увидеть возможные варианты продолжения команды.Использование клавиши Tab для автозавершения ввода
Клавишу
Tab
можно использовать и для автозавершения команд.1. Переход в последнюю рабочую директорию
Представьте, что вы работали в директории, до которой не так уж и просто добраться, а потом перешли в другую директорию, расположенную совершенно в другом месте. Потом вы поняли, что вам нужно вернуться в предыдущую директорию. В этом случае достаточно воспользоваться следующей командой:
cd -
Она позволит вам оказаться в последней рабочей директории. Теперь в подобных ситуациях вам не нужно больше будет вводить длинные пути, или пользоваться копированием и вставкой.
Простое переключение между директориями
2. Возврат в домашнюю директорию
Этот приём тоже весьма очевиден. Вы можете использовать нижеприведённую команду для того, чтобы вернуться в домашнюю директорию из любого места:
cd ~
Однако, в домашнюю директорию можно вернуться ещё быстрее — с помощью команды
cd
.В большинстве современных дистрибутивов Linux оболочка предварительно настроена на именно такое восприятие команды
cd
. Это сэкономит вам пару нажатий клавиш на клавиатуре.Самый быстрый способ перехода в домашнюю директорию
3. Вывод на экран содержимого директории
Возможно, вы зададитесь вопросом о том, в чём состоит тонкость использования команды для вывода содержимого директории. Все знают, что для этой цели служит команда
ls -l
.Но в том-то всё и дело. Практически все используют команду
ls -l
для вывода содержимого директорий, в то время как то же самое можно сделать с помощью следующей команды:ll
Работоспособность этой команды зависит от дистрибутива Linux и от настройки оболочки, но весьма вероятно, что вы сможете воспользоваться ей в большинстве дистрибутивов.
Использование команды ll вместо команды ls -l
4. Вызов нескольких команд в одной строке
Представьте, что вам нужно последовательно выполнить несколько команд. Наверное, вы вводите одну команду, потом ждёте, когда она завершится, дальше — вводите следующую?
В подобной ситуации полезным окажется разделитель команд
;
(точка с запятой). При таком подходе вы можете ввести несколько команд в одной строке. При этом, в отличие от обычного ввода команд, для выполнения следующей команды не надо ждать завершения предыдущей.command_1; command_2; command_3
5. Выполнение нескольких команд в одной строке и условие на успешное завершение предыдущей команды
Только что мы рассмотрели способ вызова нескольких команд в одной строке. Это экономит время. Но что если вам нужно, скажем, при вызове двух команд, чтобы следующая команда была выполнена только в том случае, если предыдущая завершится без ошибок?
Представьте себе, что хотите собрать код, а затем, если сборка оказалась успешной, вызвать
make
?В подобной ситуации можно использовать разделитель
&&
. Этот разделитель позволяет гарантировать то, что следующая команда будет выполнена лишь в том случае, если предыдущая отработает успешно.command_1 && command_2
Вот хороший пример использования
&&
:sudo apt update && sudo apt upgrade
6. Простой поиск и использование ранее введённых команд
Представьте себе, что вы, пару минут или пару часов назад, вводили длинную команду, и вам снова нужна эта команда. Причём, проблема заключается в том, что вспомнить точно эту команду вы не можете.
В подобной ситуации вас спасёт обратный поиск. Данная методика позволяет проводить поиск в истории команд по ключевому слову. Тут достаточно использовать комбинацию клавиш
Ctrl + R
для запуска обратного поиска и ввести что-то, имеющее отношение к команде. Система просмотрит историю команд и покажет команды, соответствующие введённому запросу.Ctrl + R search_term
По умолчанию показан будет лишь один результат. Для того, чтобы увидеть больше результатов, соответствующих запросу, вам понадобится использовать комбинацию клавиш
Ctrl + R
снова и снова. Для того, чтобы выйти из режима обратного поиска, нажмите Ctrl + C
.Обратный поиск по истории команд
Обратите внимание на то, что в некоторых оболочках Bash для перебора результатов поиска можно пользоваться клавишами
Page Up
и Page Down
.7. Разблокировка терминала после случайного нажатия Ctrl + S
Возможно, вы привыкли пользоваться комбинацией клавиш
Ctrl + S
для сохранения файлов. Но если нажать эти клавиши в терминале Linux, вы его заблокируете.Если раньше вы, для того, чтобы исправить положение, вынуждены были закрывать и снова запускать терминал — теперь может вздохнуть спокойно, больше вам этого делать не придётся. Для того, чтобы привести терминал в рабочее состояние, просто воспользуйтесь комбинацией клавиш
Ctrl + Q
.8. Перемещение к началу или концу строки
Представьте себе, что вы вводите длинную команду и где-нибудь посередине понимаете, что должны что-нибудь изменить в её начале. Вероятно, вы используете клавиши-стрелки для того, чтобы сначала переместиться в начало строки, а потом вернуться в конец.
Конечно, в подобной ситуации можно использовать клавиши
Home
и End
, но, как вариант, с помощью комбинации клавиш Ctrl + A
можно перейти в начало строки, а с помощью комбинации Ctrl + E —
в конец.Перемещение к началу или концу строки
Мне такой способ кажется удобнее, чем использование клавиш
Home
и End
, особенно когда я работаю на ноутбуке.9. Чтение лог-файлов в режиме реального времени
Когда вам нужно проанализировать файлы журналов, в которые, во время анализа, пишет данные какое-нибудь работающее приложение, вы можете использовать команду
tail
с опцией -f
.tail -f path_to_Log
Кроме того, вы можете использовать команду
grep
в её обычном виде для отображения только тех строк, которые вас интересуют:tail -f path_to_log | grep search_term
Также тут можно задействовать опцию
F
. Это приведёт к тому, что утилита tail
продолжит работать даже в том случае, если просматриваемый лог-файл будет удалён. При таком подходе, если этот файл снова будет создан, tail
продолжит выводить данные из него на экран.10. Чтение сжатых лог-файлов без их распаковки
Серверные журналы обычно сжаты с помощью
gzip
для экономии места на диске. Это может привести к некоторым неудобствам при анализе логов разработчиками или системными администраторами. Вам может понадобиться использовать команду scp для копирования файла в свою локальную директорию, а после этого извлечь файл из архива для того, чтобы его просмотреть, так как у вас может не быть разрешения на запись туда, где хранится интересующий вас файл.Тут нам на помощью приходит группа команд, имя которых начинается с буквы «z». Эти команды являются альтернативой обычным командам, которые используются для работы с файлами журналов. Среди них —
less
, cat
, grep
, и другие.Итак, используя команды
zless
, zcat
, zgrep
и подобные им, вам не придётся явным образом распаковывать сжатые файлы. Подробности об этих командах можно посмотреть здесь.Кстати, когда я рассказал об этих «секретных» командах коллеге, мне досталась чашка кофе.
11. Использование команды less для чтения файлов
Если вам нужно просмотреть файл, особенно — большой, можно попробовать команду
cat
, но гораздо лучше поискать что-нибудь другое. Дело в том, что cat
выведет на экран весь файл, что не так уж и удобно.Для просмотра файлов можно воспользоваться редакторами вроде Vi или Vim, работающими в терминале, но если вам просто нужно прочесть файл, очень кстати окажется команда
less
.less path_to_file
Во время сеанса работы с
less
можно искать нужные фрагменты текста по ключевым словам, перемещаться по страницам, выводить данные с номерами строк, и так далее.12. Повторное использование последнего элемента из предыдущей команды с помощью !$
Во многих ситуациях очень кстати оказывается возможность использования аргумента предыдущей команды.
Предположим, вам нужно создать директорию, а потом в неё перейти. Тут можно воспользоваться опцией
!$
, вводя команду перехода после команды создания директории.Применение !$ для использования аргумента последней команды
Ещё лучше то же самое делается с помощью сочетания клавиш
Alt +.
(точка). Точку можно использовать несколько раз для перебора опций последней команды.13. Использование предыдущей команды в текущей команде с помощью !!
С помощью
!!
можно вызвать всю предыдущую команду. Этот приём оказывается особенно полезным, когда вам нужно выполнить команду и оказывается, что для её выполнения нужны привилегии суперпользователя. Например, на рисунке ниже показана ситуация, в которой команда sudo !!
позволяет сэкономить немало времени.Воспользуйтесь!!! для подстановки последней команды в качестве аргумента
14. Использование псевдонимов для исправления ошибок ввода
Возможно, вы уже знакомы с командой
alias
. Её можно использовать для исправления ошибок во введённых командах.Например, может случиться так, что вы часто вводите
gerp
вместо grep
. Если с вредной привычкой справиться никак не удаётся, запишите псевдоним в свой файл bashrc
следующим образом:alias gerp=grep
Теперь вам не придётся перенабирать эту команду если вы введёте её имя неправильно.
15. Копирование и вставка в терминале Linux
Этот совет несколько неоднозначен, так как он зависит от дистрибутива Linux и от терминала.
Но обычно команды копирования и вставки можно вызывать следующим образом:
- Выделите текст, который надо скопировать, и щёлкните правой кнопкой мыши для его вставки (работает в Putty и других SSH-клиентах для Windows).
- Выделите текст, который надо скопировать, после чего щёлкните центральной кнопкой мыши (колесом прокрутки) для того, чтобы его вставить.
- Используйте комбинации клавиш
Ctrl + Shift + C
для копирования, иCtrl + Shift + V
для вставки.
16. Завершение работы команды или процесса
Возможно, то, что я тут хочу посоветовать, совершенно очевидно, однако, всё равно об этом расскажу. Если команда выполняется на переднем плане и вы хотите из неё выйти, можете нажать клавиши
Ctrl + C
для того, чтобы её остановить.17. Использование команды yes для автоматизации интерактивных команд или скриптов
Если вам приходится работать с некоторыми командами или скриптами, которые предусматривают взаимодействие с пользователем, и вы знаете, что будете вводить
Y
в ответ на каждый вопрос программы, можете автоматизировать этот процесс с помощью команды yes
. Делается это так:yes | command_or_script
18. Очистка содержимого файла без удаления самого файла
Если вы хотите очистить содержимое текстового файла, не удаляя сам файл, можете использовать следующую команду:
> filename
19. Выяснение наличия в директории файлов, содержащих определённый текст
Командная строка Linux поддерживает множество способов поиска информации. Однако, если вам просто нужно узнать, имеются ли в некоей директории файлы, которые содержат определённый текст, вы можете воспользоваться такой командой:
grep -Pri Search_Term path_to_directory
Однако я советую всем, кому нужен поиск в Linux, разобраться как следует с командой
find
.20. Вызов справки для любой команды
Хочу завершить этот материал одним весьма очевидным, но, тем не менее, очень важным «трюком», который заключается в вызове справки для команды или инструмента командной строки.
Практически все средства командной строки содержат справочную информацию, раскрывающую особенности их использования. Обычно чтение справки помогает разобраться с основами команды. Вызвать справку можно так:
command_tool --help
Итоги: делитесь полезными советами!
Я намеренно не включил в этот материал команды вроде fuck, так как они не из тех стандартных средств, которые можно найти буквально повсюду. То, о чём я тут рассказал, может принести пользу при работе практически со всеми дистрибутивами Linux и оболочками командной строки без необходимости установки новых программ.
Уважаемые читатели! Возможно, вы уже знакомы с некоторыми из приведённых здесь методов использования команд Linux, а может и знаете их все. В любом случае, приглашаем вас поделиться вашими любимыми приёмами в комментариях.
Комментарии (81)
Vidog
11.10.2017 12:37+212. Повторное использование последнего элемента из предыдущей команды с помощью !$
Еще можно нажатие Alt +. (точка)
18. Очистка содержимого файла без удаления самого файла
Можно просто>filename
mrobespierre
11.10.2017 12:48+2yes |
выводит y, но выводить можно всё что угодно, например:
yes yes |
yes n |
404
11.10.2017 13:04+12ll
— это не команда, а алиас кls -l
. Чуть больше рассказать про алиасы было бы многократно полезнее, чем рассказать проll
, который не предустановлен во многих дистрибутивах.Butylkus
12.10.2017 18:15Плюсанул бы, да не умею… Это чуть ли не первый урок от MagPi в книге Bash Essentials — упростим себе жизнь, раскомментировав этот алиас в .bashrc. А ещё доступен аж целый la!
myxo
11.10.2017 13:05+27все-таки стоило назвать статью 20 приемов… для самых новичков.
immaculate
11.10.2017 13:14+2Тоже ожидал увидеть что-то новое, а на самом деле компиляция элементарных приемов, которым уже 20+ лет, и которые бесчисленное количество раз тиражировались начиная с Linux HOWTOs (кто еще помнит такие) и первых Linux журналов.
KorP
11.10.2017 13:37Интересно, сколько раз тут эти «20 мега приёмов» уже повторяют за все эти годы? Раз 20, не меньше, наверное.
questor
11.10.2017 13:37Когда выдают экономию в один-два символа в команде cd за прием, который сэкономит уйму времени — мне хочется плакать. Вот подстановка имени файла по табу экономит много больше усилий и это реально качественный скачок на иной уровень.
youROCK
11.10.2017 13:49+2Автор, где хардкор? Ну и часть советов вообще скорее вредные, например про!!! — очень частый паттерн это писать sudo !!, но вы при этом не видите, какую команду будете исполнять, и злоупотребление этой командой может привестм к печальным последствиям. Ну и не слова про fish, тоже обидно.
stat1c_void
11.10.2017 17:44+1Как насчет: sudo !!<tab>, прочитать, а потом только запускать
brestows
11.10.2017 21:11+2тогда уж проще просто нажать: вверх ->ctrl+a и добавить sudo. но это как по мне.
saboteur_kiev
11.10.2017 14:04+1cd ~
Потому что это указание на домашнюю папку пользователя.
~ без имени пользователя = текущий пользователь.
А вот cd ~user1 — зайти в домашнюю папку user1, например /home/user1 (или что у него прописано в /etc/passwd)
saboteur_kiev
11.10.2017 14:06«В подобной ситуации полезным окажется разделитель команд; (точка с запятой). При таком подходе вы можете ввести несколько команд в одной строке. При этом, в отличие от обычного ввода команд, для выполнения следующей команды не надо ждать завершения предыдущей.
command_1; command_2; command_3»
Неверно. команды будут выполняться последовательно, после завершения предыдущей.
Они же не в фоне запускаются (& в конце)
F0iL
11.10.2017 14:55+1Так автор выше и написал, "… нужно последовательно выполнить несколько команд".
«Не надо ждать завершения предыдущий» — скорее всего, имелось в виду «не надо ждать завершения предыдущей, чтобы ввести и нажать Enter для выполнения следущей»saboteur_kiev
11.10.2017 15:58Ну в цитате указано, что не для ввода, а для «выполнения следующей команды», вроде как однозначно…
pmcode
11.10.2017 14:23+1достаточно использовать комбинацию клавиш Ctrl + R для запуска обратного поиска и ввести что-то, имеющее отношение к команде
Есть ли какой-то способ допилить этот поиск, чтобы можно было перемещаться по результатам стрелочками? Каждый раз обламываюсь, и в итоге делаю history | grep + copy/paste :( Очень неинтуитивно. Максимально круто было бы иметь какую-нибудь функцию для zsh, чтобы не скроллить по одному результату, а просто выбрать из списка.Crandel
11.10.2017 14:29For zsh
[[ -n "$key[Up]" ]] && bindkey -- "$key[Up]" up-line-or-beginning-search [[ -n "$key[Down]" ]] && bindkey -- "$key[Down]" down-line-or-beginning-search bindkey "^[[1;5A" history-substring-search-up bindkey "^[[1;5B" history-substring-search-down
fat_and_angry
11.10.2017 15:36"\e[A":history-search-backward
"\e[B":history-search-forward
в .inputrc для bash
ShturmanGolden
12.10.2017 08:10fzf же!
Скачать и добавить строчку в .bashrc:
[ -f ~/.fzf.bash ] && source ~/.fzf.bash
kbu
11.10.2017 14:44Для пункта №9. Логи удобно будет просмтривать вот так:
tail -f /var/log/file.log | ccze -A
youROCK
11.10.2017 16:32+2А ещё, если вы делаете
tail -f ... | grep onething | awk '{print $1}'
, то по умолчанию буферизация будет блочная уgrep
и вы будете видеть результаты большой задержкой. Чтобы всё же вернуть построчную буферизацию, нужно указатьgrep
дополнительный--line-buffered
:
tail -f ... | grep --line-buffered onething | awk '{print $1}'
domix32
11.10.2017 16:55Не все так просто с завершением программ$ python #тычем CTRL+C >>> KeyboardInterrupt >>> KeyboardInterrupt #CTRL+D $ $ bc #тычем CTRL+C (interrupt) use quit to exit. ^C (interrupt) use quit to exit. ^C (interrupt) use quit to exit. ^C (interrupt) use quit to exit. ^C quit $
И это не единственные примеры, насколько я знаю.youROCK
11.10.2017 17:47+1Ага, из telnet так вообще надо выходить путем ввода
Ctrl+]
и только потомquit
:). А из SSH ещё круче:~.
(тильда точка)
Причём если вы подключились по SSH, а оттуда ещё по SSH и хотите завершить вложенный SSH, то надо вводить~~.
Если подключились 2 раза по SSH, то~~~~.
и так далее :).stat1c_void
11.10.2017 18:03Про ssh: если совсем точно, то <enter>~.
Если в момент пропадания связи набирались символы, то без enter-а не выйдетyouROCK
11.10.2017 18:04Да, возможно вы правы. Лично для меня на самом деле важнее тот факт, что это вообще можно сделать, и в
man ssh
написано, как именно. Потому что мне кажется, что многие просто вкладку закрывают и всё.
Meklon
13.10.2017 13:50А exit не спасает?
saboteur_kiev
13.10.2017 17:30Если вы уже подключились — не факт, что на той стороне exit что-то означает =)
Butylkus
12.10.2017 18:23У питона свой дзен. Есть только один правильный способ сделать это, и это sys.exit(shota)..
Причин тому много и самая очевидная — многопоточность скрипт, а потоки с в неизвестном месте обрывать ну очень плохая идея.
SakuradaJun
11.10.2017 16:5511. Использование команды less для чтения файлов
Протестировал только что, в отличие от more после нажатия q выведенный кусок файла пропадает из консоли. More удобнее, можно просто прокрутить терминал назад и снова увидеть нужный кусок файла. Такое бывает нужно.
Конечно, less позволяет сразу редактировать, но если в дистре есть less то есть и nano или mcedit которые для редактирования удобнее.
15. Копирование и вставка в терминале Linux
Более того, можно и enter скопировать, сместив во время выделения курсор в начало следующей строки.saboteur_kiev
11.10.2017 17:31less позволяет ПРОСОТ бегать назад, и прокручивать нужно не терминал, а сам текст в less.
Less также позволяет выполнять поиск назад, а не только вперед, фильтр строк и многое другое.
А more — просто постраничный вывод вперед, с возможностью поиска только вперед. И с автоматическим выходом по окончании файла
youROCK
11.10.2017 17:49А ещё в less можно уже после открытия файла выключить word-wrap путем нажатия
-S<Enter>
(минус S, и потом Enter). Позволяет удобно просматривать
логи с длинными строками.
youROCK
11.10.2017 18:07+2Если терминал «испортился» и показывает странные символы, то его зачастую можно починить, набрав
<Enter>reset<Enter>
(на самом деле просто выполнить команду reset) — у терминала на самом деле есть 2 «раскладки» и это использовалось задолго до изобретения UTF-8 для того, чтобы рисовать псевдографику. Командаreset
сбрасывает терминал близко к оригинальным настройкам и зачастую может «починить» терминал, который «сошел с ума».saboteur_kiev
12.10.2017 10:28+1не только раскладки. Есть еще просто ESC-последовательности, которые управляют цветом. То есть сделав cat какого-нить бинарника, можно оказаться в ситуации, когда печатаешь черным по черному, или вырвиглазным мигающим по ярко красному, с шириной экрана 10 символов.
Тоже reset спасает.
soomrack
11.10.2017 19:48Еще очень полезная утилита — parallel
youROCK
11.10.2017 20:40Честно говоря, никогда не понимал, как утилита на Perl может помогать обрабатывать данные быстрее за счет параллелизации. Xargs на больших объёмах (иначе зачем вам использовать параллельную обработку) должен быть значительно быстрее, я не прав?
soomrack
11.10.2017 21:13Суть не в быстрее, а в «параллельно». Нужно слить 100+ страниц для теста по базе урлов, или прогнать моделирование на 100+ входных данных...,
то вместо того, чтобы вручную что-то придумывать, просто запускаем скрипт через parallel.
zirf
11.10.2017 21:39Э-э-э. В п 3 помянута команда ll, которая в Debian-based дистрибутивах как раз элиас в .bashrc alias ll="ls -alF". Но сами элиасы отнесены аж в п 14.
VJean
12.10.2017 00:190. Нужен установленный bash-complection. Который частенько отсутствует на ВДСках, разворачиваемых из контейнеров.
MadLord
12.10.2017 05:59с помощью комбинации клавиш Ctrl + A можно перейти в начало строки, а с помощью комбинации Ctrl + E — в конец.
да, удобная вещь, когда в Putty (в mc) Home и End не работают…youROCK
12.10.2017 11:13Не поверите, на некоторых клавиатурах таких кнопок вообще нет :). И pgup/pgdown тоже.
jakshi
12.10.2017 08:10Когда надо вспомнить как сделать распространенное действие с какой либо утилитой командной строки, очень помогает cheat: github.com/chrisallenlane/cheat
KoMePcAHT
12.10.2017 08:10Если команда выполняется на переднем плане и вы хотите из неё выйти, можете нажать клавиши Ctrl + C для того, чтобы её остановить.
Ctrl-C отправляет SIGINT сигнал, который вызывает завершение процесса.
Ctrl-Z отправляет SIGTSTP сигнал, который приостанавливает выполнение процесса. Продолжить выполнение можно командой fg (от foreground)Evgen52
12.10.2017 10:19… и bg (background), чтобы продолжить выполнение в фоне.
saboteur_kiev
12.10.2017 10:32или kill -n 18
ogost
12.10.2017 12:54jobs — узнать список таких задач, «поставленных на паузу» или отправленных в бэкграунд.
rusnasonov
12.10.2017 12:5414. Использование псевдонимов для исправления ошибок ввода
Cразу вспомнил забавную утилиту thefuck
C ней было бы так:
$ gerp
zsh: command not found: gerp
$ fuck
grep [enter/^/v/ctrl+c]
iig
12.10.2017 13:54+120 приёмов работы в
командной строке Linuxbash, которые сэкономят уйму времени.
Или не сэкономят. Все зависит от того, что за работа будет делаться и в каком окружении. Иногда проще открыть еще одну вкладку в терминале — чтобы не экономить символы в команде cd. Иногда проще запустить файл-менеджер, чтобы не продираться с помощью tab. Иногда проще закрыть терминал вместе с зависшей сессией (2 раза в год бывает такое), чем вспоминать заклинание для ssh.
WRONGWAY4YOU
12.10.2017 16:17Представьте себе, что хотите собрать код, а затем, если сборка оказалась успешной, вызвать
make
?Помоему, данная последовательность действий ничего полезного из себя не представляет. Второй пункт, скорее всего, нужно заменить на что-то типа "запустить тесты".
Или, может, под "сборкой проекта" вы подразумевали процесс генерации Makefile'а?
reinvent
12.10.2017 18:06в чём состоит тонкость использования команды для вывода содержимого директории. Все знают, что для этой цели служит команда ls -l.
А как же dir?
DiLis
12.10.2017 19:05Еще screen иногда очень сильно выручает (в частности при обрыве соединения).
bano-notit
12.10.2017 23:05tmux вроде поудобнее будет)
alekciy
13.10.2017 09:52Чем?
saboteur_kiev
13.10.2017 10:36Много чем. у tmux-а только одно неудобство — он недоступен из коробки, нужно ставить отдельно.
А так — разделение на окна, кроме виртуальных вкладок, и поддержка командной строки, что позволяет автоматизировать переход в разные режимы, плюс внятный статус бар, плюс отсутствие глюков с терминалом — этого уже более чем достаточно.
maxpy
для этих целей я использую «echo > filename»
я такой команды в CentOS 6 и 7 не нашел.
UrsusMaritimus
В Ubuntu 16.04 тоже нет. Нужно ставить пакет wcstools
vvpoloskin
Лайфхак
: > filename
ru_vds Автор
Исправили, спасибо.
youROCK
Проблема с echo заключается в том, что полученный файл будет не пустым. Нужно либо писать echo -n >filename (linux) либо что-то вроде echo -e '\e' >filename, если у вас не bash, и просто :>filename в баше. На FreeBSD есть отдельная команда truncate, вроде как
MadLord
cat > filename
Ctrl + D
resetme
Продвинутые админы используют:
MasMaX
Я делаю проще «cat /dev/null > filename»
j_wayne
deleted