Cron
crontab -e | - добавить задачи | |
---|---|---|
crontab -l | - посмотреть задачи cron для суперпользователя | |
crontab -r | - удалить все существующие задачи | |
* * * * * /path/to/serve | - запуск скрипта serve на исполнение каждую минуту | |
0 * * * * /path/to/serve | - каждый час, в нулевую минуту | |
0 0 * * * /path/to/serve | - в нулевую минуту нулевого часа, каждый день, это в 12 ночи | |
0 0 1 * * /path/to/serve | - в первый день каждого месяца | |
0 0 15 * * /path/to/serve | - в любой день 15 числа | |
0 0 * 1 0 /path/to/serve | - В первый день недели первого месяца года, 0 часов 0 минут | |
0 0 * * 0 /path/to/serve | - в нулевой день недели каждого месяца | |
0 7-19 * * * /path/to/serve | - каждый час, с семи утра до семи вечера | |
5,35 16 * * * /path/to/serve | - запустим скрипт в 5 и 35 минут пятого (16:05 и 16:35), каждый день | |
*/10 * * * * /path/to/serve | - запускать скрипт раз в 10 минут | |
@hourly /path/to/serve | - запуск скрипта раз в час | |
@reboot | - при загрузке, только один раз | |
@yearly, @annually | - раз год | |
@monthly | - раз в месяц | |
@weekly | - раз в неделю | |
@daily, @midnight | - каждый день | |
@hourly | - каждый час |
Docker
docker ps | - показать запущенные контейнеры | |
---|---|---|
docker ps -a | - показать все контейнеры | |
docker stop container_name | - остановить контейнер | |
docker restart container_name | - перезапуск контейнера | |
docker stop container_1 container_2 | - остановка нескольких контейнеров | |
docker ps -q | xargs docker stop | - остановка всех работающих контейнеров | |
docker rm container_name | - удаление контейнера | |
docker run --rm container_name | - удаление контейнера после его остановки | |
docker ps -a -f status=exited | - удаление всех остановленных контейнеров | |
docker images -a | - список всех образов | |
docker rmi Image1 Image2 | -удаление образов | |
docker rmi $(docker images -a -q) | -удаление всех образов | |
docker build -t myapp . | - собрать образ | |
docker run -d -p 5000:5000 myapp | - запуск на порту 5000 |
FFmpeg
Выбрать нужный фрагмент видео:
ffmpeg -i 2.mp4 -ss 00:00:00 -to 00:03:00 -c copy out.mp4
Если у нас видео в формате mp4 или в чем-то похожем, то для начала предварительно преобразуем видео в формат .ts:
ffmpeg -i video1.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts tmp1.ts
И затем склеиваем эти видео без перекодировки:
ffmpeg -i "concat:tmp1.ts|tmp2.ts" -vcodec copy -acodec copy output.mp4
Сжать видео: 30 - уменьшает в два раза, кач-во почти не меняется. 40 - в пять раз сжимает, кач-во приемлемо -preset slow - если убрать то скорость в 1,5 раза быстрее, но качеcтво сжатия хуже
ffmpeg -i video.mp4 -c:v libx264 -preset slow -crf 18 -c:a copy out.mp4
Rename
rename 's/^....//' * | - удаляет первые четыре символа |
---|
GIT
git init | - инициализация проекта | |
---|---|---|
git add . | - добавить все файлы в индекс | |
git commit -m "comment " | - коммит с комментарием | |
git commit -a -m "comment " | - коммит с комментарием и добавлением в индекс | |
git remote add origin https://github.com/user_name/project_name/git | - подключение к удаленному репозиторию | |
git push -u origin master | - залиаем локальный проект на github | |
git push origin master | - добавить изменения на github | |
git clone https://github.com/user_name/project_name.git | - - скачать проект с github на локальный pc | |
git pull | - скачать изменения с github на локальный pc | |
git checkout -b branch-name | - создать ветку с именем branch-name и переключиться на нее | |
git push -u origin branch-name | - залить ветку в удаленный репозиторий | |
git clone https://github.com/user_name/project_name/git branch-name | - склонировать ПОЛНОСТЬЮ весь репозиторий и просто переключиться на ветку branch-name | |
git clone --branch=branch-name https://github.com/user_name/project_name/git | - склонировать ТОЛЬКО конкретную ветку branch-name |