10 приёмов работы в терминале Linux, о которых мало кто знает

https://linoxide.com/linux-how-to/lesser-known-linux-terminal-tricks/
  • Перевод
Близкое знакомство с возможностями терминала — один из признаков человека, который хорошо разбирается в Linux. Хотя некоторые вещи запомнить сложно, есть довольно-таки простые, но эффективные приёмы, которые способны повысить качество и скорость работы в терминале. Пожалуй, каждый пользователь Linux рано или поздно обзаводится собственным списком ценных мелочей. Надеемся, некоторых из тех десяти приёмов работы в командной строке Linux, которыми мы хотим с вами поделиться, попадут в ваш личный список полезных команд.


№1. Переход в предыдущую директорию


Все мы используем команду cd .. для перехода в родительскую директорию. А для перехода к предыдущей директории можно использовать команду cd -. Этот приём похож на кнопку «Назад».

test@linoxide:~/Downloads$ cd -
 /home/eyramm
test@linoxide:~$ cd -
 /home/eyramm/Downloads
test@linoxide:~/Downloads$

Тут мы сначала находились в директории Downloads, затем переместились в директорию Home, и, наконец, снова вернулись в директорию Downloads.

№2. Повтор последней команды


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

$ apt install vlc
 E: Could not open lock file /var/lib/dpkg/lock - open (13: Permission denied)
 E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?

$ sudo !!
 sudo apt install vlc
 vlc is already the newest version (2.2.2-5ubuntu0.16.04.3).

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

№3. Многократное выполнение команды до её успешного завершения


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

while ! [command]; do sleep 1; done

Например:

$ while ! ./run.sh; do sleep 1; done
 cat: run.sh: No such file or directory
 cat: run.sh: No such file or directory
 linoxide.com

Команда в этом примере будет повторяться до тех пор, пока не будет найден файл run.sh и его содержимое не будет выведено на экран.

№4. Просмотр сведений о ходе передачи файла


Для того, чтобы наблюдать за ходом передачи файла, воспользуйтесь командой pv:

$ pv access.log | gzip > access.log.gz
 611MB 0:00:11 [58.3MB/s] [=> ] 15% ETA 0:00:59

№5. Планирование заданий


Планировать задания в Linux можно с помощью команды at:

echo wget https://sample.site/test.mp4 | at 2:00 PM

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

№6. Вывод данных в виде таблицы


Вызвав команду ls, или что-нибудь ещё, выводящее данные на экран, можно столкнуться с длинными списками, для просмотра которых требуется продолжительный скроллинг. То, что выводится на экран, легко можно организовать в виде таблицы с помощью команды column -t. Например:

$ cat /etc/passwd | column -t


Вот как выглядит то, что у нас получилось.


Вывод команды, организованный в виде таблицы

№7. Полезные комбинации клавиш


Команда clear очищает экран терминала. Комбинация клавиш Ctrl + L позволяет добиться того же самого быстрее.

Комбинация клавиш Alt + . позволяет перемещаться по ранее введённым командам. Комбинация клавиш Ctrl + U убирает из строки всё то, что уже в неё введено. Например, можете это попробовать для очистки введённого в командной строке пароля.

Для инкрементального обратного поиска по истории команд используйте комбинацию клавиш Ctrl + R.

№8. Сжатие, разбиение и шифрование файлов


Передача больших файлов между компьютерами — задача непростая. Упростить её можно, сжав файлы с помощью команды zip, или, если файлы ну просто очень большие, создав многотомный архив. Если при этом файлы нужно ещё и зашифровать — воспользуйтесь ключом -e.

$ zip -re test.zip AdbeRdr11010_en_US.exe run.sh Smart_Switch_pc_setup.exe
 Enter password:
 Verify password:
 adding: AdbeRdr11010_en_US.exe (deflated 0%)
 adding: run.sh (stored 0%)
 adding: Smart_Switch_pc_setup.exe (deflated 2%)

№9. Стресс-тест батареи ноутбука


Хотите узнать, как долго батарея вашего ноутбука продержится при полной нагрузке на процессор? Попробуйте следующую команду:

$ cat /dev/urandom > /dev/null

№10. Переименование или перемещение файлов


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

$ cp /home/sample.txt{,-old}

Вот как её можно расшифровать:

$ cp /home/sample.txt /home/sample.txt-old

Ниже приведён пример переименования файлов с определённым расширением в пакетном режиме:

$ ls
text_comes_here_1.txt
text_comes_here_2.txt
text_comes_here_3.txt
text_comes_here_4.txt

$ rename 's/comes_here/goes_there/' *.txt
$ ls
text_goes_there_1.txt
text_goes_there_2.txt
text_goes_there_3.txt

Итоги


Мы рассказали о нескольких приёмах взаимодействия с командной строкой Linux. Надеемся, вы нашли здесь то, что поможет вам упростить и ускорить повседневную работу.

Уважаемые читатели! Что вы добавили бы к нашему списку неочевидных полезностей командной строки Linux?
Метки:
RUVDS.com 763,21
RUVDS – хостинг VDS/VPS серверов
Поделиться публикацией
Комментарии 107
  • +7
    Спасибо за статью! Когда-то давно открыл для себя Ctrl + R. Это чертовски удобная вещь.
    • +6
      Можно в .inputrc добавить
      "\e[A": history-search-backward     
      "\e[B": history-search-forward  

      И можно будет искать по истории, просто введя часть команды и нажав стрелку вверх. (вниз тоже работает для поиска по истории)
      • 0
        И в /etc/inputrc для system-wide. Очень удобно дистрибьютить менеджерами конфигураций.
        • +1
          Я перенял это для себя из zsh на FreeBSD
        • –1

          Не все, кстати, знают, что начав что-то набирать ("префикс" типа sudo ) повторным нажатием можно "путешествовать" по истории вверх

          • +1
            С тех пор как узнал, все время пользуюсь сочетанием Alt+. для вставки «последнего аргумента» предыдущих вызовов. А Alt-Shift-3 (или Alt-#) «комментирует и запускает» текущую команду — удобно, когда на середине строки понял, что до этого было нужно ввести что-то еще, и этим можно текущую строки за-stash-ить. А чтобы быстро туда-сюда бегать вперед назад на ноутбуке или «стереть все перед текущим положением курсора» (например, чтобы использовать те же аргументы), удобно использовать Ctrl-U и Ctrl-E. А еще добавил себе set completion-ignore-case on в ~/.inputrc для case-insensitive автодополнения путей (неудобно бывает вводить странные названия папок, все мои папки в lower case'e). А еще так " bind '"\e," menu-complete' " можно включить zsh-like автодоплнение, чтобы по дополнялся по другой клавише «первый совпавший файл» вместо «если несколько опций, то показывать все» — удобно, когда файлов много, у всех похожие префиксы, а тебе нужен хоть какой-то для того, чтобы написать комманду. Ну и просто удобно: for f in ~/.bashrc.d/*; source $f done.
            • 0
              Спасибо, теперь я его тоже открыл )
            • +1
              $ cat /etc/passwd | column -t

              Можно еще так для списка файлов:
              $ ls -1
              • +6
                Только не
                cat /etc/passwd | column -t

                а
                column -t /etc/passwd

                Любая приличная консольная утилита, которая может принимать данные из stdin, может также читать их из файла, указанного аргументом командной строки. А с неприличными можно воспользоваться перенаправлением потоков ввода/вывода:
                column -t < /etc/passwd

                Stop piping cats! Не труби кота! Запуск процесса — относительно дорогая операция. Так что не надо дёргать утилиту cat когда это не надо.
                • –1
                  Мне чаще удобне сделать поставив cat первой коммандой.

                  Например:
                  1) смотрю файл — cat /etc/passwd
                  2) Ох, длинный какой — cat /etc/passwd | head
                  3) все равно нужных записей нет — cat /etc/passwd | grep 'XYZ'
                  4) ага, а теперь выделим только нужное — cat /etc/passwd | awk…

                  те чтобы заменить комманду достаточно нажать стрелку вверх и ctrl+w
                  • +4
                    Ну во-первых совет избавляться от cat актуален для кода, который будет исполняться многократно (скрипты, циклы), либо его будут читать другие люди (скрипты), т.к. более короткую запись проще воспринимать. А при повседневной работе делайте как удобно.

                    Но с другой стороны в описанном вами сценарии от использования cat удобнее не становится! Натравливать cat на файл неизвестного размера чревато, лучше сразу начинать с head $FILE. А чтобы потом отфильтровать по шаблону:
                    grep pattern Alt-.
                    Альт-точка подставит последний аргумент предыдущей команды (head)
                    Потом так же можно будет подставить в awk путь к файлу одним хоткеем.

                    Или ещё по-другому: начинать с less $FILE. Много лишнего и нужно отфильтровать? при запушенном less набрать
                    &PATTERN<enter>
                    И less спрячет строки не соответствующие шаблону. Сделать выборку? Опять же из запущенного less
                    !awk '{print $1+$2}' %<enter>

                    less подставляет путь к отображаемому файлу вместо %
                  • 0
                    column -t < /etc/passwd
                    А если здесь перепутать направление угловой скобки?
                    • 0

                      … то ничего не случится, потому что нечего работать от пользователя root.


                      Или придётся восстанавливать из бэкапа, который ведь у вас есть, правда? Ну в крайнем случае из /etc/passwd-


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

                • +4
                  В bash ctrl+t меняет соседние символы местами, удобно.
                  • +1
                    ого, теперь я знаю как можно легко сортировать пузырьком прямо в терминале)
                  • +7
                    Была же аналогичная статья на хабре году в 11. За «буква в букву» не ручаюсь, но точно эти команды там всплывали.
                    • +20
                      Что может появиться нового в Linux за какие-то 6 лет?)
                    • +12
                      > cat /dev/urandom > /dev/null

                      Это загрузит только одно ядро.
                      • 0

                        Можно добавить " | pigz" между ними, тогда будет много ядер :).

                        • 0
                          Не поможет. /dev/urandom выдаёт данные медленнее, чем gzip (однопоточный!) их архивирует. Зато можно запустить cat /dev/urandom несколько раз по количеству ядер.
                          • 0

                            Да, на моей тачке всего 11 мб/сек выдает чтение из /dev/urandom, в принципе gzip может быть и будет успевать. Ну можно добавить флаг "-9", тогда ему потяжелее будет :).

                            • 0
                              for i in $(seq 1 `nproc`); do cat /dev/urandom > /dev/null & done
                        • +2
                          Вот так интереснее, видно с какой скоростью рандомный поток летит вникуда:
                          pv</dev/urandom>/dev/null

                          • 0
                            А можно ещё и погрепать: ithappens.me/story/4032
                            • 0
                              Ожидал увидеть терабитную скорость из /dev/zero, а увидел только 16,1GiB/s. Что её ограничивает?
                              pv</dev/zero>/dev/null
                              • 0
                                Похоже на скорость оперативной памяти. DDR3 2133Mhz?
                                • 0

                                  А откуда ожидания терабита?

                            • +1
                              в п.3 вывод примера и его описание не соответствуют самому примеру.
                              Для соответствия пример должен быть таким:
                              while ! cat ./run.sh; do sleep 1; done
                              • 0
                                +1
                                и во втором тоже.
                                • 0

                                  Пункт 3 "Напиши скрипт одной строкой"

                                • +5
                                  Иногда использую для перехода в домашний каталог cd без параметров.
                                  • 0

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

                                    • 0

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

                                      • +2
                                        а еще есть bash smart completion которая не только автокомплит команд делает, а еще и аргументов.
                                        • 0
                                          Ещё такое есть:
                                          bind 'set show-all-if-ambiguous on'
                                          bind '"\C-n":menu-complete'
                                          bind '"\C-p":menu-complete-backward'
                                        • 0
                                          Ну без tab терминалом вообще невозможно пользоваться, а статья называется "… о которых никто не знает"
                                        • +16
                                          10 приёмов работы в терминале Linux, о которых мало кто знает

                                          В какой оболочке? В каком терминале? В каком дистрибутиве?


                                          Очередное "ненужно" от блога компании.

                                          • 0
                                            Ну, от эмулятора терминала, наверное, мало что зависит (разве что он будет глотать сочетания клавиш). От дистрибутива тоже вряд ли, если только он не поставит себе целью поломать те же сочетания.
                                            А вот то, что кроме bash есть другие оболочки, возможно, таки является для них сюрпризом.
                                            • +2

                                              А ещё bash может в любой момент наплевать на обратную совместимость и вообще bloatware. Про дистрибутив я написал потому что часть советов просто упоминание рандомных утилит (pv, zip), возможно в каком-то дистрибутиве они и предустановлены, но в моем нет.

                                              • 0
                                                Да, про утилиты согласен.
                                          • +1
                                            №9
                                            Плохо подходит для многоядерных систем, если не запускать по количеству ядер.
                                            Что-то близкое к требуемому одной командой можно получить, скажем, так:
                                            cat /dev/urandom | pbzip2 -c > /dev/null 

                                            Таким образом получается утилизировать весь либо почти весь процессор
                                            • 0
                                              gnu/parallel?
                                              parallel 'cat /dev/urandom > /dev/null #{}' ::: x x x x
                                              • 0
                                                ну или так:
                                                parallel 'cat /dev/urandom > /dev/null #{}' ::: {1..4}

                                                parallel 'cat /dev/urandom > /dev/null #{}' ::: `seq $(nproc --all)`
                                            • +2
                                              Много мелких приёмов, всех не вспомнить. Например:
                                              — Автодополнение можно настроить для чего угодно (man bash-completion), например сделать автодополнение имён веток в Git: «git checkout mas» дополнится до «git checkout master»;
                                              — Добавление строк в реальном времени в конец файла можно наблюдать через tail -f;
                                              — Можно обернуть вызов любой команды, где идёт передача данных через pipe, в утилиту pv, и будет отображаться прогресс переноса данных;
                                              — Можно обернуть вызов любой команды, ожидающей текстовый ввод от юзера, в утилиту rlwrap и ей подобные, и будет строка ввода, поддерживающая все фичи GNU readline (поиск по истории, дополнение ит.д.);
                                              — Если поставить пробел перед командой, она не осядет в .bash_history;
                                              — ssh remote_host_name run_command запускает неинтерактивный шелл через SSH, который выполнит run_command и закроется;
                                              — ssh remote_host_name bash открывает интерактивный шелл, команды в который вы вводите локально (нет лагов при нажатии клавиш);
                                              — ssh -R открывает на удалённом хосте порт, который будет пробрасываться через SSH до локальной машины;
                                              — ssh -L открывает на локальной машине порт, который будет пробрасываться через SSH до удалённой машины;
                                              — ssh -D даёт вам SOCKS прокси;

                                              … и т.д., имя им легион
                                              • 0
                                                Про pv есть в статье, правда там не объяснили, что работает только в тех командах, где есть вызов pipe
                                              • +3
                                                А как же навигация по командной строке:
                                                Ctrl+b/Ctrl+f для перемещения на одну букву
                                                Ctrl+a/Ctrl+e для перемещения в начало/конец строки
                                                Ctrl+w — удаление одного слова
                                                Ctrl+u — удаление всех символов слева от курсора
                                                Ctrl+k — удаление символов справа от курсора
                                                • 0
                                                  В строгом смысле поддерживается большинство emacs'совских комбинаций клавиш (без префикса)
                                                • 0
                                                  CTRL+Z
                                                  bg / fg
                                                  • 0

                                                    добавляем сюда jobs <%n> и kill %n (где n — номер задачи).

                                                  • +19

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

                                                    • +1
                                                      Вызвав команду ls, или что-нибудь ещё, выводящее данные на экран, можно столкнуться с длинными списками, для просмотра которых требуется продолжительный скроллинг.

                                                      Кажется здесь забыли написать про пейджеры.


                                                      То, что выводится на экран, легко можно организовать в виде таблицы с помощью команды column -t. Например:

                                                      /etc/passwd гораздо лучше будет выглядеть с опцией -s :

                                                      • +1
                                                        Комбинация клавиш Ctrl + U убирает из строки всё то, что уже в неё введено.

                                                        Ага, а Ctrl + Y снова вставляет строку, аналог Ctrl + X / Ctrl +V в винде. Удобно если вспомнил что перед одной командой надо ввести другую, а заново набирать лень и к мышке тянутся тоже :)
                                                        • 0

                                                          Можно мои 5 копеек?


                                                          1. В команде "more file.txt" можно перемещаться вперед и НАЗАД кнопками f (forward) и b (backward). Ровно так же это делается и в man. Кнопка "v" приводит к тому, что файл передается редактору vi на редактирование. Если в режиме vi дать "<ESC> set nu", то уже vi пронумерует строки. Выход из vi — "<ESC> q".
                                                          2. Кнопка / позволяет иcкать в more и в vi
                                                          3. Команда "gunzip -c file.tar.gz | tar xvf -"  позволяет распаковать одной строкой tar.gz  архив (есть и другой метод, но мне этот более понятен). По сути gunzip -c вываливает результат в stdout, а символ "-" после пайпа вбирает в себя вывод из stdout в свой stdin.
                                                          4. Что такое "su user" (если без user, то в root-а) знают все, но уверен, что не все знают, что "su — user" переводит в user-а со всеми переменными окружения этого пользователя.
                                                          5. Все знают, что "cd" без параметров приводит к тому, что директория меняется на "home" (cd $home). А если сделать "cd ~/dir1", то получается "cd $home/dir1".
                                                          6. Команда "ls -1 | wc -l" выдаст количество файлов и папок в директории. Если дать "ls -1d | wc -l", то количество папок. Если дать "ls -1f | wc -l", то количество только файлов.
                                                          7. Команда "ll" — это аналог "ls -l" (во многих unix-ах). Если это не так, то всегда можно сделать alias.
                                                          8. Комбинация "<CTRL> u" — убирает все символы левее курсора
                                                          9. Комбинация "<CTRL> a" переводят курсор в начало строки
                                                          10. Комбинация "<CTRL> e" переводят курсор в конец строки

                                                          Пункты 8-10 работают и в vi.

                                                          • 0
                                                            3. Достаточно же tar xf filename.tar.gz
                                                            • 0
                                                              1. это только с GNU-сным таром;
                                                              2. tar xzf filename.tar.gz
                                                                без "z" tar выдаст ошибку.
                                                              3. tar xjf filename.tar.bz2
                                                              • 0
                                                                Я попробовал tar xf без дополнительных букв в Ubuntu 16.04 и CentOS 7.3 — работает без ошибок. Возможно какие-то старые и экзотические оси требуют отдельного указания формата архива и не могут его определить самостоятельно, но я с такими видимо не работаю.
                                                                • 0

                                                                  Да, вы правы насчёт центоси — работает без указания формата.

                                                            • 0
                                                              Забыл сказать, что для п.3 исходный tar.gz не меняется (не распаковывается просто в tar).
                                                              • 0
                                                                1. Это не аналог, это именно предопределённый алиас в некоторых дистрибутивах/системах. Проверяется элементарно — вызовом команды alias
                                                                • 0
                                                                  Да, может быть. Если первый вызов ll не давал результата, а нужно что-то делать с расчетным временем более 5-10 минут, то вкручивал alias.
                                                              • 0

                                                                Если забыли при вводе команды добавить pv, то для большинства базовых команд (cp, mv, dd, tar, gzip и пр.) поможет progress
                                                                https://github.com/Xfennec/progress

                                                                • 0
                                                                  Может какой-нибудь ztar?
                                                                  Я для себя выбрал вариант, который всегда везде (емли есть gunzip, конечно).
                                                                  • +6
                                                                    Мне вот упорно кажется, что хостингу VPS/VDS есть о чем рассказать, помимо «лайфхак-гайдов», 100% которых гуглится в интернете, и достойных школьника, случайно прорвавшегося на хабр.
                                                                    • 0
                                                                      а куда делся text_comes_here_4.txt в 10 примере?
                                                                      • +2
                                                                        cat /dev/urandom > /dev/null у меня загружает процессор примерно на 30%, для полной нагрузки есть stress -с numcores
                                                                        • 0

                                                                          У меня занимает 100% одного ядра, причём в режиме ядра. stress жрёт юзерспейс.

                                                                          • 0
                                                                            Для целей «теста батарейки» или стабильности системы — никакой разницы между kenel и user загрузкой нет. А вот загрузить все ядра — важно.
                                                                        • 0
                                                                          Надеемся, некоторых из тех десяти приёмов работы в командной строке Linux, которыми мы хотим с вами поделиться, попадут в ваш личный список полезных команд.
                                                                          №9. Стресс-тест батареи ноутбука
                                                                          $ cat /dev/urandom > /dev/null
                                                                          Ну как так-то…
                                                                          • –4
                                                                            Уже шутили про очень полезную команду rm -rf /? Пробовать обязательно всем. Лучше на проде
                                                                            • –2
                                                                              Кстати, есть такая реальная проблема — многие программы создают временные файлы с именем "~", которые со временем начинают забивать диск. Поэтому иногда рекомендуется выполнять команду «rm -rf ~», чтобы удалить такие файлы во всех подкаталогах.
                                                                            • 0
                                                                              мне очень нравится команда locate -A word1 word2
                                                                              • 0

                                                                                Есть два небольших нюанса:


                                                                                • пакет, содержащий locate, надо ставить ручками;
                                                                                • базу данных locate также надо регулярно обновлять.
                                                                                • 0
                                                                                  разве это проблема?
                                                                                  yum -y install mlocate
                                                                                  updatedb
                                                                                  в убунте она из коробки
                                                                              • –1
                                                                                Иногда нужно запустить команду с определенными переменными окружения, можно сделать это одной строкой:
                                                                                $ JAVA_HOME=/java/home ./run.sh
                                                                                • 0
                                                                                  От себя добавлю:
                                                                                  1.
                                                                                  $ pushd <some_dir> #добавляет директорию в стэк
                                                                                  $ popd #переносит вас в ту директорию удаляя ее из стэка


                                                                                  2.
                                                                                  $ history
                                                                                  999 pwd
                                                                                  1000 exit
                                                                                  1001 history
                                                                                  $ !999 #Выполняет команду из истории
                                                                                  /home/daniyar94
                                                                                  • 0
                                                                                    pushd и popd вообще выручают, когда надо копаться в конфигах разных программ
                                                                                  • 0

                                                                                    Для 8 пункта в свое время придумали tar

                                                                                    • +1

                                                                                      У вас в последнем примере rename файл удалил :(

                                                                                      • 0
                                                                                        «Вот как выглядит то, что у нас получилось» (N6)

                                                                                        А зачем вам такой вывод, как на скриншоте?
                                                                                        • 0
                                                                                          Тоже не понял смысла. Но видимо автор имел ввиду команду
                                                                                          cat /etc/passwd | column -t -s :

                                                                                        • 0
                                                                                          Alt + Backspace — удаление слова в консоли.
                                                                                          • 0
                                                                                            мой путь начинающего линуксоида стал значительно менее тернист после того, как я узнал об apropos :)
                                                                                            • 0
                                                                                              Стопицот раз уже про одно и то же. ИМХО, кому работать реально в терминале нужно будет — найдёт намного более продвинутую и полную статью (их на хабре достаточно) или даже man'ы прочитает.
                                                                                              Я бы вот с бОльшим удовольствием почитал о графических утилитах/командах/вывозах функций ОС и оболочек, заметно повышающих дружелюбность скриптов к пользователю — намного удобнее ткнуть мышкой в файлик скрипта, выбрать что нужно, и получить в нормальном окне результат, и ещё прогресс видеть. Это я не про админов, а про обычных пользователей домашних ПК под линуксом, которые на 90% используют КДЕ, Гном или что-то ещё (реже). Вот например, прогресс-бар в КДЕ:
                                                                                              kdialog --progressbar "Reading files" $files_count

                                                                                              Вот диалог открытия папки в КДЕ:
                                                                                              folder="`kdialog --getexistingdirectory ~`"

                                                                                              Диалог с кнопками:
                                                                                              kdialog files:start --yesnocancel "check files" --yes-label "save md5" --no-label "check md5"

                                                                                              Нормальных обзорных статей по такого рода возможностям особо-то нет, а хотелось бы.
                                                                                              • +3
                                                                                                Вот еще моя любимая команда
                                                                                                mc
                                                                                                • 0

                                                                                                  Помнится, мы ещё под DOS-ом писали резидентные менюшки, которые по F2 всплывали везде, где надо, и содержали в себе нужные шорткаты, чтобы их не запоминать, и не выстрелить себе в ногу случайно (особенно на вторые сутки без сна в 5 утра)). F2 — потому что в VC тоже было неплохое пользовательское меню по этой кнопке.


                                                                                                  То есть 20 лет назад под DOS это было, а сейчас под *nix надо держать в голове параметры какого-то pbzip2, а чтобы показать список последних команд надо что-то шаманить… Что стоило за это время улучшить bash или просто сделать что-то получше? У того же абсолютно инопланетного vi все же появились человеческие альтернативы типа nano…

                                                                                                  • 0
                                                                                                    Это классический метод взаимодействия с компьютером и он никуда не делся. Он показал свою эффективность и работает очень уверенно ( cli в cisco, shell в linux ). Такое взаимодействие позволяет быстро комбинировать простые программы и получать результат. Графический интерфейс до сих пор не дорос до подобного.
                                                                                                    Держать в голове параметры не надо у всех утилит есть справка
                                                                                                    pbzip2 --help
                                                                                                    man pbzip2
                                                                                                    info pbzip2

                                                                                                    bash-completion

                                                                                                    «vi имеет два режима в одном он пищит в другом всё портит»
                                                                                                    на основе vi сделан vim — один из самых эффективных редакторов
                                                                                                    • 0
                                                                                                      Между текстовым режимом и графическом есть ещё много градаций. Эффективность у чисто текстового ввода по сравнению с текстом+менюшки для шорткатов сильно ниже, вероятность ошибок у чисто текста — сильно больше. Мне кажется, это очевидно.

                                                                                                      htop удобнее чем просто top, а top удобное, чем вывод по строкам (как в ping, например). Текстовые интерфейсы давно эволюционировали, но наследие сильнО ))
                                                                                                      • 0
                                                                                                        вероятность ошибок у чисто текста — сильно больше. Мне кажется, это очевидно.

                                                                                                        А мне кажется, что ровновно наоборот. Вернее так, вероятность деструктивных ошибок, в GUI намного выше, если GUI и CLI обеспечивают одинаковую функциональность.

                                                                                                  • 0

                                                                                                    -

                                                                                                    • 0
                                                                                                      Полезно. Спасибо.
                                                                                                      P.S. Сегодня работал за консолью в винде. После винды, консоль линуха, просто шедевром кажется. Сделано людьми, для людей. В винде же… ад и страх cmd
                                                                                                      • +1
                                                                                                        clink в помощь )
                                                                                                        • 0

                                                                                                          Большое спасибо) тоже мучался, даже не задумываясь о поиске альтернативы)

                                                                                                          • 0
                                                                                                            Есть же прекрасный и удобный cmder.net. После него смотреть на стандартную консоль windows без слез нельзя :)
                                                                                                        • 0
                                                                                                          первая команда, которую я набираю в консоли windows — bash $)
                                                                                                          • 0

                                                                                                            Пробовали Cygwin?

                                                                                                            • 0
                                                                                                              Он сможет помочь мне вот с такими конструкциями?
                                                                                                              sc sdset Spooler «D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;IU)(A;;CCLCSWLOCRRC;;;SU)(A;;RPWPCR;;;S-1-5-21-2133228432-2794320136-1823075350-1000)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD)»

                                                                                                              • +1

                                                                                                                А что это такое?

                                                                                                                • 0
                                                                                                                  Установка параметров для службы spooler (диспетчер печати), в частности права ставит как надо тому, кто забил такую команду. По сути — жесть конечно.
                                                                                                          • 0
                                                                                                            Хотел бы добавить, что по введенной команде удобно перемещаться назад или вперед по целым словам, нажимая
                                                                                                            Ctrl + →
                                                                                                            или
                                                                                                            Ctrl + ←
                                                                                                            • 0

                                                                                                              Это работает по дефолту? У меня вместо влево вставляется 5D, а вместо вправо 5C.

                                                                                                              • 0
                                                                                                                попробуйте через ALT + ←
                                                                                                                • 0
                                                                                                                  Добавлю свои 5 копеек.
                                                                                                                  Изначальный хоткей в баше: alt+b и alt+f
                                                                                                                  • 0

                                                                                                                    Да, по умолчанию ALT+b/f. Натолкнуло на мысль, кстати, поменять эти шорт-каты. Пользуюсь постоянно, но всегда неудобно.
                                                                                                                    Нашёл здесь вариант как сменить на CTRL+arrow keys. https://superuser.com/a/488158/683161

                                                                                                            • +1
                                                                                                              все перемещения по тексту и работа с историей — это функциональность библиотеки GNU readline
                                                                                                              и работают не только в Bash, но и, естественно, во всех «консолях», которые её используют (irb, например)
                                                                                                              красивые таблички/cheat sheets — в гугле по запросу, хотя то же самое описано по приведённой выше ссылке
                                                                                                              • 0
                                                                                                                №9. Стресс-тест батареи ноутбука

                                                                                                                Про многоядерные CPU уже написали, но у ноутбука есть ещё GPU и радиомодули. Как нагрузить их из терминала для стресс-теста батареи?
                                                                                                                • 0
                                                                                                                  GPU — каким-нибудь криптомайнером или кодированием толстого видеофайла.
                                                                                                                  Радио — торрентом.

                                                                                                                Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                                                                                                Самое читаемое