##### RabbitSVC SVN
Решение проблемы с постоянной авторизацией:
```bash
$ sudo add-apt-repository ppa:philippun/stuff
$ sudo apt update
$ sudo apt install python3-svn
```
##### Сеть
Сканирование сети:
```bash
$ sudo arp-scan --interface=eno1 --localnet
```
Добавить сетевой интерфейс
```bash
sudo ifconfig eno1:1 192.168.24.30
```
##### О системе
https://losst.pro/sbor-informatsii-o-sisteme-ubuntu
```bash
$ hostnamectl # версия ОС, ядра
$ cat /proc/cpuinfo
$ lsb_release -a
$ uname -a # версия ядра
$ df -h # место на дисках
```
##### Полезное
```bash
$ obsidian & # запуск программы в фоне
$ ctrl + l # очистка экрана
```
Утилиты
**xxd** - вывод содержимого файлов в hex и bin форматах
```bash
$ xxd my_file.txt
$ xxd -с 1 -b my_file.txt
# -b - выводит в двоичном формате
# -c 1 - вывод по одному символу
# -p - убрать справочную информацию
$ xxd -r -p file_in file_out # обратное преобразование
```
Командная строка
Создание и удаление
```bash
$ true > file.txt # создает пустой файл
$ echo "hello world" > file.txt # создает файл и пишет строку
$ touch {1..50} # создает 50 файлов с именами от 1 до 50
$ mkdir -p folder1/folder2/folder3 # создает вложенные директории
$ mkdir -p folder1/{folder2, folder3}/folder4 # второй способ
$ ls -R folder1 # рекурсивные вывод содержимого
$ tree folder1
$ echo ?.txt # выведет имена файлов только с 1 символом
$ # ? - это только один символ
$ touch user_{ivan, akex, petr}.txt # создает 3 файлв с именами по шаблону
$ echo now is $(date) # вывод результата команды через $
$ rm *.txt # удаляет файлы по маске
```
Разное
```bash
$ du -sh /usr/bin # вывод размера директории /usr/bin
$ du -sh /usr/bin/* # вывод размера всех нескрытых файлов в /usr/bin
$ du -sh /usr/bin/* | sort -h | less # сортировка по размеру файлов
$ !du # команда du выполнится с предыдущими аргументами
$ cd - # Вернуться в предыдущую директорию
$ wc -l # считает количество строк переданных команде wc
$ export # выводит переменные окружения
$ export EDITOR=nano # установка переменной окружения
$ export "export EDITOR=nano" >> ~./bashrc # установить текстовый редактор по умолчанию
$ head -n10 file.txt # вывести 10 первых строк файла
$ tail -n10 file.txt # вывести 10 последних строк файла
$ cut -c 1-10 file.txt # выведет с 1-ого по 1-ый символы из каждой строчки файла
$ watch -n 1 date # запускает каждую секунду команду date
$ watch -g "df -h" # перезапускает команду df пока не изменится ее вывод
````
История команд
```bash
$ history # выводит историю команд
$ history | less # листать историю команд
$ !25 # выполнить команду под номером 25
$ !! # повтороить предыдущую команду
$
```
Редактирование команд
```bash
$ ctrl + a # переход в начало строки
$ ctrl + e # переход в конец строки
$ ctrl + w # удаление по словам
```
Потоки ввода/вывода
```bash
$ echo hello world > 1.txt
$ echo new line >> 1.txt # дозаписать файл
$ cat 1.txt 2.txt > 3.txt # поместить содержимое двух файлов в третий
$ tac 3.txt # выводит файл в обратном порядке
$ ls nonexistent_file 2> 4.txt # перенаправить поток ошибок stderr в файл
$ ls nonexistet_file &> 4.txt # оба потока stdout и stderr в файл
$ cat < 1.txt # передача в stdin
$ ls -la | tee output.txt # сохранит вывод ls в файл output.txt
```
Пользователи
```bash
$ whoami # выводи имя пользователя
$ cd # переход в домашнюю директорию пользователя
```
Статистика и информация
```bash
$ stat file.txt # вывод статистики
$ ls -l --time-style=full-iso file.txt # время выводится в полном формате
$ ls -l --time=atime file.txt # вывод времени доступа
```