Перейти до основного вмісту

Публікації

Показано дописи з міткою "Linux"

Dockerfile

Dockerfile — це текстовий файл з інструкціями, які описують, як зібрати Docker-образ (image). Навіщо потрібен Dockerfile Основні задачі: автоматизація збірки середовища створення відтворюваних образів деплой додатків ізоляція залежностей Як використовується Dockerfile # Збірка образу docker build -t my-app . # Запуск контейнера docker run -p 8080:8080 my-app Базовий приклад Dockerfile # базовий образ FROM openjdk:17 # робоча директорія WORKDIR /app # копіювання файлів COPY target/app.jar app.jar # команда запуску CMD ["java", "-jar", "app.jar"] Основні інструкції Dockerfile FROM (базовий образ) FROM ubuntu:22.04 FROM node:20 FROM openjdk:17 WORKDIR (робоча директорія) WORKDIR /app COPY (копіювання файлів) COPY . . COPY file.txt /app/file.txt ADD (розширене копіювання) ADD archive.tar.gz /app/ # автоматично розпаковує архіви RUN (виконання команд) RUN apt update && apt install -y curl RUN npm install RUN mvn pa...

Bash-скрипти

Bash-скрипт — це текстовий файл, що містить послідовність команд для командної оболонки Bash , яка є стандартною для більшості Linux-дистрибутивів та macOS. Створення Bash-скрипта nano script.sh # створити файл у редакторі nano vim script.sh # або через vim touch script.sh # створити порожній файл Shebang (обов’язково на початку) Перший рядок скрипту, який вказує системі, який інтерпретатор використовувати для виконання файлу. #!/bin/bash # або більш універсально #!/usr/bin/env bash Надання прав на виконання chmod +x script.sh Запуск скрипта ./script.sh # запуск як виконуваного файлу bash script.sh # запуск через bash sh script.sh # запуск через sh (обережно: не всі фічі Bash підтримуються) Передача аргументів у скрипт ./script.sh arg1 arg2 # всередині скрипта: echo $1 # перший аргумент echo $2 # другий аргумент echo $@ # всі аргументи echo $# # кількість аргументів Обробка аргументів if [ $# -eq 0 ]; then ...

Базові команди Bash

Bash (Bourne Again SHell) — це оболонка командного рядка + мова сценаріїв, яка використовується для: виконання команд автоматизації задач написання скриптів Bash — це повноцінна мова програмування, але з важливим уточненням — це скриптова мова для автоматизації в Unix/Linux-середовищі, а не універсальна мова на рівні Java чи Python. Bash має всі базові можливості програмування: змінні умовні конструкції (if, case) цикли (for, while) функції обробку вводу/виводу роботу з файлами обробку помилок Основні команди pwd # показати поточну директорію ls # список файлів ls -la # детальний список (з прихованими) cd /path # перейти в директорію cd .. # на рівень вище clear # очистити термінал Робота з файлами та папками touch file.txt # створити файл mkdir dir # створити папку mkdir -p a/b/c # створити вкладені папки rm file.txt # видалити файл rm -r dir ...

Термінал на Android

Часто є необхідність користуватися теміналом на ОС Android. Наприклад, для підключення по SSH до сервера. Для цього є кілька можливостей. Розглянемо досить популярну із них - Termux Для початку потрібно встановити F-Droid: зайти на сайт f-droid.org/ , завантажити apk-файл та встановити його на свій смартфон. Власне після цього можна встановити Termux , скориставшись пошуком у F-Droid (F-Droid - це альтернатива Google Play Market). Після цього можна запускати програму і користуватися терміналом. Важливо розуміти, що у Termux не можна напряму використовувати apt-репозиторії Debian/Ubuntu. Але є власний репозиторій пакетів, адаптований під Android (ARM, sandbox, відсутність root тощо). Наприклад, оновлення пакетів: pkg upgrade Встановити git pkg install git Встановити JDK25 pkg install openjdk-25 У репозиторії Termux є кілька тисяч пакетів, зокрема: gcc / clang python nodejs rust go php nginx redis postgres openssh neovim tmux Налаштування, як сервера З допом...

Посилання на файли в Linux

У Linux є два типи посилань: жорсткі (hard links) і символічні (symbolic links, або "симлінки"). Символічне посилання Це ярлик, який вказує на інший файл або директорію. Воно працює майже як ярлик у Windows. Коли користувач викликає програму або відкриває файл через симлінк, система автоматично перенаправляє його на справжнє місце. Симлінк не містить самих даних, лише шлях до них. Приклад: ln -s /opt/.android ~/.android ln — команда створення посилання -s — ключ для символічного посилання /opt/.android — реальне місце, де лежать дані ~/.android — місце, де хочемо бачити посилання (тобто замінити оригінальну папку) Що бачить система: ls -l ~/ дасть щось типу: lrwxrwxrwx 1 user user 14 May 12 16:00 .android -> /opt/.android l на початку — це link , і видно, куди він вказує. Жорсткі посилання У Linux кожен файл — це дані на диску + імена, які на них вказують. Жорстке посилання — це просто ще одне ім’я для тих самих даних. Тобто кілька різних ...