Топ 10 прийомів для терміналу

1. Виконайте останню команду за допомогою !!

Заголовок говорить все, просто введіть наступне в терміналі ...

!!

... Для повторного виконання останньої введеної команди. Цей фокус дуже корисний, коли ми забуваємо ввести Суду на початку. У цьому випадку вам доведеться ввести:

судо !!

Щоб знайти більш складні способи отримати максимальну користь від цього трюку, я рекомендую прочитати це старий пост.

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

Цей фокус дійсно корисний, коли ми вводимо команду за допомогою простої друкарської помилки. Наприклад, якщо ми запускаємо:

луна"desdelinuxz"

Ви можете виправити це, ввівши наступне:

^z

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

Іноді вам потрібно ввести нескінченні команди в терміналі. У цьому випадку може допомогти простий текстовий редактор, такий як nano або emacs.

Щоб відкрити редактор, просто натисніть Ctrl + x + e в терміналі. Текст, який ви ввели до цього часу, буде скопійований у текстовий редактор після його відкриття.

Зі свого боку, використовуваний редактор буде редактором, вказаним у змінній $ EDITOR. Щоб змінити цю конфігурацію, можна виконати ...

експорт РЕДАКТОР = нано

... Заміна nano на бажаний редактор.

4. Виконайте команду, не зберігаючи її в історії

Справжній хакер не може ігнорувати цей фокус. Як ви всі знаєте, bash зберігає історію виконуваних команд, до якої дуже легко отримати доступ за допомогою стрілок клавіатури або Ctrl + R (для виконання a зворотний пошук в історії).

У цьому випадку потрібно ввести пробіл, щоб введена команда не збереглася в історії.

команди

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 опівночі. У цьому випадку ми повинні виконати його наступним чином:

ехо "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

Скільки разів із вами траплялося, що ви починали вводити команду і згадували, що до цього потрібно було робити щось інше? Що ж, можна зробити такий собі cut-paste, щоб згодом було легше повторно ввести команду, яка залишилася наполовину.

Припустимо, ви почали писати ...

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}}' '| сортувати -rn | керівник

У моєму випадку переможцями стали:

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

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

Чи відсутні якісь хитрощі? Не забудьте поділитися та прокоментувати нижче. 🙂

Залиште свій коментар

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

*

*

  1. Відповідальний за дані: Мігель Анхель Гатон
  2. Призначення даних: Контроль спаму, управління коментарями.
  3. Легітимація: Ваша згода
  4. Передача даних: Дані не передаватимуться третім особам, за винятком юридичних зобов’язань.
  5. Зберігання даних: База даних, розміщена в мережі Occentus Networks (ЄС)
  6. Права: Ви можете будь-коли обмежити, відновити та видалити свою інформацію.

  1.   лисиця - сказав він

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

  2.   Ісус Пералес - сказав він

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

    що виконає команду, яка є у вашій історії під номером 22 😀

    Шукати команду з автозаповненням є
    Ctrl + r

    1.    Xurxo - сказав він

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

      Привіт.

  3.   Родріго Браво - сказав він

    Хороша стаття. Дякуємо, що поділилися цими порадами.
    Я хочу поділитися одним, який я використовую щодня, який є "fg", що дозволяє відкривати програми, які ви зупинили раніше, за допомогою "Ctrl + z".

    1.    Гіскард - сказав він

      А за допомогою 'bg' ви відправляєте їх у фоновий режим 🙂

    2.    давайте використовувати linux - сказав він

      Подивіться на вас ... хороший фокус! Дякуємо, що поділилися цим.
      Обійми! Павло.

  4.   Габріель - сказав він

    Пост чудовий, вони завжди змушують пам’ятати речі, які ви знали і з часом забули, але які дійсно корисні.

  5.   Qvic - сказав він

    Коди терміналів завжди вітаються.
    Неймовірно, я не знав, що додавання пробілу до команди пропущено з історії.
    Щиро дякую, Вітаю !!

  6.   ezequiel - сказав він

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

    і, наприклад, у якийсь момент ви використовували:
    $ cd / one / path / longer / than / the / shit

    і тепер ви хочете використовувати його знову, вам потрібно зробити:
    $ cd
    а потім натисніть клавіші "Сторінка вгору" або "Сторінка вниз", щоб переміщатися між усіма командами в історії, які починалися з "компакт-диска".

    1.    Гіскард - сказав він

      АБО…. Не редагуючи нічого, натисніть Ctrl + R, а потім cd (якщо ви хочете щось знайти за допомогою "cd"), і натискаючи Ctrl + R кілька разів, ви побачите всі команди, що містять це, поки не дійдете до потрібної. Очевидно, що якщо це безпосередньо попередній, ви отримаєте його.

    2.    давайте використовувати linux - сказав він

      Мій Буено!

  7.   antc - сказав він

    Насправді ls / tmp має бути достатньо, щоб перерахувати каталог, не залишаючи поточного.

  8.   слаєркорн - сказав він

    Ви також можете об'єднати команду за допомогою ";" як у прикладі n ° 10 це було б так:

    (cd / tmp; ls)

    привіт

    1.    РудаМачо - сказав він

      Він ";" Він працює інакше, ніж "&&" (і), коли ми робимо command-1 && command-2, друга команда виконується лише в тому випадку, якщо вихід першої дорівнює "0", тобто без помилок. У випадку крапки з комою друга команда виконується незалежно від результату роботи першої. Для розширення існує оператор «||» (або), у цьому випадку друга команда виконується, лише якщо перша видає помилку на виході. З повагою.

  9.   Anonimo - сказав він

    Щоб кожен рядок, що запам’ятовує історію, містив дату та час, у ~ .bashrc звичайного користувача чи кореня є змінна середовища.

    # нано .bashrc
    експортувати HISTTIMEFORMAT = »% F% T»

    # історія
    492 2014-09-02 14:25:57 revdep-rebuild -i -v
    493 2014-09-02 14:31:14 eclean-dist -d
    494 2014-09-02 14:31:23 локалепург -в
    495 2014-09-02 14:31:29 тощо-оновлення
    496 2014-09-02 14:31:54 спливаюче - дескліноване - прикидатися
    497 2014-09-02 14:39:08 оновленоб

    Є більше варіантів, які стосуються кількості збережених рядків, я їх тестую.

  10.   патрон Т. - сказав він

    Дуже хороший пост. Дійсно дуже корисно. Фокус номер 4, який полягає у виконанні команди без збереження в історії, спрацював для мене лише на Ubuntu, а не на Debian чи Centos.

    1.    Azureus - сказав він

      Це спрацювало для мене на raspbian, а не на arch.

  11.   Чапарал - сказав він

    Мервельє !!

  12.   ерджуак - сказав він

    Привіт
    що поставити пробіл перед виконанням команди, щоб він не був зареєстрований в історії, оскільки він не працює ...
    [користувач @ хост /] $ ls -l
    Всього 104
    dr-xr-xr-x. 2 кореневий корінь 4096 21 серпня 03:55 бен
    dr-xr-xr-x. 5 кореневих коренів 3072 20 серпня 17:26 завантаження
    drwxr-xr-x. 2 кореневий корінь 4096 9 грудня 2013 р. Cgroup

    [user @ host /] $ історія
    1024 л
    1025 л
    1026 історія
    1027 лс -л
    1028 історія

    цікава стаття ..

    вітання

  13.   ерджуак - сказав він

    Вибачте, що не прочитав усіх дописів,
    Тест також проводиться в центсах.

  14.   eliotime3000 - сказав він

    Добре з Ctrl + U та Ctrl + Y.

  15.   НауТілуС - сказав він

    У моїй системі список найбільш використовуваних команд працював для мене, змінивши змінну на $ 5.

    Приклад виходу:

    1122 судо
    362 лс
    279 ясно
    214 кд
    142 копати
    141 роки
    130 внстат
    122 мв
    112 вим
    Історія 112

    Це тому, що у моєму файлі .bashrc у мене є такий рядок:
    # Показати дату команді history
    експортувати HISTTIMEFORMAT = '% F% T:'

    Я майже впевнений, що багато хто з нас тут одночасно використовував кілька терміналів.
    Зараз я не знаю, чи казати вам, що це фокус терміналу, але оскільки я зазвичай маю багато вікон або використовую екран, щоб відкрити кілька терміналів, це дозволяє будь-яку команду, введену в один із цих терміналів, оскільки це буде відображено в всі.

    Це йде у файлі .bashrc:

    HISTSIZE = 90000
    HISTFILESIZE = $ HISTSIZE
    HISTCONTROL = ігнорує простір: ігнорує

    історія () {
    _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 залежить не від оболонки, а від конфігурації, яку мають tty. На сьогоднішній день під Linux це дуже складні сутності, насправді я досліджував їх роботу і можу запевнити, що вони мають набагато більше входів і виходів, ніж здається. У tty є деякі контрольні символи, які змінюють свій статус, наприклад, іноді зі мною траплялося, що я котую двійковий файл, і після того, як на екрані з'являється "сміття", підказка дивна або з іншим кодуванням. Це пов’язано з тим, що у випадковому файлі існує велика ймовірність зустріти символи керування tty.

    Наприклад, запустіть це в оболонці:

    друк '33c'

    Це очистить екран (як якщо б ви працювали чисто).

    Інші комбінації, такі як control + L для очищення екрана, надходять із самої оболонки, яка використовується, класичні оболонки / bin / sh зазвичай не приносять цієї функції.

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

    Якщо, наприклад, bash працює просто читаючи рядки та виконуючи команди (як це робиться під час виконання сценарію), при натисканні control + L, ця послідовність символів буде просто включена як частина команд, але оскільки bash має контроль буфера введення може це виявити.

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

    Saludos!

  21.   Lautaro - сказав він

    Для тих, хто спочатку не працював з пробілом і, можливо, щоб додати його до примітки, існує змінна під назвою HISTIGNORE, де символ, який додається перед командою, налаштований на ігнорування в історії.
    У деяких установках ця змінна не походить
    Вітаю та добрий пост! пряме до обраного!

    Зауважте, що в коментарях я також побачив кілька цікавих речей .. !!

  22.   Рамон Ідальго - сказав він

    Все справді дуже корисно. Дякую.