Linux аргумент предыдущей команды

Содержание
  1. Фундаментальные основы Linux. Часть III. Раскрытие команд командной оболочкой
  2. Глава 10. Команды и аргументы
  3. Аргументы
  4. Удаление пробелов
  5. Одинарные кавычки
  6. Двойные кавычки
  7. Команда echo и кавычки
  8. Команды
  9. Псевдонимы команд
  10. Вывод информации о раскрытии команд командной оболочкой
  11. Практическое задание: команды и аргументы
  12. Корректная процедура выполнения практического задания: команды и аргументы
  13. bash: аргумент предыдущей команды
  14. Re: bash: аргумент предыдущей команды
  15. Re: bash: аргумент предыдущей команды
  16. Re: bash: аргумент предыдущей команды
  17. Re: bash: аргумент предыдущей команды
  18. Re: bash: аргумент предыдущей команды
  19. Re: bash: аргумент предыдущей команды
  20. Re: bash: аргумент предыдущей команды
  21. Re: bash: аргумент предыдущей команды
  22. Re: bash: аргумент предыдущей команды
  23. Re: bash: аргумент предыдущей команды
  24. Работаем в терминале Linux как профи: подборка полезных команд
  25. Использование табов для автодополнения
  26. Возвращение в последнюю рабочую директорию
  27. Возвращение в домашнюю директорию
  28. Вывести содержимое каталога
  29. Запуск нескольких команд за раз
  30. Запуск нескольких команд за раз при условии, что предыдущая команда была выполнена успешно
  31. Время убивать
  32. Пора остановиться
  33. Простой поиск и использование предыдущих команд
  34. Выводим консоль из зависания после Ctrl+S
  35. Переход к началу или концу строки
  36. Чтение лог-файла в реальном времени
  37. Чтение сжатых логов без извлечения
  38. Использование less для чтения файлов
  39. Использование аргумента предыдущей команды с помощью !$
  40. Использование предыдущей команды в текущей с помощью !!
  41. Использование alias для исправления опечаток
  42. Перезагружаемся
  43. Вставка скопированного текста в терминал
  44. Завершить работающий процесс/команду
  45. Команда для скриптов или команд, которым нужен интерактивный ответ
  46. Очистить файл, не удаляя его
  47. Узнать, есть ли файл с определённым текстом
  48. Получаем справку для каждой команды
  49. Получаем историю команд
  50. Быстро запускаем команды из истории
  51. Выполняем команду в обход истории
  52. Поднимаем простой HTTP-сервер
  53. Пишем длинные команды с удобством
  54. Восстанавливаем терминал
  55. Информация о файловых системах
  56. Деревья процессов
  57. Экран блокировки
  58. Супершелл
  59. Быстро открываем файлы в программе по умолчанию
  60. Статус системных сервисов
  61. Быстро ищем файлы
  62. Используем вывод одной команды в качестве аргумента другой
  63. Календарь
  64. Планировщик задач
  65. Получаем свой внешний IP
  66. Прогноз погоды
  67. Получаем таблицу ASCII
  68. Простой калькулятор
  69. Выполняем команду в другой директории и возвращаемся обратно
  70. Узнаём, какие библиотеки нужны команде/библиотеке
  71. Узнаём, что лежит внутри файла
  72. Многократный запуск команды
  73. Время на запуск команды
  74. Системные вызовы команды
  75. Запоминаем набираемую команду
  76. Выкачиваем сайты
  77. Проводим туннели

Фундаментальные основы Linux. Часть III. Раскрытие команд командной оболочкой

Глава 10. Команды и аргументы

В данной главе вашему вниманию представляется обзор механизма раскрытия команд командной оболочки (shell expansion), созданный в ходе подробного рассмотрения методик обработки команд и аргументов . Понимание принципа работы механизма раскрытия команд командной оболочки является важным ввиду того, что многие команды в вашей системе Linux подвергаются обработке и с высокой вероятностью последующей модификации средствами командной оболочки перед исполнением.

Интерфейс командной строки системы или командная оболочка , используемая в большинстве систем Linux, носит имя bash , которое расшифровывается как Bourne again shell (название «Born again shell» — «возрожденная командная оболочка» было изменено с целью упоминания автора оригинальной командной оболочки sh Стивена Борна). Командная оболочка bash реализует возможности командных оболочек sh (оригинальная командная оболочка Стивена Борна), csh (командная оболочка Билла Джоя с поддержкой сценариев, синтаксис которых основан на синтаксисе языка программирования C), а также ksh (командная оболочка Дэвида Корна).

Аргументы

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

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

Удаление пробелов

Части строки команды, которые разделены с помощью одного или нескольких последовательно расположенных символов пробелов (или табуляции), рассматриваются как отдельные аргументы , причем все пробелы удаляются. Первым аргументом является сама команда, которая должна быть исполнена, остальные аргументы передаются этой команде. Фактически командная оболочка производит разделение вашей строки команды на один или несколько аргументов.

Команда echo будет выводить каждый из принятых от командной оболочки аргументов. Также команда echo осуществляет добавление пробелов между всеми принятыми аргументами.

Одинарные кавычки

Двойные кавычки

Позднее при обсуждении переменных в рамках данной книги мы разберемся с важными различиями между одинарными и двойными кавычками.

Команда echo и кавычки

Команда echo может генерировать и другие символы помимо символов пробелов, табуляции и переноса строки. Обратитесь к странице руководства для ознакомления со списком допустимых обозначений символов.

Команды

Внешние или встроенные команды?

Не все исполняемые командной оболочкой команды являются внешними ; некоторые из них являются встроенными . Внешние команды реализованы в форме программ, представленных отдельными бинарными файлами, которые размещены в какой-либо директории файловой системы. Многие бинарные фалы, реализующие функции внешних команд, размещаются в директории /bin или /sbin . Встроенные команды являются неотъемлемой частью самого приложения командной оболочки.

Как вы можете заметить, команда cd является встроенной , а команда cat — внешней .

Исполнение внешних команд

Псевдонимы команд

Создание псевдонима команды

Стандартные параметры команд

В некоторых дистрибутивах используются стандартные псевдонимы команд для защиты пользователей от случайного удаления файлов (‘rm -i’, ‘mv -i’, ‘cp -i’).

Просмотр объявлений псевдонимов команд

Вывод информации о раскрытии команд командной оболочкой

Практическое задание: команды и аргументы

2. Является ли команда tac встроенной?

3. Существует ли действующий псевдоним команды rm ?

4. Прочитайте страницу руководства для команды rm и убедитесь в том, что вы поняли предназначение параметра -i этой команды. Создайте и удалите файл для проверки работоспособности параметра -i .

5. Выполните команду: alias rm=’rm -i’ . Проверьте работоспособность вашего псевдонима команды на тестовом файле. Работает ли он так, как ожидается?

6. Выведите список используемых на данный момент псевдонимов команд.

7a. Создайте псевдоним команды ‘city’, позволяющий вывести название вашего города.

7b. Используйте ваш псевдоним команды для того, чтобы убедиться в его работоспособности.

8. Выполните команду set -x для активации режима вывода информации о раскрытии каждой из команд командной оболочкой.

Читайте также:  Sandisk ssd plus 240gb драйвер windows 10

9. Проверьте работоспособность команды set -x , воспользовавшись созданными ранее псевдонимами команд city и rm .

10. Выполните команду set +x для прекращения вывода информации о раскрытии команд командной оболочкой.

11. Удалите созданный ранее псевдоним команды city.

12. В каких директориях расположены бинарные файлы, являющиеся реализациями команд cat и passwd ?

15. Выведите строку «A B C» с двумя пробелами между буквами B и C.

Найдите два решения с использованием одинарных кавычек, два решения с использованием двойных кавычек и одно решение без использования кавычек (и поблагодарите Rene и Darioush из компании Google за это дополнение).

18. Используйте одну команду echo для вывода трех слов в трех строках.

Корректная процедура выполнения практического задания: команды и аргументы

Ответ: три аргумента

2. Является ли команда tac встроенной?

3. Существует ли действующий псевдоним команды rm ?

4. Прочитайте страницу руководства для команды rm и убедитесь в том, что вы поняли предназначение параметра -i этой команды. Создайте и удалите файл для проверки работоспособности параметра -i .

5. Выполните команду: alias rm=’rm -i’ . Проверьте работоспособность вашего псевдонима команды на тестовом файле. Работает ли он так, как ожидается?

6. Выведите список используемых на данный момент псевдонимов команд.

7a. Создайте псевдоним команды ‘city’, позволяющий вывести название вашего города.

7b. Используйте ваш псевдоним команды для того, чтобы убедиться в его работоспособности.

8. Выполните команду set -x для активации режима вывода информации о раскрытии каждой из команд командной оболочкой.

9. Проверьте работоспособность команды set -x , воспользовавшись созданными ранее псевдонимами команд city и rm .

10. Выполните команду set +x для прекращения вывода информации о раскрытии команд командной оболочкой.

11. Удалите созданный ранее псевдоним команды city.

12. В каких директориях расположены бинарные файлы, являющиеся реализациями команд cat и passwd ?

После интерпретации команды echo командной оболочкой будет задействована встроенная реализация команды echo . Ввод команды /bin/echo приведет к исполнению бинарного файла echo , расположенного в директории /bin .

Параметр -n команды echo предназначен для предотвращения вывода символа перехода на новую строку в конце переданной строки. Команда echo Hello выведет в общей сложности шесть символов, а команда echo -n Hello — только пять символов.

(Параметр -n может не работать в командной оболочке Korn shell).

15. Выведите строку «A B C» с двумя пробелами между буквами B и C.

Найдите два решения с использованием одинарных кавычек, два решения с использованием двойных кавычек и одно решение без использования кавычек (и поблагодарите Rene и Darioush из компании Google за это дополнение).

18. Используйте одну команду echo для вывода трех слов в трех строках.

Источник

bash: аргумент предыдущей команды

Возможно ли подставить без его повторного набора аргумент от предыдущей команды? Имеется в виду следущее:

после исполнения: cat /etc/X11/xorg.conf
набирая в следущей строке: vi _вот здесь_

каким-нибудь сокращённым набором получить «/etc/X11/xorg.conf»?

Если в bash нельзя, может, какой-нибудь другой командный интерпретатор позволяет это сделать?

Re: bash: аргумент предыдущей команды

info history. Наверное как-то с этим можно попробовать — !!

Re: bash: аргумент предыдущей команды

my_shit=/etc/X11/xorg.conf
cat $my_shit
vi $my_shit

Re: bash: аргумент предыдущей команды

Re: bash: аргумент предыдущей команды

Re: bash: аргумент предыдущей команды

zsh умеет. Нажимаем esc, потом . (>)

Re: bash: аргумент предыдущей команды

Короче, изучаем вывод команды set.

Re: bash: аргумент предыдущей команды

Один раз наверх, затем «home», три раза «del», затем «v» и «i» 😐

Re: bash: аргумент предыдущей команды

последний аргумент в bash’e -> !$

Re: bash: аргумент предыдущей команды

Да е-мае, никто маны баша не читает. Конечно можно.

Alt-. (Meta-.) — тоесть зажимаешь Альт+точка. Постоянно пользуюсь, очень удобная вещь. Если аргументов больше одного, Ctrl-Alt-y — первый аргумент, Alt-. — последний.

Re: bash: аргумент предыдущей команды

Ctrl-p Ctrl-a Alt-d vi

Но лучше vi Alt-. Вообще, кто знает емакс, может поэкспериментировать, баш писал любитель емакса, потому что все кейбиндинги стандартные с него работают. Ctrl-f, Ctrl-b, Ctrl-p, Ctrl-n. Ctrl-r — обратный рекурсивный поиск по истории. Если залез глубоко в хистори — Alt-Shift-.

Но есть две, которых в емаксе нету — Ctrl-]-symbol, где symbol — любой символ, переходит к первой позиции по этому символу (аналог f в Vim). Ctrl-u — удаляет от текущей позиции до начала строки.

Ctrl-k — обратное Ctrl-u — удаляет от позиции до конца строки.

Источник

Работаем в терминале Linux как профи: подборка полезных команд

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

Использование табов для автодополнения

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

Например, если вы хотите скопировать файл с именем file1.txt , вы можете ввести только cp f , нажать Tab и увидеть возможные варианты.

Также Tab можно использовать для автодополнения команд.

Возвращение в последнюю рабочую директорию

Представьте ситуацию, когда вы спустились глубоко по иерархии папок, затем перешли в папку, которая находится в совершенно другом месте, а потом поняли, что вам нужно вернуться обратно. В таком случае вам всего лишь нужно ввести следующую команду:

Она вернёт вас в последнюю рабочую директорию и вам не придётся вручную вводить длинный путь.

Примечание Последняя рабочая директория хранится в переменной окружения OLDPWD ; вы можете использовать эту переменную для своих целей (попробуйте echo $OLDPWD ) или даже подложить команде cd — другой путь ( OLDPWD=/usr/bin cd — ).

Возвращение в домашнюю директорию

Это слишком очевидно. Чтобы вернуться в домашнюю директорию из любого места, вы можете использовать следующую команду:

А вообще, можно ограничиться командой cd и получить тот же результат. В большинстве современных дистрибутивов Linux эта команда должна сработать.

Вывести содержимое каталога

Вы, наверное, догадываетесь, какая команда нужна для отображения содержимого каталога. Всем известно, что для этого можно использовать ls -l .

Читайте также:  Смарт приставки для тв windows

Однако не все знают, что можно обойтись командой ll .

FBS , Санкт-Петербург , По итогам собеседования

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

Примечание На самом деле, ll является не отдельной командой, а псевдонимом для ls -l .

Запуск нескольких команд за раз

Допустим, вам нужно запустить несколько команд одну за другой. Что вы будете делать? Подождёте завершения первой команды, а затем запустите следующую?

Вместо этого вы можете использовать разделитель ; . Таким образом можно запустить несколько команд на одной строке. Вам не нужно ждать, пока какая-то из команд завершит свою работу, чтобы запустить следующую.

command_1; command_2; command_3

Примечание При запуске команд таким образом, они выполняются не параллельно, а последовательно. Если вам нужен именно первый вариант, то используйте конструкцию (command_1 &); (command_2 &) .

Запуск нескольких команд за раз при условии, что предыдущая команда была выполнена успешно

Как запускать несколько команд за раз вы уже знаете. А как убедиться, что команды не завершились с ошибкой?

Допустим, вы хотите собрать код и запустить его в случае успешной сборки.

В этом случае вы можете использовать разделитель && , который запускает следующую команду только при условии, что предыдущая успешно завершилась.

Как пример использования && можно привести команду sudo apt update && sudo apt upgrade для обновления системы через терминал на системах, основанных на Debian.

Время убивать

Есть несколько способов «убить» программу. Команда killall сделает это по имени, а kill требуется номер процесса. Например, killall chrome убьёт все процессы chrome. Также можно послать любому процессу сигнал прерывания (как Ctrl+C) с помощью kill -INT .

Пора остановиться

Чтобы поставить работающую команду на паузу нажмите комбинацию Ctrl+Z, а чтобы продолжить — % .

Простой поиск и использование предыдущих команд

Представим ситуацию, когда вы воспользовались какой-то командой пару часов назад и снова хотите её использовать, но не можете вспомнить название.

Здесь поможет обратный поиск. С его помощью можно по заданному условию найти команду в истории.

Просто нажмите комбинацию Ctrl+R и введите часть команды. Затем вам будут показаны команды из истории, которые удовлетворяют заданному условию.

По умолчанию показывается только один результат. Чтобы увидеть больше результатов, нужно повторно нажать Ctrl+R. Чтобы выйти из поиска, нажмите Ctrl+C.

Учтите, что в некоторых оболочках Bash можно использовать Page Up и Page Down с условием поиска для автодополнения команды.

Выводим консоль из зависания после Ctrl+S

Многие привыкли использовать комбинацию Ctrl+S для сохранения. Однако после её использования в терминале, он часто зависает. Чтобы вернуть его в нормальное состояние, нажмите комбинацию Ctrl+Q.

Переход к началу или концу строки

Допустим, вы вводите длинную команду и вдруг понимаете, что вам нужно что-то изменить в её начале. Чтобы попасть в начало или конец строки вы можете несколько раз нажать клавишу стрелки влево/вправо или Home/End. А можете нажать Ctrl+A или Ctrl+E.

Чтение лог-файла в реальном времени

В ситуациях, когда вам нужно анализировать логи при запущенном приложении, можно использовать команду tail с флагом -f .

Также можно использовать регулярные выражения в grep , чтобы выводить только нужные строки:

Кроме того, вы можете использовать флаг -F , чтобы tail продолжал работу даже в случае удаления лог-файла. Таким образом, когда лог-файл снова будет создан, tail продолжит логирование.

Если вы хотите просматривать системный лог в реальном времени, воспользуйтесь аналогичной опцией -f команды journalctl :

Чтение сжатых логов без извлечения

Серверные логи обычно сжимаются gzip’ом для сохранения дискового пространства. Это становится проблемой для разработчика или сисадмина, который анализирует эти логи. Возможно, вам придётся скопировать архив в другое место, а затем извлечь его, так как не всегда есть права на извлечение логов.

К счастью, в таких ситуациях всегда спасут z-команды. Они являются альтернативами обычных команд, которые используются для работы с логами вроде less , cat , grep .

Поэтому вы можете воспользоваться zless , zcat , zgrep и т.д., даже не извлекая логи.

Использование less для чтения файлов

Команда cat не всегда лучший выбор для отображения содержимого файла, особенно если он большой — cat выведет сразу весь файл.

Вы можете использовать Vi, Vim или другой терминальный текстовый редактор, но если вам просто нужно прочитать файл, то команда less подойдёт гораздо лучше.

В less можно искать нужную подстроку, листать по страницам, отображать номера строк и не только. А ещё less может читать не только текстовые документы, но ещё и архивы и другие типы файлов.

Использование аргумента предыдущей команды с помощью !$

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

Ещё лучше использовать alt+. . Множественное нажатие точки позволяет выбрать аргумент одной из нескольких предыдущих команд.

Использование предыдущей команды в текущей с помощью !!

С помощью !! можно вызвать даже всю предыдущую команду. Это особенно полезно в тех случаях, когда оказывается, что для запуска команды нужны рут-привилегии.

Быстрое sudo !! позволяет сэкономить немного времени.

Использование alias для исправления опечаток

Вероятно, вы уже знаете, зачем нужна команда alias . Её можно приспособить для исправления опечаток.

Представим, что вместо grep вы часто пишете gerp . Если вы установите псевдоним следующим образом, то вам не придётся больше перепечатывать команду:

К слову, для исправления опечаток не обязательно использовать псевдонимы — утилита The Fuck сама исправит предыдущую команду.

Перезагружаемся

Чтобы выключить компьютер из терминала, введите poweroff , а для перезагрузки — reboot .

Вставка скопированного текста в терминал

Здесь не всё однозначно, так как между дистрибутивами Linux и терминалами есть определённая разница. Но в общем случае вставить текст можно одним из следующих способов:

  • Скопируйте текст и кликните правую кнопку мыши для вставки (работает в Putty и других Windows-клиентах SSH);
  • Скопируйте текст и нажмите среднюю кнопку мыши (колёсико) для вставки;
  • Ctrl+Shift+C для копирования и Ctrl+Shift+V для вставки;
  • В некоторых эмуляторах терминала работает привычная комбинация Ctrl+V.
Читайте также:  Что такое windows dvd maker

Завершить работающий процесс/команду

Возможно, это слишком очевидно. Если у вас запущена команда, работу которой вы хотите завершить, просто нажмите Ctrl+C и команде будет отправлен сигнал прерывания (SIGINT). А если вы хотите быстро покинуть терминал, нажмите комбинацию Ctrl+D, которая для баша и других интерактивных программ означает окончание ввода.

Команда для скриптов или команд, которым нужен интерактивный ответ

Команда yes может пригодиться, если какой-то скрипт/команда требует взаимодействия с пользователем, которое заключается только в нажатии Y каждый раз.

Очистить файл, не удаляя его

Если вам нужно только очистить содержимое файла, а не удалить его, вы можете сделать это следующим образом:

Узнать, есть ли файл с определённым текстом

В терминале Linux можно искать разными способами. Если вам нужно узнать, есть ли файл(ы) с определённым текстом, можете воспользоваться этой командой:

Получаем справку для каждой команды

Почти все команды/инструменты командной строки содержат справку с указаниями по работе. Чтобы получить справку, воспользуйтесь этой командой:

Кроме того, порой можно получить более подробную справку с помощью команды man .

Получаем историю команд

Если вы хотите взглянуть на все команды, которые вы когда-либо запускали, введите history . Если вам нужен не полный список, а только несколько последних, воспользуйтесь командой fc -l .

Быстро запускаем команды из истории

При получении команд одним из вышеуказанных способов рядом с каждой командой находится её номер в истории. Чтобы быстро запустить команду из этого списка просто введите ! .

Выполняем команду в обход истории

Если вы хотите выполнить команду так, чтобы она не сохранилась в истории, просто введите пробел перед командой.

Поднимаем простой HTTP-сервер

Чтобы поднять сервер и сделать доступной текущую директорию по адресу http://localhost:8000/ введите python3 -m http.server .

Пишем длинные команды с удобством

Если зажать Ctrl, а затем нажать по очереди X и E, то откроется текстовый редактор, в котором можно будет спокойно записать длинную команду, а после выхода из него — выполнить её.

Восстанавливаем терминал

Если вы вывели в терминал сырые бинарные данные или ещё что-то, что выводить не стоило, то убрать увиденную абракадабру позволит команда reset .

Информация о файловых системах

Чтобы получить информацию о текущих смонтированных файловых системах с удобным оформлением по столбцам, введите команду mount | column -t .

Также вы можете воспользоваться командой findmnt , которая отображает информацию в виде красивого дерева и сама форматирует столбцы, а также может найти нужную файловую систему:

Деревья процессов

Есть инструмент pstree , который умеет рисовать красивые деревья процессов. Например:

Экран блокировки

Чтобы заблокировать экран, используйте команду $ loginctl lock-session .

Для разблокировки экрана введите команду $ loginctl unlock-session . Конечно, вряд ли вы сможете использовать терминал при заблокированном экране, однако вы можете пойти обходными путями. Например, можно создать задачу для разблокировки через какое-то время.

Супершелл

Чтобы запустить шелл от имени суперпользователя, можно воспользоваться командой sudo -s . Во многих источниках можно встретить вариант sudo su , который тоже работает, но медленнее, так как запускает лишний процесс.

Быстро открываем файлы в программе по умолчанию

Команда xdg-open позволяет открыть любой файл в соответствующей программе. Например, xdg-open file.txt откроет файл в текстовом редакторе по умолчанию.

Статус системных сервисов

Чтобы посмотреть статус системных сервисов, введите команду systemctl status или systemctl status , если вас интересует конкретный сервис.

Быстро ищем файлы

Если вам нужно найти файл, но вы не знаете, где конкретно он находится, можно воспользоваться командой find . Например:

Используем вывод одной команды в качестве аргумента другой

Чтобы использовать вывод одной команды в качестве аргумента другой, используйте конструкцию команда-2 $(команда-1) . Например:

Календарь

Команда cal может нарисовать календарь на текущий месяц (и даже выделить текущее число) или на другой промежуток:

Планировщик задач

Чтобы выполнить какую-то команду в нужное вам время, воспользуйтесь at :

echo команда-для-выполнения | at время_выполнения

Учтите, что эта команда может отсутствовать на вашей системе, и вам придётся установить её самостоятельно.

Получаем свой внешний IP

Чтобы получить свой внешний IP-адрес введите curl ifconfig.me или curl ipinfo.io/ip . Возможно, сначала вам придётся установить curl .

Прогноз погоды

Введите команду curl wttr.in/ и получите красивую таблицу с прогнозом погоды:

Получаем таблицу ASCII

Чтобы получить быстрый доступ к таблице ASCII просто введите man ascii .

Простой калькулятор

Небольшие выражения можно вычислять прямо в терминале. Это можно сделать либо с помощью конструкции echo | bc , либо echo $(( )) . Например:

Выполняем команду в другой директории и возвращаемся обратно

Если вы хотите выполнить команду в другой директории, но при это не хотите покидать текущую, то просто оберните команду скобками. Например, (cd /tmp && ls) . Здесь скобки запускают подшелл (subshell), внутри которого мы и выполняем cd .

Узнаём, какие библиотеки нужны команде/библиотеке

Чтобы узнать, какие динамические библиотеки нужны программе или библиотеке и как они будут разрешены при запуске, используйте команду ldd :

Узнаём, что лежит внутри файла

Чтобы определить тип содержимого, находящегося в файле, используйте команду file :

Многократный запуск команды

Чтобы запускать команду каждые несколько секунд (по умолчанию две) и смотреть на её вывод, воспользуйтесь командой watch .

Время на запуск команды

Чтобы узнать, сколько времени уходит на запуск команды, используйте time .

Системные вызовы команды

Чтобы узнать, какие системные вызовы совершает программа, введите strace .

Запоминаем набираемую команду

Если вы набираете какую-то команду и вам по какой-то причине нужно прерваться и, например, ввести другую команду, вы можете «запомнить» то, что вы ввели комбинацией Ctrl+U, а затем вставить комбинацией Ctrl+Y.

Выкачиваем сайты

Чтобы выкачать сайт используйте команду wget —random-wait -r -p -e robots=off -U mozilla .

Проводим туннели

С помощью команды ssh -N -L 2001:localhost:80 somemachine можно создать туннель от 80 порта на удалённой машине до 2001 на локальной.

А какие полезные команды знаете вы? Делитесь в комментариях.

Хинт для программистов: если зарегистрируетесь на соревнования Huawei Cup, то бесплатно получите доступ к онлайн-школе для участников. Можно прокачаться по разным навыкам и выиграть призы в самом соревновании.

Перейти к регистрации

Источник

Оцените статью