1. Основні команди Linux

Author

Nazarii Hrubiian

Основні команди Linux

cd

(Change Directory) Зміна директорії

cd /path/to/directory  # Перехід до конкретного каталогу
cd ~                   # Перехід до домашнього каталогу
cd ..                  # Повернення до попередньої директорії

ls

(List Directory) Відображення вмісту каталогу

ls                      # Перелік файлів у поточному каталозі
ls -l                   # Виведення зі списком та атрибутами файлів
ls -a                   # Відображення прихованих файлів
ls -lh                  # Відображення списку із розмірами файлів
ls -R                   # Рекурсивний список всіх файлів у підкаталогах
ls -la                  # Виведення прихованих файлів з детальним описом

df

(Disk Free) Команда для зміни поточного робочого каталогу

df                      # Виведення використання диску для всіх файлових систем
df -h                   # Використання диску в доступній формі (GB, MB)
df -T                   # Показує тип файлової системи
df -i                   # Показує використання індексних дескрипторів (inodes)

mv

(Move) Переміщення або перейменування файлів і каталогів.

mv file.txt /new/path/        # Переміщення файлу до нового каталогу
mv old_name.txt new_name.txt  # Перейменування файлу
mv *.txt /new/path/           # Переміщення всіх .txt файлів
mv -i file.txt /new/path/     # Підтвердження перед перезаписом файлів

mkdir

(Make Directory) Створення нових каталогів

mkdir new_directory     # Створення нового каталогу
mkdir -p /path/to/dir   # Створення структури каталогів (включаючи всі проміжні)

rm

(Remove) Створення нових каталогів

rm file.txt             # Видалення файлу
rm -r directory         # Рекурсивне видалення каталогу з вмістом
rm -f file.txt          # Примусове видалення файлу без підтвердження
rm -i file.txt          # Підтвердження перед кожним видаленням

cat

(Concatenate) Відображення вмісту файлу або об’єднання файлів.

cat file.txt            # Відображення вмісту файлу
cat file1.txt file2.txt # Об'єднання кількох файлів у вивід
cat file.txt > newfile.txt  # Створення нового файлу з копією вмісту

gunzip

(Uncompress) Розпаковує стиснені файли у форматі .gz.

gunzip file.gz          # Розпаковує файл і видаляє оригінал .gz
gunzip -k file.gz       # Розпаковує файл, залишаючи оригінал
gunzip *.gz             # Розпаковує всі файли з розширенням .gz

zcat

(Concatenate Compressed Files) Перегляд стисненого файлу без розпаковування.

zcat file.gz            # Перегляд вмісту стисненого файлу
zcat file1.gz file2.gz  # Перегляд вмісту кількох стиснених файлів

grep

(Global Regular Expression Print) Пошук тексту у файлах за шаблоном.

grep 'pattern' file.txt         # Пошук рядків, що містять 'pattern' у файлі
grep -i 'pattern' file.txt      # Пошук без урахування регістру
grep -r 'pattern' /path/to/dir  # Рекурсивний пошук по всьому каталогу
grep -v 'pattern' file.txt      # Виведення рядків, що не містять 'pattern'
grep --color "example" file.txt   # Виділяє "example" у виведенні
grep --color -w "example" file.txt   # Пошук цілого слова з підкресленням знайдених збігів
grep --color \"PTPN22\" file.txt    #Виділення рядків, якщо в них є регулярні вирази у дужках

echo

(Display a Line of Text) Виведення тексту або змінної в термінал.

echo "Hello, World!"    # Виведення тексту
echo $HOME              # Виведення значення змінної
echo "Line 1\nLine 2"   # Виведення з новими рядками

ps

(Process Status) Виводить інформацію про активні процеси.

ps                      # Показує процеси поточного користувача
ps aux                  # Показує всі процеси у системі
ps -eF                  # Детальна інформація про всі процеси
ps -p 12345             # Інформація про процес за його PID

top

(Task Manager) Інтерактивне відображення процесів та їхнього використання ресурсів у реальному часі.

top                     # Запуск топ з інформацією про процеси
top -u username         # Показує процеси конкретного користувача

tail

(Output the Last Part of Files) Виводить останні рядки файлу.

tail file.txt           # Останні 10 рядків файлу за замовчуванням
tail -n 20 file.txt     # Останні 20 рядків файлу
tail -f file.txt        # Виведення нових рядків у реальному часі (відстеження логу)

|

(Pipe) Передає виведення однієї команди як вхід для іншої.

ls | grep 'file'        # Пошук файлів у виводі команди ls
ps aux | grep 'process' # Пошук процесу у виводі ps

man

(Manual) Виводить документацію для команд.

man ls                  # Відображає документацію для команди ls
man -k 'search_term'    # Пошук команд за ключовим словом

touch

(Update Timestamp or Create Empty File) Створює новий порожній файл або оновлює час модифікації існуючого.

touch newfile.txt       # Створення нового файлу
touch -a file.txt       # Оновлення часу доступу до файлу

gzip

(Compress) Стискання файлів.

gzip file.txt           # Стиснення файлу
gzip -k file.txt        # Стиснення без видалення оригіналу
gzip *.txt              # Стиснення всіх текстових файлів у каталозі

ssh

(Secure Shell) Безпечне віддалене з’єднання з сервером.

ssh user@hostname       # Підключення до сервера
ssh -i keyfile.pem user@hostname  # Підключення з використанням ключа

comm

(Compare Two Sorted Files) Створення нових каталогів

comm file1.txt file2.txt # Порівняння файлів
comm -1 file1.txt file2.txt # Виведення відмінностей у другому файлі

kill

(Terminate Process) Команда для завершення процесів за їхнім PID.

kill 12345             # Завершення процесу з PID 12345
kill -9 12345          # Примусове завершення процесу з PID 12345

chmod

(Change Mode) Зміна прав доступу до файлів і каталогів.

chmod 755 file.txt     # Встановлення прав доступу (власник: читання, запис, виконання; група і інші: тільки читання і виконання)
chmod u+x file.txt     # Додавання права виконання для власника
chmod -R 644 directory # Рекурсивна зміна прав доступу для всіх файлів у каталозі
chmod a-w file.txt     # Відбір прав запису для всіх

chown

(Change Owner) Зміна власника файлів і каталогів.

chown user:group file.txt      # Зміна власника і групи файлу
chown -R user:group directory  # Рекурсивна зміна власника для каталогу та всіх його файлів
chown user file.txt            # Зміна лише власника

wget

(Download Files from the Web) Створення нових каталогів

wget http://example.com/file.zip      # Завантаження файлу з вказаної URL
wget -c http://example.com/file.zip   # Продовження завантаження з місця переривання
wget -r http://example.com/           # Рекурсивне завантаження всього сайту
wget --limit-rate=200k http://example.com/file.zip  # Обмеження швидкості завантаження

sudo

(Make Directory) Створення нових каталогів

sudo apt-get update      # Оновлення системи на рівні адміністратора
sudo systemctl restart apache2  # Перезапуск служби
sudo su                  # Перехід до суперкористувача (root)
sudo visudo              # Редагування конфігураційного файлу sudoers

tree

Відображення структури каталогів і файлів у вигляді дерева

tree                      # Виводить структуру поточного каталогу у вигляді дерева
tree /path/to/directory   # Виводить структуру вказаного каталогу
tree -a                   # Показує всі файли, включаючи приховані
tree -d                   # Виводить тільки каталоги
tree -f                   # Виводить повні шляхи до файлів і каталогів
tree -h                   # Показує розмір файлів у форматі кілобайт/мегабайт

pwd

(Print Working Directory) Створення нових каталогів

pwd                       # Виводить абсолютний шлях до поточного робочого каталогу
pwd -P                    # Показує фізичний шлях, реальний без символічних посилань

wc

(Word Count) Підрахунок кількості рядків, слів і символів у файлі або виведенні тексту.

wc file.txt             # Підрахунок кількості рядків, слів і символів у файлі
wc -l file.txt          # Підрахунок кількості рядків у файлі
wc -w file.txt          # Підрахунок кількості слів у файлі
wc -c file.txt          # Підрахунок кількості байтів у файлі
wc -m file.txt          # Підрахунок кількості символів у файлі (якщо використовується багатобайтове кодування)
wc -L file.txt          # Виведення довжини найдовшого рядка в символах
wc -l file1.txt file2.txt    # Підрахунок рядків у кількох файлах

history

history                    # Виводить список усіх раніше виконаних команд
history 10                 # Виводить останні 10 виконаних команд
!123                       # Виконує команду з номером 123 з історії
!!                         # Повторює останню виконану команду
!grep                      # Виконує останню команду з історії, яка містить "grep"
history -c                 # Очищає історію виконаних команд
history -w filename        # Зберігає історію команд у файл filename
history -r filename        # Завантажує історію команд з файлу filename

more

тПосторінковий перегляд вмісту файлу або виведення тексту в терміналі. Вона дозволяє переглядати текст поступово, прокручуючи його по сторінках.

more file.txt              # Відкриває файл для посторінкового перегляду
cat file.txt | more        # Виводить вміст файлу за допомогою cat і посторінково з more
more -num file.txt         # Виводить файл, показуючи num рядків одночасно
more +n file.txt           # Починає показ із рядка n у файлі
more *.txt                 # Послідовно переглядає кілька файлів .txt посторінково
command | more             # Показує виведення будь-якої команди посторінково

less

Команда less схожа на more, але з додатковими можливостями для перегляду файлів та виведення команд у терміналі. Вона дозволяє прокручувати текст як вперед, так і назад, і підтримує більше команд для навігації.

less file.txt              # Відкриває файл для посторінкового перегляду
less +10 file.txt          # Починає показ із 10-го рядка файлу
ls -l | less               # Виводить результат команди ls -l посторінково
less file1.txt file2.txt    # Виводить кілька файлів один за одним
less +F file.txt           # Моніторить файл у реальному часі (схоже на tail -f)
less -S file.txt           # Виводить файл без переносу довгих рядків
# Корисні клавіші під час перегляду файлу:
# Space – наступна сторінка
# b – попередня сторінка
# /текст – пошук тексту
# n – наступний результат пошуку
# q – вихід з перегляду

cut

Команда cut використовується в Unix/Linux для вибору частин рядків з текстових файлів або стандартного введення. Вона може використовуватися для видалення певних колонок, символів або полів з кожного рядка

cut -f 1,3 file.txt          # Вибір 1-ї та 3-ї колонок з табуляцією як роздільником
cut -c 1-5 file.txt          # Вибір символів з 1 по 5 з кожного рядка
cut -d ',' -f 2 file.csv     # Вибір 2-го поля з файлу CSV, де поля розділені комою
cut -d ':' -f 3 /etc/passwd   # Вибір 3-го поля з файлу /etc/passwd
cut -c 3- file.txt           # Вибір символів, починаючи з 3-го до кінця рядка
cut -d ',' -f 1,3 file.csv    # Вибір 1-ї та 3-ї колонок з файлу CSV
cut -c 1-10 file.txt         # Вибір перших 10 символів з кожного рядка

awk

awk — це потужна командна утиліта для обробки і аналізу текстових файлів в Unix/Linux системах. Вона дозволяє працювати з рядками та полями (колонками) тексту, обчислювати значення та застосовувати різні дії до кожного рядка.

awk '{print}' file.txt     # Виводить всі рядки з файлу
awk '{print $1}' file.txt  # Виводить першу колонку
awk '$2 > 100 {print $0}' file.txt  # Виводить рядки, де значення у 2-й колонці більше за 100
awk -F ',' '{print $1, $3}' file.csv  # Виводить 1-шу і 3-тю колонки з файлу CSV
awk '{sum += $1} END {print sum}' file.txt  # Підсумовує значення з 1-ї колонки
awk -v threshold=50 '$2 > threshold {print $1, $2}' file.txt  # Виводить рядки, де 2-а колонка більше за 50
awk '{print $2 - $1}' file.txt  # Виводить різницю між 2-ю і 1-ю колонками
awk 'NR == 1 {min = $1} $1 < min {min = $1} END {print min}' file.txt  # Мінімальне значення в 1-й колонці
awk 'NR == 1 {max = $1} $1 > max {max = $1} END {print max}' file.txt  # Максимальне значення в 1-й колонці

Корисні поради при використанні терміналу

  • Повертайтеся до попередніх команд за допомогою клавіш стрілок(PgUp,PgDn)
  • Натисніть одночасно клавіші «Ctrl» і «r», щоб розпочати пошук команд, які містять пошукові терміни.
  • Використовуйте клавіші зі стрілками для циклічного перегляду всіх команд, які відповідають умовам пошуку.
  • Використовуйте клавішу «Tab» для автозаповнення.
  • Натисніть одночасно клавіші «Ctrl» і «c», щоб завершити команду.

Корисні посилання