Топ-10 хитростей для терминала

1. Выполните последнюю команду с помощью !!

Название говорит само за себя, просто введите в терминал следующее ...

!!

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

пот !!

Чтобы найти более сложные способы получить максимальную отдачу от этого трюка, я рекомендую прочитать это старый пост.

2. Выполните последнюю команду, но исправьте опечатку.

Этот прием действительно полезен, когда мы вводим команду с простой опечаткой. Например, если мы запустим:

эхо "desdelinuxz"

Вы можете исправить это, введя следующее:

^z

3. Вызовите текстовый редактор, чтобы ввести длинную команду.

Иногда нужно вводить бесконечные команды в терминале. В этом случае может оказаться полезной помощь простого текстового редактора, такого как nano или emacs.

Чтобы открыть редактор, просто нажмите Ctrl + x + e в терминале. Текст, который вы ввели до сих пор, будет скопирован в текстовый редактор после его открытия.

Со своей стороны, будет использоваться редактор, указанный в переменной $ EDITOR. Чтобы изменить эту конфигурацию, можно выполнить ...

экспорт EDITOR = nano

… Замена nano на предпочитаемый вами редактор.

4. Выполнить команду, не сохраняя ее в истории.

Настоящий хакер не может игнорировать этот трюк. Как вы все знаете, bash сохраняет историю выполненных команд, к которой очень легко получить доступ, используя стрелки клавиатуры или Ctrl + R (выполнить обратный поиск в истории).

В этом случае вам нужно сделать, чтобы введенная команда не сохранялась в истории, - это поставить перед ним пробел:

команда

5. Автоматически размещать последний параметр команды.

Предположим, что ранее выполненная команда была

cp file.txt / var / www / wp-content / uploads / 2009/03 /

Чтобы получить доступ к рассматриваемому каталогу, вы можете ввести команду cd с последующим Alt +. o Esc +. :

cd 'ALT +.'

Это просто сокращенный способ входа:

cd / var / www / wp-content / uploads / 2009/03 /
Продолжая нажимать указанное сочетание клавиш, можно перемещаться по истории последних выполненных команд.

6. Выполните команду в указанное время.

Да, да, это то, для чего он существует крон. Однако иногда мы хотим запустить команду в определенное время, но только один раз.

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

echo "ls -l" | в полночь

7. Получите свой внешний IP

Благодаря услуге, предоставляемой http://ifconfig.me/ Прямо с терминала можно узнать различные данные о вашем интернет-соединении:

curl ifconfig.me/ip // IP-адрес curl ifconfig.me/host // Удаленный сервер curl ifconfig.me/ua // Пользовательский агент curl ifconfig.me/port // Порт

8. Узнайте, как использовать Ctrl + u и Ctrl + y.

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

Допустим, вы начали писать ...

cd / home / user

и вы вспомнили, что раньше вам нужно было что-то проверять в текущем каталоге. В этом случае нажмите Ctrl + U (Это было бы что-то вроде "разрезания").

Введите команду, которую нужно запустить в первую очередь. Предположим ...

ls -l

... а затем нажмите Ctrl + y (Работает как "паста").

9. Легко очистите терминал.

В лице Ctrl + l Терминал можно очистить в мгновение ока.

10. Перейдите в каталог, выполните команду и вернитесь в текущий каталог.

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

(cd / tmp && ls)

Результатом этой команды (обратите внимание на скобки) будет список файлов и каталогов в папке. / Tmp. И все это в нашем текущем каталоге. Жемчужина!

Япа. Список наиболее часто используемых команд

Чтобы увидеть их наиболее часто используемые команды просто выполните следующее:

история | awk '{a [$ 2] ++} END {for (i in a) {print a [i] "" i}}' | sort -rn | голова

В моем случае победителями стали:

450 yaourt 415 sudo 132 git 99 cd 70 leafpad 70 killall 68 ls 52 pacman 50 xrandr 45 top

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

Не хватает каких-то хитростей? Не забывайте делиться и комментировать ниже. 🙂

Оставьте свой комментарий

Ваш электронный адрес не будет опубликован. Обязательные для заполнения поля помечены *

*

*

  1. Ответственный за данные: Мигель Анхель Гатон
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.

  1.   лиса сказал

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

  2.   Хесус Пералес сказал

    Я думаю, что одна из самых важных - это команда истории, в которой она возвращает нумерованный список
    из команд, которые вы использовали, и если вы хотите использовать любую из них, просто используйте следующую строку
    ! 22

    который выполнит команду, которая находится в вашей истории под номером 22 😀

    Для поиска команды с автозаполнением есть
    Ctrl + R

    1.    Xurxo сказал

      Я также всегда использую Ctrl + r, чтобы повторить последнюю команду; как только появится последний из них, вы можете прокрутить историю назад, нажав кнопку «Вверх» (стрелка вверх).

      Привет.

  3.   Родриго Браво сказал

    Хорошая статья. Спасибо, что поделились этими советами.
    Я хочу поделиться тем, что я использую ежедневно, это «fg», который позволяет вам открывать приложения, которые вы остановили ранее, с помощью «Ctrl + z».

    1.    Жискар сказал

      А с 'bg' вы отправляете их в фоновый режим 🙂

    2.    давайте использовать Linux сказал

      Посмотри на себя ... хороший трюк! Спасибо, что поделились этим.
      Объятие! Павел.

  4.   Габриель сказал

    Отличный пост, они всегда заставляют вспомнить то, что вы знали и в конце концов забыли, но это действительно полезно.

  5.   Квик сказал

    Терминальные читы всегда приветствуются.
    Невероятно, но я не знал, что добавление пробела к команде было исключено из истории.
    Большое спасибо, привет !!

  6.   Ezequiel сказал

    для использования автозаполнения истории фильтрации добавьте в файл $ HOME / .inputrc
    "\ E [5 ~": поиск в истории назад
    "\ E [6 ~": поиск в истории вперед

    и, например, в какой-то момент вы использовали:
    $ cd / one / path / длиннее / чем / the / shit

    и теперь вы хотите использовать его снова, вам нужно сделать:
    $ cd
    а затем нажимайте клавиши «Page Up» или «Page Down», чтобы перемещаться по всем командам в истории, которые начинались с «cd».

    1.    Жискар сказал

      ИЛИ ЖЕ…. Ничего не редактируя, нажмите Ctrl + R, а затем cd (если вы хотите найти что-то с помощью 'cd') и, повторно нажимая Ctrl + R, вы увидите все команды, которые содержат это, пока не дойдете до нужной. Очевидно, что если это непосредственно предыдущий, вы его получите.

    2.    давайте использовать Linux сказал

      Очень хорошо!

  7.   муравей сказал

    На самом деле ls / tmp должно быть достаточно, чтобы отобразить каталог, не выходя из текущего.

  8.   Slayerkorn сказал

    Вы также можете объединить команду, используя ";" как в примере № 10, это будет так:

    (cd / tmp; ls)

    привет

    1.    РудаМачо сказал

      Он ";" Он работает иначе, чем «&&» (и), когда мы выполняем command-1 && command-2, вторая команда выполняется только в том случае, если вывод первой равен «0», то есть без ошибок. В случае точки с запятой вторая команда выполняется независимо от вывода первой. Для расширения есть оператор «||» (или), в этом случае вторая команда выполняется только в том случае, если первая выдает ошибку на выходе. С уважением.

  9.   анонимный сказал

    Чтобы каждая строка, которая запоминает историю, имела дату и время, в ~ .bashrc есть переменная среды обычного пользователя или root.

    # нано .bashrc
    экспорт HISTTIMEFORMAT = »% F% T»

    # история
    492 2014 09:02:14 revdep-rebuild -i -v
    493 2014 09:02:14 eclean-dist -d
    494 2014 09:02:14 localepurge -v
    495 2014-09-02 14:31:29 etc-update
    496 2014 09:02:14 emerge –depclean –pretend
    497 2014-09-02 14:39:08 updatedb

    Есть еще варианты, которые касаются количества сохраняемых строк, я их тестирую.

  10.   ЧАКТ сказал

    Очень хороший пост. Действительно очень полезно. Уловка номер 4, заключающаяся в выполнении команды без сохранения ее в истории, у меня сработала только в Ubuntu, но не в Debian или Centos.

    1.    Azureus сказал

      У меня это сработало на распбиане, а не на арке.

  11.   Колючий кустарник сказал

    Мервейе!!

  12.   Erjuak сказал

    Привет,
    что поставить пробел перед выполнением команды, чтобы она не регистрировалась в истории, так как не работает ...
    [пользователь @ хост /] $ ls -l
    Всего 104
    dr-xr-xr-x. 2 root root 4096 21 августа 03:55 bin
    dr-xr-xr-x. 5 root root 3072 20 августа 17:26 boot
    drwxr-xr-x. 2 root root 4096 9 декабря 2013 cgroup

    [user @ host /] $ history
    1024 лс
    1025 лс
    1026 история
    1027 ls -l
    1028 история

    интересная статья ..

    приветствия

  13.   Erjuak сказал

    Извините, что не прочитал все сообщения,
    Тест также выполняется в сентосах.

  14.   элиотайм3000 сказал

    Хорошо работает с Ctrl + U и Ctrl + Y.

  15.   НАУТИЛУС сказал

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

    Пример вывода:

    1122 судо
    362 ls
    279 clear
    214 cd
    142 раскопок
    141 год
    130 внстат
    122 MV
    112 см
    История 112

    Это потому, что в моем файле .bashrc есть следующая строка:
    # Показать дату команде истории
    экспорт HISTTIMEFORMAT = '% F% T:'

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

    Это находится в файле .bashrc:

    HISTSIZE = 90000
    HISTFILESIZE = $ HISTSIZE
    HISTCONTROL = ignorespace: игнорировать дубликаты

    history () {
    _bash_history_sync
    встроенная история "$ @"
    }

    _bash_history_sync () {
    встроенная история -a # 1
    HISTFILESIZE = $ HISTSIZE # 2
    встроенная история -c # 3
    встроенная история -r # 4
    }

    PROMPT_COMMAND = _bash_history_sync

    1.    давайте использовать Linux сказал

      Очень хороший вклад! Спасибо за прохождение.
      Объятие! Павел.

  16.   Рой сказал

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

  17.   linuXgirl сказал

    Хотя я уже в чем-то "опытен" в этих делах, эти уловки всегда ценятся, так что ... за ствол уловок !!!

  18.   неименная сказал

    отлично, спасибо за хитрости, действительно полезные 😀

  19.   Винсук сказал

    Пути консоли непостижимы 😉

  20.   десикодер сказал

    Уловка нажатия control + u и control + y зависит не от оболочки, а от конфигурации терминала. По сей день в Linux tty являются очень сложными объектами, на самом деле я исследовал их работу и могу заверить, что у них гораздо больше входов и выходов, чем кажется. На tty есть управляющие символы, которые меняют свой статус, например, у меня иногда случалось, что я обнаруживаю двоичный файл, и после того, как весь "мусор" появляется на экране, подсказка странная или с другой кодировкой. Это связано с тем, что в случайном файле высока вероятность встретить управляющие символы tty.

    Например, запустите это в оболочке:

    напечатать '33c'

    Это очистит экран (как если бы вы очистили).

    Другие комбинации, такие как Ctrl + L для очистки экрана, исходят из используемой оболочки, классические оболочки / bin / sh обычно не поддерживают эту функцию.

    Кроме того, на сегодняшний день существует множество сложных вариантов работы с файлами и сокетами под Linux. Например, если вы открываете tty-устройство с помощью open () в режиме AIO (асинхронный ввод / вывод), процесс будет получать сигнал SIGIO каждый раз, когда во входном буфере есть данные.

    Если, например, bash работает просто путем чтения строк и выполнения команд (как это происходит при выполнении сценария), при нажатии control + L эта последовательность символов будет просто включена как часть команд, но поскольку bash имеет управление буфера ввода может это обнаружить.

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

    Saludos!

  21.   Lautaro сказал

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

    Обратите внимание, что в комментариях я тоже увидел несколько интересных вещей .. !!

  22.   Рамон Идальго сказал

    Все действительно очень полезно. Спасибо.