Скорочено від QUIT. Вона працює як "вихід" у багатьох програмах –- в
tig, htop, less, ranger, ncdu, man, …
Хоч це такий же хоткей як "скопіювати", в лінукс терміналах він означає "перервати роботу".
Це виходу з редактору Vim
/Neovim
. Якщо з першого разу не спрацювало, спробуйте ще кілька разів.
Мова вводу повинна бути англійська!
Це команда виходу з редактору nano
. Може знадобитись підтвердження.
Це команда відключення від tmux
, без переривання його роботи.
Це команда виходу з bash
та ssh
.
Підключенні до віддаленого серверу відбувається через SSH:
(параметри user
та server
отримайте окремо).
При першому вході потрібно підтвердити ключ (набрати yes
та Enter).
При старті запуститься Bash від імені вашого юзера. Якщо натиснути Ctrl-d,
то з'єднання завершиться. Можна зробити кілька підключень з кількох різних терміналів.
Для авторизації може використовуватись і пароль, але безпечніше і зручніше через асиметричний ключ.
Bash та coreutils складаються з кількох сотень команд та конструкцій. Сумарно вони стають повноцінною
мовою програмування. Основний типом даних який використовується в Баш, є рядок і список рядків.
pwd
–- показати поточну папкуls
, ls -la
–- показати файли і папки в поточній папціcd ..
–- перейти в папку вищеcd dirname
–- перейти в дочірню папку dirname
cd /bla/blo/ble
–- перейти в конкретну папку в системіcat filename
–- вивести на екран вміст файлу. Розширення у файлу може не бути.echo "Test test test" > filename
–- записати фразу в файл filename
. Ця конструкціяmkdir dirname
–- зробити папку dirname
export BLABLA=testtest
–- зробити змінну BLABLA
і записати в неї testtest
.echo $BLABLA
–- вивести змінну на екранenv
–- вивести всі наявні змінні на екран
PS1
відповідає за відображення промпту в Баш, і її можна змінитиPATH
відповідає за те, де знаходяться програми для швидкого запуску, і її можна мінятиEDITOR
відповідає за те, який редактор є дефолтним, і її можна змінитиecho "This is some $BLABLA text"
–- використання змінної всередині рядка зробитьecho "my current user is ${USER}"
–- так також можна робити інтерполяцію змінної.echo "my current dir is $(pwd)"
–- в круглих дужках відбудеться інтерполяціяpwd
буде запущена, і її вивід підставитьсяcowsay "Hello my friend"
–- запустити команду cowsay
з параметромfortune | cowsay
–- запустити команду fortune
, і передати її вивід на вхід до cowsay
.fortune | figlet | lolcat
–- те саме, але тепер тут три команди передають одна доpython some_file.py
–- запустити пайтон скрипт./some_file.py
–- якщо файл налаштовано як "запускаємий", то файл буде запущеноcat some_file.py | less
–- вивести файл у пейджер less
Пайпи універсальні. Практично будь-яку команду можна передати у пайп, і багато команд вміють читати
з пайпу.
Якщо зробити less some_file.py
або cat some_file.py | less
, то файл можна переглядати у режимі
пейджера. Хоткеї:
Показує документацію (мануал) по команді. Якщо забули які у команди параметри, можна підглянути в
man
:
man cowsay
man lolcat
man tmux
man man
Дозволяє кілька крутих штук:
Як запускати:
tmux a
–- підключитись до першої ліпшої сесії, якщо вона вже єtmux new -s myname
–- створити нову сесію з іменем myname
. Зручно, якщо не хочете заважатиtmux a -t myname
–- підключитись до сесії по імені\tmux
–- запустити індивідуальну сесію, до якої тільки у вас є доступХоткеї, коли вже запущено:
nvim
)Це консольний редактор файлів. Його фішка в тому, що він запускається у "нормальному" режимі спочатку.
В цьому режимі НЕ можна вставляти символи і текст. Всього є кілька режимів (modes):
term
Enter, виходити по Ctrl-\ Ctrl-n:::warn
Всі великі букви треба набирати як великі букви!
:::
Команд і хоткеїв мільйон, але найкорисніші (всі запускати тільки з номального режиму):
:w
Enter – зберегти файл
:q
Enter – вийти
:wq
Enter – зберегти і вийти
:q!
Enter – вийти і не зберігати
V(далі клавіші вниз-вверх) – зробити виділення
P – вставити
u – відміна дії (undo)
Ctrl-r – відміна відміни (redo)
/ – шукати в файлі (як у less)
:!...
– запустити баш команду. Наприклад:
:!hexdump -C %
Enter – отримати HEX-вигляд поточного файлу:!python %
Enter – запустити програму у пайтоні (тільки якщо неінтерактивна):vs|:term python %
Enter – запустити програму у пайтоні інтерактивно
останню команду трохи напряжно набирати, але Vim/Nvim дозволяють робити хоткеї.
Наприклад, якщо написати
:nnoremap <F3> :w<cr>:vs<bar>:term python %<cr>
Enter,
то це додасть новий хоткей F3, який буде зберігати файл і запускати
пайтон код поруч, інтерактивно.
ranger
–- переглядач папок і файлів. Після запуску можна клавішами вверх вниз рухатись
по файлам в поточній папці, а клавішами вліво/вправо рухатись між батьківськими і дочірніми
папками.
Хоткеї:
q
–- вийти?k
–- подивитись всі доступні хоткеїОкрім чорного екрану, в терміналі можна робити всяку веселу фігню.
Протоколи Telnet та HTTP можна експлуатувати
curl parrot.live
–- мем з папугоюtelnet mapscii.me
–- карта в терміналі. Рухатися стрілочками,a
/z
, перемикати режим c
, вийти q
asciinema play https://asciinema.org/a/234965
–- запустити скрінкастasciinema дозволяє не тільки грати файли з інтернету, а й записувати свої сскрінкасти. asciinema -h
для допомоги
lolcat
–- розмальовує все що на вході у кольори веселки. Наприклад, tree / | lolcat
cowsay
, cowthink
–- заставити корову говоритиfiglet
–- перетворити текст у ASCII-артcmatrix
–- заставка з Матриціpipes.sh
–- просто трубиpastel random
–- просто кольориhtop
–- інформація про запущені процеси і зайняті ресурси (монітор процесів)ncdu /
–- інформація по розмірам файлів в системіhexdump -C ...
–- вивести файл у хакерському виглядіtree /home
–- показати файли і папки у вигляді ієрархіїtig
–- заміна git
curl 'https://google.com'
–- скачати сторінку з інтернету
curl 'https://google.com' > google_page
–- скачати сторінку з інтернету і зберегти у файлpkill -f telnet
–- вбити всі запущені telnet програми.Можна робити комбінації через пайпи, наприклад, curl 'https://google.com' | hexdump -C | lolcat