有些Linux命令或者参数还是蛮有用但是不常用的,需要记录一下,这样就不用到处找了。
关机命令: 1、halt 立刻关机
重启命令: 1、reboot
Terminal SCREEN(后台挂起) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 #  查询screen提示 screen -help #  查看在后台运行的终端 screen -ls #  使用screen -R命令,如果不存在则创建一个screen,如果存在则会直接进入 #  使用-S创建和直接输入screen创建的虚拟终端,不会检录之前创建的screen screen -R Name #  -r不会创建,只会进入 screen -r [pid/name] #  分离(分离会话而不终止它) 按下 Ctrl + A,然后按 D #  退出终端并释放资源,在screen内使用 exit #  使用-R/-r/-S均可,释放资源,在terminal使用 screen -R [pid/Name] -X quit 
SCREEN绑定键 在虚拟终端内,输入Ctril + a将等待接受预先设置的绑定键 ,这个时候可以输入对应的一些命令,来操作虚拟终端,如:
d:保存会话,后台运行改虚拟终端,返回terminal 
k:关闭对话,等同输入:exit 
c:新建一个虚拟终端 
?:显示所有绑定键盘 
 
安装
1 2 3 4 5 6 7 8 9 安装:apt-get install cron 启动:service cron start 重启:service cron restart 停止:service cron stop 检查状态:service cron status 查询cron可用的命令:service cron 检查Cronta工具是否安装:crontab -l 设置 cron 服务在系统启动时自动启动:systemctl enable cron 立即启动 cron 服务:systemctl start cron 
crond  命令每分钟会定期检查是否有要执行的工作,如果有要执行的工作便会自动执行该工作。
1 2 3 4 5 6 7 8 crontab [ -u user  ] file  crontab [ -u user  ] { -l  | -r | -e } -u user:用来设定某个用户的crontab服务 -e : 执行文字编辑器来设定时程表,内定的文字编辑器是 VI,如果你想用别的文字编辑器,则请先设定 VISUAL 环境变数来指定使用那个文字编辑器(比如说 setenv VISUAL joe) -r : 删除目前的时程表 -l : 列出目前的时程表 cat /etc/crontab 
直接使用 crontab -e 进入编辑模式即可新建任务,每个任务格式如下:
1 2 3 4 5 6 7 m    h    dom  mon  dow   command |     |     |     |     | |     |     |     |    +----- 星期中星期几 (0 - 6) (星期天 为0)       |     |    +---------- 月份 (1 - 12)       |    +--------------- 一个月中的第几天 (1 - 31)     +-------------------- 小时 (0 - 23) +------------------------- 分钟 (0 - 59) 
mail(邮件) 安装,之后配置防火墙并重启
1 2 sudo apt-get install mailutils sudo apt install ssmtp 
编辑ssmtp配置
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 sudo vim /etc/ssmtp/ssmtp.conf # # #  Make this empty to disable  rewriting. root=Overstars@foxmail.com #  The place where  the mail goes. The actual machine name is required no #  MX records are consulted. Commonly mailhosts are named mail.domain.com mailhub=smtp.qq.com:465 AuthUser=Overstars@foxmail.com AuthPass=生成的QQ授权码 UseTLS=Yes hostname=overstars 
QQ邮箱授权码可以在 邮箱设置-账号-POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务 中开启,也可参考SMTP/IMAP服务 。
1 2 3 4 5 sudo vim /etc/ssmtp/revaliases ---------------------------------- #  添加以下语句 overstars:Overstars@foxmail.com:smtp.qq.com:465 # oversatrs是当前电脑的用户名 ---------------------------------- 
测试一下
1 echo "This is the mail body" | mail -s "TEST"  receive@foxmail.com 
Docker 1 2 3 4 5 6 curl -fsSL https://get.docker.com -o get-docker.sh sudo sh get-docker.sh sudo service docker start curl -fsSL https://test.docker.com -o test-docker.sh sudo sh test-docker.sh 
会提示,安装成功
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 ================================================================================ To run Docker as a non-privileged user, consider setting up the Docker daemon in rootless mode for your user:     dockerd-rootless-setuptool.sh install Visit https://docs.docker.com/go/rootless/ to learn about rootless mode. To run the Docker daemon as a fully privileged service, but granting non-root users access, refer to https://docs.docker.com/go/daemon-access/ WARNING: Access to the remote API on a privileged Docker daemon is equivalent          to root access on the host. Refer to the 'Docker daemon attack surface'          documentation for details: https://docs.docker.com/go/attack-surface/ ================================================================================ 
免sudo使用docker命令
1 2 3 sudo gpasswd -a $USER docker newgrp docker docker ps 
卸载 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 sudo systemctl stop docker   ps -ef | grep docker | awk '{print $2}' | xargs sudo kill -s 9   sudo rm -rf /var/lib/docker   sudo rm -rf /var/run/docker   sudo rm -rf /var/run/docker.sock   sudo rm -rf /var/run/docker.pid   sudo rm -rf /etc/systemd/system/docker.service   sudo rm -rf /etc/docker/daemon.json   sudo rm -rf ~/.docker/   whereis docker sudo rm -rf /usr/bin/docker   apt-get autoremove docker docker-ce docker-engine  docker.io  containerd runc apt-get autoremove docker-ce-* dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P # 删除无用的相关的配置文件 
或者按照官方文档卸载
1 2 3 4 5 6 7 8 #  Uninstall the Docker Engine, CLI, containerd, and Docker Compose packages: sudo apt-get purge docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras #  Images, containers, volumes, or custom configuration files on your host aren't automatically removed. To delete all images, containers, and volumes:  sudo rm -rf /var/lib/docker sudo rm -rf /var/lib/containerd #  Remove source list and keyrings sudo rm /etc/apt/sources.list.d/docker.list sudo rm /etc/apt/keyrings/docker.asc 
常用命令 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 # sudo docker search keywords # docker images 查看docker镜像 docker images -a #列出本地所有的镜像 docker images -q #只显示镜像ID docker images --digests #显示镜像的摘要信息 docker images --no-trunc #显示完整的镜像信息 docker rmi hello-world #从Docker中删除hello-world镜像 docker rmi -f hello-world #从Docker中强制删除hello-world镜像 # docker ps #列出当前所有正在运行的容器 docker ps -a #列出所有的容器 docker ps -l #列出最近创建的容器 docker ps -n 3 #列出最近创建的3个容器 docker ps -q #只显示容器ID docker ps --no-trunc #显示当前所有正在运行的容器完整信息 exit #退出并停止容器 Ctrl+p+q #只退出容器,不停止容器 docker start 容器ID或容器名称 #启动容器 docker restart 容器ID或容器名称 #重新启动容器 docker stop 容器ID或容器名称 #停止容器 docker kill 容器ID或容器名称 #强制停止容器 docker rm 容器ID或容器名称 #删除容器 docker rm -f 容器ID或容器名称 #强制删除容器 docker rm -f $(docker ps -a -q) #删除多个容器 docker logs -f -t --since="2025-02-22" --tail=10 容器ID或容器名称 #查看容器日志 如:docker logs -f -t --since=”2018-09-10” --tail=10 f9e29e8455a5  -f : 查看实时日志  -t : 查看日志产生的日期  --since : 此参数指定了输出日志开始日期,即只输出指定日期之后的日志  --tail=10 : 查看最后的10条日志 docker top 容器ID或容器名称 #查看容器内运行的进程 docker inspect 容器ID或容器名称 #查看容器内部细节,更新镜像时是重要的参考配置文件 docker attach 容器ID #进到容器内 docker exec 容器ID #进到容器内 
常见报错 可能是由于网络 问题、DNS服务器问题等导致的。
1 2 3 4 #  重启试试 sudo systemctl restart docker #  检查DNS,如果显示nameserver后面没有IP地址,或者显示的IP地址有问题,可以尝试修改该文件。 cat /etc/resolv.conf 
修改Docker配置文件
1 vim /etc/ docker/daemon.json 
添加
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 {   "builder" :  {      "gc" :  {        "defaultKeepStorage" :  "20GB" ,        "enabled" :  true      }    } ,    "experimental" :  false ,    "registry-mirrors" :  [      "https://docker.hpcloud.cloud" ,      "https://docker.m.daocloud.io" ,      "https://docker.unsee.tech" ,      "https://docker.1panel.live" ,      "http://mirrors.ustc.edu.cn" ,      "https://docker.chenby.cn" ,      "http://mirror.azure.cn" ,      "https://dockerpull.org" ,      "https://dockerhub.icu" ,      "https://hub.rat.dev" ,      "https://proxy.1panel.live" ,      "https://docker.1panel.top" ,      "https://docker.m.daocloud.io" ,      "https://docker.1ms.run" ,      "https://docker.ketches.cn"    ]  } 
重启守护进程
1 sudo systemctl restart docker 
或者换源,例如登录阿里云 制品中心 看看想要的镜像,并复制制品地址(未成功,可能只能在阿里云使用)
1 2 curl -s https:// registry.cn-hangzhou.aliyuncs.com/v2/ library/nginx/ tags/list | jq 
Navidrome 新建目录
1 mkdir -p $HOME /docker/ navidrome && cd $HOME /docker/ navidrome && mkdir -p /data/m edia/music && chmod 755 -R / data/media/mu sic 
在navidrome目录下新建docker-compose.yaml 如果指定users,似乎会出现不好解决的bug ,所以删去。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 services:   navidrome:      image:  deluan/navidrome:latest      container_name:  navidrome      ports:        -  9001 :4533       volumes:        -  $HOME/docker/navidrome:/data         -  /data/media/music:/music:ro       environment:               -  ND_DEFAULTLANGUAGE=zh-Hans               -  ND_ENABLEGRAVATAR=true               -  ND_ENABLETRANSCODINGCONFIG=false                                                                            restart:  unless-stopped  
按顺序执行命令
1 2 3 4 5 6 7 8 9 10 11 12 13 docker compose up -d docker compose ps # 若报错,执行 docker-compose up -d docker-compose ps # 若修改了yaml docker-compose pull docker-compose up -d [需要更新的服务] docker image prune # 或者 docker-compose stop [service-name] docker-compose rm -f [service-name] docker-compose up -d [service-name] 
防火墙开放9001,tcp
1 2 3 4 5 6 sudo ufw status sudo ufw allow 9001 sudo ufw status verbose sudo ufw reload sudo netstat -tuln | grep 9001 
访问 IP:9001 
新建管理员用户
SHELL 1 2 3 4 5 uat: 182.119.78.15 uat2: 182.214.14.217 uatc: 182.214.93.115 查tranCode =MUIP0643 & key =cache_dispatcher_ 增/改tranCode =MUIP0642 & key =cache_dispatcher_ &value 
1 2 3 4 5 while read line do     echo $line     array=(${line// / }) done < test.txt