Мои любимые команды Linux

Горячие клавиши

Ctrl + Alt + T = консоль в GUI
Shift + Ctrl + C / Shift + Ctrl + V = копировать вставить
Tab = автозавершение ввода

Общие команды

Полное обновление

# sudo apt update && sudo apt full-upgrade && sudo apt autoremove && sudo apt autoclean && sudo apt clean

Выключение или перезугрузка (аргумент -r)

# shutdown -r now

Установка консольной оболочки Midnight Commander (интерфейс, аналогичный Norton Commander для Dos)

# sudo apt-get install mc

Консольный браузер

# sudo apt install elinks

Все сетевые интерфейсы

# ip addr

Установка из пакета *.deb

# dpkg -i

Смена пароля

# passwd

Выход из сеанса

# exit

Очистить терминал

# clear

Работа с файловой системой

При указании имен файлов можно использовать спец символы:

* - любое количество символов
? - один символ в имени файла

Смена владельца, если ошибка доступа к файлу

# sudo chown -R [пользователь] [каталог или файл]

Вывод списка файлов каталога

# ls -l 
  -lh - размер файлов в нормальном виде.
  -R - рекурсивно вложенные файлы.
  -a - отображать скрытые (перед имененм стоит точка)

Список файлов в порядке «последние использованные - снизу» с информацией о правах и времени их модификации

# ls –lhatr

Смонтированные разделы и процент занятого места

# df -h

Узнать текущий каталог

# pwd 

Смена каталога

# cd

На уровень выше. Пробел после cd

# cd ..

Вывод содержимого файла/потока целиком

# cat

Вывод по страницам

# less

Создание/изменение времени файла

# touch

Текстовые редакторы

# gedit
# nano

Cоздать каталог

# mkdir 
Ключ -p - создать все директории, которые есть в пути

Удалить рекурсивно (опасно!)

# rm -r

Копирование файлов

# cp [откуда] [куда]

Перемещение файлов

# mv [откуда] [куда]

Создать файл для тестирования старой датой

# touch -d '2 Apr' test.txt

Добавить признак выполнеия к файлу (скрипту)

# sudo chmod ugo+x auto.sh

Работа с SSH

# sudo apt-get install openssh-server

Подключение по ssh с указанием логина и IP

# ssh login@0.0.0.0

Перезапуск ssh

# sudo systemctl restart ssh

Генерация пары ключей

# ssh-keygen

Безопасное копирование открытого ключа на другой комп

# ssh-copy-id -i .ssh/id_rsa.pub login@0.0.0.0

Безопасное копирование файлов на удаленный комп

# scp myfile login@0.0.0.0:/home/login/myfile

Службы

Текущие запущенные процессы

# ps 
-e - вообще все текущие процессы

Запущенные процессы в виде дерева

# pstree -p

Управляет процессами systemd

# systemctl

Архивы

Архивация в заданную папку по маске

# tar czvf Папка/ИмяАрхива.tar/gz *.txt

Архивация работающей установки Linux по ssh на удаленный компьютер.

# tar czvf - --one-file-system / /usr /var --exclude=/home/andy/ | ssh username@0.0.0.0 "cat > /home/username/archive-backup-Apr-10.tar.gz"
"/ /usr /var" - доп. папки. --exclude=/home/andy/ - исключения
--one-file-system - исключает все данные из любой файловой системы, кроме текущей.

Скрипт для перемещения файлов и удаления старых

#!/bin/bash
Archiv_Dir="/volume4/backup"
Save_Dir="/volume4/backup/safe"
FileType="zip"
OldFiles=30
mv $Archiv_Dir/*.$FileType $Save_Dir;
find $Save_Dir/*.$FileType -type f -mtime +$OldFiles -exec rm {} \;