文章目录
- Linux命令行 — 容器、文件操作、端口占用、nginx等
- 1、使用ifconfig 安装 net-tools
- 2、查看本机配置端口
- 3、解压文件
- 4、文件压缩打包
- 5、镜像dockerfile简单示例
- 6、打包镜像
- 7、制作容器
- 8、查看、删除镜像
- 9、查看容器
- 10、查看运行端口
- 11、容器停止、运行、重新运行、删除
- 12、镜像导出
- 13、镜像导入
- 14、修改镜像名
- 15、查看容器的运行日志
- 16、强制删除文件/文件夹
- 17、查看所有文件夹或文件
- 18、vim 编辑文件 定位至开头或结尾
- 19、查看端口占用
- 20、查看进程 / 结束进程
- 21、查看容器的目录映射
- 22、查看文件夹的目录结构
- 23、nginx重启
- 24、终端文件传输
- 25、执行文件添加权限
- 26、查看容器完整启动命令
- 27、ssh远程登录
- 28、防火墙改动导致docker工作异常
- 29、查看文件开头/结尾几行数据
- 30、nohup 命令后台运行的简单使用
- 31、Linux命令发送Http GET/POST请求
Linux命令行 — 容器、文件操作、端口占用、nginx等
注:ubuntu
安装依赖使用 apt install
或 apt-get install
,CentOS
安装依赖使用yum install
1、使用ifconfig 安装 net-tools
终端执行
apt install net-tools
2、查看本机配置端口
安装vim
终端执行
apt-get install vim
安装 net-tools后
终端执行
vim /etc/resolv.conf
编辑 :I
编辑完成退出编辑状态:Esc
保存并退出::wq
已修改不保存退出::q!
未修改直接退出::q
定位至文件开头::1
定位至文件结尾::$
删除整行:非编辑状态下双击dd
3、解压文件
tar xvf <文件名>
# tar xvf dist.tar.gz
4、文件压缩打包
tar zcvf <打包的文件名.tar.gz> 文件夹名称
# tar zcvf dist.tar.gz dist
5、镜像dockerfile简单示例
# 指定镜像的基础镜像(根据实际项目配置)
from node:10.24-slim
# 容器标签
LABEL maintainer=niceguy
# 复制指定目录到容器路径下
ADD server /opt/server
# 指定工作目录
WORKDIR /opt/server
# 设置容器的时区为东八区(北京时间)
RUN ln -sf /usr/share/zoneinfo/PRC /etc/localtime
# 环境变量 (有则加)
# ENV LD_LIBRARY_PATH=/opt/xx
# 暴露端口
EXPOSE 6006
# 指定镜像的默认入口 / 启动命令
ENTRYPOINT ["npm","run","start"]
dockerfile入门 https://blog.csdn.net/wohu1104/article/details/85227644
6、打包镜像
docker build -f dockerfile -t <镜像名:v1.0> .
7、制作容器
docker run -dt --name <容器名> --restart=always -p 7001:7002 -p 16379:6379 -v /opt/server/config:/opt/server/config <镜像名:镜像版本>
7001后端监听端口,80nginx前端代理端口,16379为6379的映射端口(redis端口暴露,无需要可删除)
-v 容器文件映射
8、查看、删除镜像
查看
docker images
删除
docker rmi <imageID>
9、查看容器
docker ps -a
10、查看运行端口
docker ps
11、容器停止、运行、重新运行、删除
#停止
docker stop <容器名或容器ID>
#运行
docker run <容器名或容器ID>
#重启
docker restart <容器名或容器ID>
#删除 -f 是容器未停止时强制删除
docker rm -f 容器名
12、镜像导出
docker save 镜像名:版本 | gzip > 打包镜像文件名.tar.gz
13、镜像导入
docker load -i 打包镜像文件名.tar.gz
or
docker load < 打包镜像文件名.tar.gz
14、修改镜像名
docker tag 原名:版本 修改后名:版本
15、查看容器的运行日志
# -f 查看实时 --since 指定时间 (可指定往前的时间如 --since="10m" 10分钟前)
docker logs -f --since="2022-07-13" 容器名
16、强制删除文件/文件夹
#单个
rm -rf <文件/文件夹名>
#多个 * 为<文件/文件夹名>相同,后一段名称不同的所有文件,如rm -rf 202204* 即名称前半部分等于202204的所有文件
rm -rf <文件/文件夹名>*
#所有 谨慎操作,不能恢复哦
rm -rf *
#
rsync --delete-before -aH --stats [自己创建空的文件夹]/ [要删除的文件夹]/
17、查看所有文件夹或文件
ls
#或 ll可查看文件修改时间
ll
18、vim 编辑文件 定位至开头或结尾
定位至开头:非编辑状态下终端输入:1
定位至末尾:费编辑状态下终端输入:$
19、查看端口占用
# 所有
netstat -tunlp | grep 端口号
# tcp
netstat -antp | grep 端口号
# udp
netstat -anup | grep 端口号
20、查看进程 / 结束进程
20.1 查看进程
ps命令(Linux ps命令用于显示当前进程 (process) 的状态信息)
Linux ps命令: https://www.runoob.com/linux/linux-comm-ps.html
#显示进程
ps
# 显示进程信息
ps -A
# 显示指定用户进程信息 niceguy用户名
ps niceguy
# 显示所有进程信息
ps -ef
# 查找指定进程,包括启动的命令行参数
ps -ef | grep 进程关键字
# 显示nginx所有进程(解决nginx进程杀不死的问题-直接kill -9 PID 就能杀死进程)
ps -A|grep nginx
20.2 杀死(结束)进程
# 杀死进程
kill PID进程
# 强制杀死进程
kill -KILL PID进程
# 彻底杀死进程
kill -9 PID进程
# 杀死指定用户所有进程
## 1.过滤用户进程
kill -9 $(ps -ef | grep niceguy)
## 2.直接杀死
kill -u niceguy
21、查看容器的目录映射
docker inspect <docker_name> | grep Mounts -A 50
22、查看文件夹的目录结构
#查看第一层目录 1代表具体到哪一层
tree -L 1
23、nginx重启
进入到 nginx/sbin目录下
nginx -s reload
或
# sbin目录下
# 停止
nginx -s stop
# 启动
./nginx
24、终端文件传输
rz 、sz 或使用 xftp
从本地传入服务器
rz -E
从服务器传入本地
sz -E 文件名
25、执行文件添加权限
chmod +x -R *
26、查看容器完整启动命令
docker ps -a --no-trunc |grep 容器名
27、ssh远程登录
https://blog.csdn.net/m0_71521555/article/details/125896994[linux的SSH(远程登录)服务]
28、防火墙改动导致docker工作异常
如报错:Error response from daemon: driver failed programming external connectivity on endpoint obd-server (34718d7429f835e8abade76c7d23933d0faf7126806bfffff198cafbbe103353): (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 127.0.0.1 --dport 7001 -j DNAT --to-destination 192.168.0.2:7001 ! -i docker0: iptables: No chain/target/match by that name.
docker服务启动时定义的自定义链DOCKER,当 firewall 被清掉时,firewall的底层是使用iptables进行数据过滤,建立在iptables之上,这可能会与 Docker 产生冲突。当 firewalld 启动或者重启的时候,将会从 iptables 中移除 DOCKER 的规则,从而影响了 Docker 的正常工作。因此,防火墙改动后需要使用systemctl restart docker
重启docker。
29、查看文件开头/结尾几行数据
语法:head/tail -n 文件名
开头10行数据
head -10 error.txt
最新10条数据
tail -10 error.txt
30、nohup 命令后台运行的简单使用
语法: nohup Command [ Arg … ] [ & ]
参数:
命令 | 释义 |
---|---|
Command | 要执行的命令 |
Arg | 一些参数,可以指定输出文件 |
& | 让命令在后台执行,终端退出后命令仍旧执行 |
例子:
nohup /root/runoob.sh &
停止运行,找到进程PID使用kill杀死进程
ps -aux | grep "runoob.sh"
或
ps -def | grep "runoob.sh"
参考:
1、https://www.runoob.com/linux/linux-comm-nohup.html