- контесты
- проект (будет куратор)
- лекционные контрольные
- мини-тесты
- база
- паттерны и антипаттерны
- code-style
- узнать лучшие практики
- WSL
- вторая ОС на одной машине
- ВМ
- Docker
- / - корень
- /home/USER - домашние папки
- /etc - конфигурационные файлы всех программ, которые установлены в системе
- /usr - директория, в которой создается вторичная иерархия для данных пользователя (user system resources)
- /usr/bin - программы для всех пользователей
- /usr/local - третичная иерархия, все то же самое
- /usr/lib - библы
- /usr/include - заголовки
- /var - переменные файлы: бд, кеши
- /dev - файлы устройств
- /prop - файлы процессов
- /tmp, /opt - прочая лабуда
- C:/ - disk
- C:/Windows - system folder
- C:/Users/USER - user folder
- можно сделать все из терминала
- есть много кастомных версий терминала (tmux)
- touch
- ls
- mkdir
- cp FROM WHERE
- cd
- rm
- pwd
- wc FILENAME - word count
- man
- cp *.txt dest - скопировать все файлы .txt в dest
- rm dest/*.txt - удалить все файлы .txt в dest
- touch - создать
- command > input - запись вывода command в input
- command >> input - добавление вывода command в input
- cat test - печать содержимого файла
- less / more - просмотр файлов с прокруткой
- command 2 > input - запись stderr в input
- cmd1 | cmd2 - перенаправление stdout cmd1 в stdin cmd2
- скрипт - последовательность команд
- чтобы автоматизировать повторяющиеся действия
- запуск скрипта myprog -> ./myprog или sudo ./myprog
- пользователя - read, write. execute
- группы пользователя - read, write. execute
- всех пользователей - read, write. execute
- посмотреть права файла можно через ls -lah
- менять права командой chmod (+x для запуска)
- htop - список процессов
- tree - дерево файлов
- realpath - путь до файла
- watch - повторение команды
- sudo MANAGER install PACKAGE
- $0 - имя скрипта
- $1-$9 - первые 9 аргументов
- $# - кол. аргументов
- $@ - список всех аргументов
- $? - статус последней завершенной команды
- $USER - имя пользователя
- $HOSTNAME - имя компа
- $SECONDS - время со старта текущего скрипта
- $LINENO - номер строки в скрипте
- $PATH - путь к исполняемым файлам (не надо писать полный путь)
- $HOME - путь к домашней директории
- $PWD - текущая директория
- $LANG - язык системы (локаль - Locale)
- $SHELL - используемая утилита для скриптов (изначально - Bash)
- $LD_LIBRARY_PATH - где лежат библиотеки
- Разделитель :
- арифметические операции над целыми делать в (( expression ))
- для вещественных чисел есть команда bc
x = 'A B C'
for var in $x
do
echo $var
done
myfunc () {
echo inside $1
}
myfunc myarg
- shift
- [