docker
当遇到服务器安装mysql百试不灵的时候,想起了docker,真香~
狂神 b站
HYPERLINK https://www.kuangstudy.com/bbs/1450464478264135682 normalLink Docker 快速入门(精讲)
docker的基本命令
安装 docker并使用 docker安装 mysql
docker run -it centos /bin/bash:启动centos容器并进入(exit退出当前容器,退出容器但是不停机:Ctrl + P + Q)
常用命令
进入容器
docker exec -it 容器id /bin/bash
docker exec -it $(docker ps|grep 'nginx'|awk '{print $1}') /bin/bash
docker ps 参数使用
-a,——all显示所有容器(默认显示正在运行)
-f,——filter filter根据提供的条件过滤输出
——format string使用Go模板美化打印容器
-n,——last int显示n个最近创建的容器(包括所有
州)(默认为1)
-l,——latest显示最近创建的容器
所有国家)
——no-trunc不要截断输出
-q,——quiet只显示容器id
-s,——size显示文件总大小
docker run命令
运行nginx
匿名挂载ngin部署
docker run -d -p 8080:80 --name nginx88 -v nginx-volume-conf:/etc/nginx -v nginx-volume-html:/usr/share/nginx/html -v nginx-volume-log:/var/log/nginx nginx
run --rm
显示最近创建的容器id
docker ps -lq
查看容器的挂载目录
docker inspect b7ba658432c3 | grep Mounts -A 10
批量停止docker
docker stop $(docker ps -a | grep "fmm" | awk '{print $1}')
docker rm $(docker ps -a | grep "fmm" | awk '{print $1}')
docker+ffmpeg 使用
m3u8(hls) 直播流保存为 mp3文件
#运行ffmpeg命令并将本机的/localDir目录,挂载到镜像中的/tmp/workdir目录
docker run -d --rm -v /localDir:/tmp/workdir jrottenberg/ffmpeg \
-i "http://ngcdn002.cnr.cn/live/jjzs/index.m3u8" \
-b:a 128k -b:a 128k -vn \
$(date +%m%d@%H%M).mp3
用ffmpeg将m3u8转MP3
ffmpeg -hide_banner -y -i "http://ngcdn002.cnr.cn/live/jjzs/index.m3u8" -b:a 128k -b:a 128k -vn "C:\Users\Administrator\Desktop\kk\2021年11月17日08:58:51.mp3"
使用ffmpeg循环推流(可以研究)
linux
查找文件
find / -name "aa.html"
管道符(|)
查询带有关键字 root 的进程,会一条一条列出
ps -ef|grep root
在ps aux中的结果中查找media
ps aux | grep "media"
xargs
创建 aa bb cc 文件夹
echo "aa bb cc"|xargs mkdir
删除 aa bb cc 文件夹
echo "aa bb cc"|xargs rmdir
根据arg.txt 每行内容创建.jpg文件
cat arg.txt |xargs -n1 -I {} touch {}.jpg
创建文件并向文件内插入数据
touch c.txt|echo "i want to you">>c.txt
授权
chmod -R 777 某一目录
-R 是指级联应用到目录里的所有子目录和文件
777 是所有用户都拥有最高权限
shell
向文件添加内容
sed -i '1i添加的内容' filename # 在第一行前添加字符串
sed -i '$i添加的内容' filename # 在最后一行行前添加字符串
sed -i '$a添加的内容' filename # 在最后一行行后添加字符串
执行脚本文件
/bin/sh
函数及传参
shell处理用户输入
bash shell会将一些称为位置参数的特殊变量分配给输入到命令行中的所有参数。这也包括shell所执行的脚本名称。位置参数变量是标准的数字:$0是程序名,$1是第一个参数,$2是第二个参数,依次类推,直到第九个参数$9
shell 中 '>' 与‘>>’ 的区别
定时任务
-
查看定时任务执行 10行
tail -n 10 /var/log/cron
-
动态查看定时任务执行
tail -l /var/log/cron
-
编辑定时任务
crontab -e
-
列出定时任务
crontab -l
将函数返回值转换为变量
$(data)
linux使用date命令获取系统时间
查看crontab执行记录
#在crontab 中 将日志写入指定文件夹 -x(详细记录)
22 11 * * 1-7 /usr/bin/sh -x /localDir/open_dock.sh >>/localDir/crontab.log 2>&1
23 11 * * 1-7 /usr/bin/sh -x /localDir/shut_dock.sh >>/localDir/crontab.log 2>&1
0 12 * * 1-7 /usr/bin/sh -x /localDir/open_dock.sh >>/localDir/crontab.log 2>&1
0 16 * * 1-7 /usr/bin/sh -x /localDir/shut_dock.sh >>/localDir/crontab.log 2>&1
nginx
常用命令
cd /usr/local/nginx/ sbin/
./nginx 启动
./nginx -s stop 停止
./nginx -S quit 安全退出
./nginx -s reload 重新加载配置文件
ps auxIgrep nginx 查看nginx进程
nginx如何配置多个server
/ 根目录下 超过50M大小的文件 并展示 文件详情
find / -type f -size +50M -print0 | xargs -0 du -h