22
0

开发过程常用命令记录

2026-05-11
2026-05-14

开发过程常用命令记录

一、linux运维常见的命令

1、系统常用命令

1.1 linux 快捷链接

ln -s /mnt/bigdisk/dev_workspace/dev_running_data/1panel/ 1panel

 root@lckfb:~# ll
 ​
 total 172
 ​
 dr-xr-x--- 11 root root  4096 May 11 23:19 ./
 ​
 drwxr-xr-x 25 root root  4096 Jan 15 23:03 ../
 ​
 lrwxrwxrwx  1 root root    51 May 11 12:02 1panel -> /mnt/bigdisk/dev_workspace/dev_running_data/1panel/

1.2、系统注册服务查看

 systemctl status
 systemctl start docker
 systemctl restart docker
 systemctl stop docker

1.3、常见的终端工具

 ​
 [screen] 终端复用功能最强
 查看有哪些会话在跑             screen -ls
 重新连进去(只有一个会话时)    screen -r
 重新连进去(有多个会话时)      screen -r mytask
 强制连(会话状态异常时)        screen -d -r mytask
 结束会话                      进去后输入 exit 或按 Ctrl+D
 ​
 ​
 [tumx] 更加现代化的工具
 查看所有会话             tmux ls
 重新连进去               tmux attach -t mytask
 结束会话                 tmux kill-session -t mytask
 创建会话的同时给它起名    tmux new -s mytask
 ​
 [nohup] 上古神器
 nohup 你的命令 &
 # 举例:运行 Python 脚本,并把输出存到 mylog.log
 nohup python train.py > mylog.log 2>&1 &
 ​
 ---
 &   放到后台运行
 > 文件名   标准输出(正常日志)写到这个文件
 2>&1    错误信息也写到同一个文件(不然可能悄无声息地出错你都不知道)
 nohup   忽略挂断信号,关终端不会杀它
 ---
 ​
 ​
 关掉终端后程序继续跑  
 │  【screen】                                                 │
 │  screen -S 名字       # 创建                                │
 │  Ctrl+A 然后 D        # 分离(关键!)                      │
 │  screen -r 名字       # 重连                                │
 │  screen -ls           # 查看所有                            │
 │                                                             │
 │  【tmux】                                                   │
 │  tmux new -s 名字     # 创建                                │
 │  Ctrl+B 然后 D        # 分离                                │
 │  tmux attach -t 名字  # 重连                                │
 │  tmux ls              # 查看                                │
 │                                                             │
 │  【nohup】(简单任务)                                       │
 │  nohup 命令 > 日志 2>&1 &                                   │
 │  tail -f 日志         # 查看输出                            │
 └─────────────────────────────────────────────────────────────┘

1.4、系统命令手册查看

 man
 help

1.5、常用的操作命令

 tar 
 zip
 rpm
 lsblk
 free
 top
 ssh
 watch
 tail
 cat
 less
 vim
 nano
 fdisk
 mount
 ln

1.6、配合调试其他系统的命令

 adb
 telnet
 curl
 ping 
 tracert

二、docker

2.1、show doker active server status

 [root@192 ~]# docker system df
 TYPE                TOTAL               ACTIVE              SIZE                RECLAIMABLE
 Images              13                  5                   10.67 GB            8.544 GB (80%)
 Containers          10                  2                   131.6 kB            131.6 kB (99%)
 Local Volumes       2                   0                   132 kB              132 kB (100%)
 ​
 查看特定容器的资源使用情况
 docker stats <container_id_or_name>
 ​
 ​
 查看容器的进程
 使用 `docker top` 命令可以查看容器内的进程:
 ​
 查看容器的事件
 使用 `docker events` 命令可以实时查看 Docker 守护进程的事件:

2.2、export all docker images

 bash
 复制代码运行
 docker save -o all_images.tar $(docker images -q)
    
 这个命令会将所有镜像打包成一个名为all_images.tar的文件。其中,docker images -q用于获取所有镜像的ID,然后通过docker save命令将这些镜像保存到指定的文件中。

2.3、docker compose 的升级

 curl -SL https://github.com/docker/compose/releases/download/v2.29.4/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose
 ​
 chmod +x /usr/local/bin/docker-compose
 docker-compose --version

2.4、查看容器的日志

 使用 `docker logs` 命令可以查看容器的日志输出:
 ​
 查看容器的实时日志
 使用 `docker logs -f` 命令可以实时查看容器的日志输出:

2.5、查看 my_container 的详细信息:

 ```sh
 docker inspect my_container
 ```

2.6、清理现有 Docker 网络

 如果存在多个 Docker 网络或者有损坏的网络,它们可能会导致冲突。你可以列出所有的 Docker 网络并移除不必要的网络。
 ```bash
 docker network ls
 docker network rm <network_id_or_name>
 ```

2.7、docker设置内存运行

 示例:为 RocketMQ 指定 200M 内存
 ​
 ```bash
 docker run -d \
   --name rocketmq-broker \
   --memory="200m" \
   rocketmqinc/rocketmq:latest
 ```
 ​
 ​
 ```bash
 docker run -d \
   --name nacos-server \
   --memory="512m" \
   nacos/nacos-server:latest
 ```
 ​
 除了硬性的内存限制外,还可以设置一个软性限制 (`--memory-reservation`),它指定了当系统内存不足时优先分配给该容器的最小内存量。这有助于在多租户环境中更好地管理资源竞争。
 ​
 ```bash
 docker run -d \
   --name my-app \
   --memory="256m" \
   --memory-reservation="128m" \
   my-app-image:tag
 ```
 ​
 ​
 配置交换分区 (Swap)
 ​
 你还可以控制容器是否可以使用 swap 分区,以及如果使用的话,swap 的大小相对于物理内存的比例。例如,禁止使用 swap 或者设置一个合理的比例:
 ​
 ```bash
 docker run -d \
   --name my-app \
   --memory="256m" \
   --memory-swap="512m" \  # 允许最多 256M 物理内存 + 256M swap
   my-app-image:tag
 ```
 ​
 4. 使用 Docker Compose
 ​
 如果你使用 Docker Compose 来管理多个服务,可以在 `docker-compose.yml` 文件中定义每个服务的资源限制。
 ​
 ```yaml
 version: '3'
 services:
   rocketmq-broker:
     image: rocketmqinc/rocketmq:latest
     container_name: rocketmq-broker
     deploy:
       resources:
         limits:
           memory: 200M
     # ...其他配置项...
   
   nacos-server:
     image: nacos/nacos-server:latest
     container_name: nacos-server
     deploy:
       resources:
         limits:
           memory: 512M
    -- # ...其他配置项...
     
 ```
 然后使用 `docker-compose up -d` 启动这些服务。


评论