linux 基本命令
在 Linux 系统中,掌握基本命令是高效操作和管理的关键。以下是常用的 Linux 基本命令分类及说明,涵盖文件管理、系统信息、权限控制、网络操作等核心场景:
一、文件与目录管理
命令 | 示例 | 说明 |
---|---|---|
ls |
ls -l /home |
列出目录内容,-l 显示详细信息(权限、所有者等) |
cd |
cd /var/log |
切换目录,cd ~ 返回用户主目录 |
pwd |
pwd |
显示当前工作目录的绝对路径 |
mkdir |
mkdir new_folder |
创建新目录 |
rm |
rm file.txt |
删除文件,-r 递归删除目录(如 rm -r dir/ ) |
cp |
cp file.txt /backup/ |
复制文件或目录(加 -r 复制目录) |
mv |
mv old.txt new.txt |
重命名或移动文件/目录 |
touch |
touch newfile.txt |
创建空文件或更新文件时间戳 |
find |
find /home -name "*.log" |
按名称搜索文件 |
grep |
grep "error" log.txt |
在文件中搜索文本内容 |
二、文件内容查看与编辑
命令 | 示例 | 说明 |
---|---|---|
cat |
cat file.txt |
查看整个文件内容 |
less /more |
less largefile.log |
分页查看文件(支持上下滚动) |
head /tail |
tail -f /var/log/syslog |
查看文件开头/末尾内容(-f 实时跟踪日志) |
vim /nano |
vim config.conf |
文本编辑器(nano 更简单,适合新手) |
三、系统信息与进程管理
命令 | 示例 | 说明 |
---|---|---|
df |
df -h |
查看磁盘空间使用情况(-h 人性化显示) |
du |
du -sh /home |
查看目录占用空间(-s 汇总,-h 人性化) |
top /htop |
htop |
动态查看进程和资源占用(htop 更直观) |
ps |
ps aux |
显示当前进程状态 |
kill |
kill -9 1234 |
终止进程(-9 强制终止) |
free |
free -m |
查看内存使用情况(-m 以 MB 为单位) |
uname |
uname -a |
显示系统信息(内核版本、主机名等) |
四、用户与权限管理
命令 | 示例 | 说明 |
---|---|---|
sudo |
sudo apt update |
以超级用户权限执行命令 |
su |
su - username |
切换用户(- 加载目标用户环境) |
chmod |
chmod 755 script.sh |
修改文件权限(755 表示所有者可读写执行,其他用户可读执行) |
chown |
chown user:group file.txt |
修改文件所有者或组 |
passwd |
passwd |
修改当前用户密码 |
五、网络管理
命令 | 示例 | 说明 |
---|---|---|
ifconfig /ip |
ip a |
查看网络接口信息(ifconfig 已逐渐被 ip 替代) |
ping |
ping google.com |
测试网络连通性 |
netstat /ss |
ss -tulnp |
查看端口监听状态(ss 更高效) |
curl /wget |
curl -I https://example.com |
下载文件或测试 HTTP 请求 |
ssh |
ssh user@192.168.1.100 |
远程登录服务器 |
六、压缩与归档
命令 | 示例 | 说明 |
---|---|---|
tar |
tar -czvf archive.tar.gz dir/ |
压缩目录为 .tar.gz 文件(-c 创建,-z gzip 压缩,-v 显示过程,-f 指定文件名) |
unzip |
unzip file.zip |
解压 ZIP 文件 |
七、系统服务管理
命令 | 示例 | 说明 |
---|---|---|
systemctl |
systemctl start nginx |
启动服务(适用于 Systemd 系统,如 Ubuntu 16.04+/CentOS 7+) |
service |
service nginx restart |
旧版系统(如 Ubuntu 14.04)的服务管理命令 |
journalctl |
journalctl -u nginx |
查看服务日志(Systemd 系统) |
八、其他实用命令
命令 | 示例 | 说明 |
---|---|---|
crontab |
crontab -e |
编辑定时任务(如每天备份数据库) |
alias |
alias ll='ls -l' |
创建命令别名(临时生效,写入 ~/.bashrc 可永久生效) |
history |
history |
查看命令历史记录 |
export |
export PATH=$PATH:/new/path |
设置环境变量 |
Mac 连接远程服务器
安装 docker
安装Docker Compose
1、下载Docker Compose二进制文件
- 访问Docker Compose的GitHub发布页面,找到最新稳定版本。
- 使用以下命令下载最新版本的Docker Compose(以v2.27.1为例):
bash
DOCKER_COMPOSE_VERSION=v2.27.1
sudo curl -L "https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
2、赋予可执行权限
- 下载完成后,为Docker Compose文件赋予可执行权限:
bash
sudo chmod +x /usr/local/bin/docker-compose
3、创建符号链接
- 将
docker-compose
命令链接到/usr/bin
目录,以便全局访问:
bash
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
4、验证安装
- 运行以下命令查看Docker Compose版本信息:
bash
docker-compose --version
- 如果安装成功,将显示Docker Compose的版本号。
docker设置阿里云镜像
-
- 登陆阿里云开发者平台 promotion.aliyun.com/ntms/act/ku...


运行命令:mkdir -p /etc/docker
重启服务器: systemctl restart docker
docker 基础
一、基本概念和组成
将代码环境统一绑定,实现了跨平台、跨服务器。只需要一次配置好环境,换到别的机子上就可以一键部署好,大大简化了操作。
1、镜像(image)
Docker 镜像(Image)就是一个只读的模板。镜像可以用来创建 Docker 容器,一个镜像可以创建很多容器。相当于js中的一个基础的工具类,可以创建出多个容器提供使用。
镜像信息:

列名 | 含义 | 示例值 |
---|---|---|
REPOSITORY | 镜像所属的仓库名称(标识镜像来源)。 | ubuntu 、nginx 、my-app |
TAG | 镜像的标签(版本号),默认为 latest 。 |
20.04 、latest 、v1.0 |
IMAGE ID | 镜像的唯一标识符(前12位哈希值,完整 ID 可通过 docker inspect 查看)。 |
a1b2c3d4e5f6 |
CREATED | 镜像的创建时间(相对于当前时间的时长或具体日期)。 | 2 weeks ago 、2024-01-01 |
SIZE | 镜像的大小(压缩后的存储占用空间)。 | 72.9MB 、142MB |
2、容器(container)
Docker 利用容器(Container)独立运行的一个或一组应用,应用程序或服务运行在容器里面,容器就类似于一个虚拟化的运行环境,容器是用镜像创建的运行实例。容器为镜像提供了一个标准的和隔离的运行环境,它可以被启动、开始、停止、删除。每个容器都是相互隔离的、保证安全的平台。
容器信息:

列名 | 含义 | 示例值 |
---|---|---|
CONTAINER ID | 容器的唯一标识符(缩写,完整 ID 可通过 docker ps --no-trunc 查看)。 |
a1b2c3d4e5f6 |
IMAGE | 容器基于的镜像名称(与 docker images 中的 REPOSITORY 列一致)。 |
nginx:latest |
COMMAND | 容器启动时执行的命令(默认是镜像的 ENTRYPOINT 或 CMD )。 |
"/docker-entrypoint...." |
CREATED | 容器创建后的运行时间(格式为 时长 或 YYYY-MM-DD HH:MM:SS )。 |
2 minutes ago |
STATUS | 容器的当前状态(如运行中、暂停、退出等)。 | Up 2 minutes |
PORTS | 容器暴露的端口映射(格式为 主机端口:容器端口 或 容器端口 )。 |
0.0.0.0:8080->80/tcp |
NAMES | 容器的随机名称(可通过 --name 参数自定义)。 |
hopeful_swanson |
3、仓库(repository)
仓库(Repository)是集中存放镜像文件的场所。类似于GitHub的一个公有或私有的仓库。用户可根据需求获取不同的镜像使用。
二、docker 命令
1、docker 运行
功能 | 命令 |
---|---|
启动docker | systemctl start docker |
停止docker | systemctl stop docker |
重启docker | systemctl restart docker |
查看docker状态 | systemctl status docker |
设置docker开机启动 | systemctl enable docker |
查看docker概要信息 | docker info |
查看docker总体帮助文档 | docker --help |
2、docker 镜像
功能 | 命令 |
---|---|
查看本地主机上的镜像 | docker images |
搜索远端镜像仓库镜像 | docker search 镜像名字 |
获取镜像到本地 | docker pull 镜像名字[:TAG] |
获取最新镜像到本地 | docker pull 镜像名字:latest |
删除单个镜像 | docker rmi -f 镜像ID |
删除多个镜像 | docker rmi -f 镜像名1:TAG 镜像名2:TAG |
删除全部镜像 | docker rmi -f $(docker images -qa) |
删除所有的虚悬镜像 | docker image prune |
3、docker 容器
功能 | 命令 | 举例 |
---|---|---|
启动容器 | docker run 镜像名[:TAG] |
docker run nginx:latest |
启动并设置镜像名称 | docker run --name 自定义名称 镜像名[:TAG] |
docker run --name test_niginx nginx:latest |
启动并后台运行 | docker run -d 镜像名[:TAG] |
docker run -d nginx |
启动并设置映射端口 | docker run -p 对外端口:镜像暴露端口 镜像名[:TAG] |
docker run -p 8888:80 nginx |
复合命令 | docker run --name test_nginx -d -p 8888:80 nginx |
|
查看全部的容器 | dock ps |
|
停止容器 | docker stop [CONTAINER ID/IMAGE/NAMES] |
4、docker 交互式容器【可编辑文件】
例如:docker run -it centos /bin/bash
参数说明:
-i: 交互式操作。
-t: 终端。
centos : centos 镜像。
/bin/bash:放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 /bin/bash。
要退出终端,直接输入 exit:
退出容器操作:
两种退出方式
exit
run进去容器,exit退出,容器停止
ctrl+p+q
run进去容器,ctrl+p+q退出,容器不停止
三、dockerFile
是什么?
Dockerfile是用来构建Docker镜像的文本文件,是由一条条构建镜像所需的指令和参数构成的脚本。
为什么?
由于dockerHub中的镜像为通用的镜像,大多数都不满足我们项目的docker镜像的要求。那么就需要自定义项目docker镜像,从而实现项目不同系统环境的部署运行。
怎么做?
-
- 每条保留字指令都必须为大写字母且后面要跟随至少一个参数
-
- 指令按照从上到下,顺序执行
-
- #表示注释
-
- 每条指令都会创建一个新的镜像层并对镜像进行提交
DockerFile常用保留字指令
参考tomcat8的dockerfile入门
指令 | 用途 | 关键注意事项 |
---|---|---|
FROM |
指定基础镜像 | 必须为第一条指令 |
LABEL |
添加元数据 | 替代废弃的 MAINTAINER |
ENV /ARG |
设置环境变量/构建参数 | ARG 仅构建阶段有效 |
WORKDIR |
设置工作目录 | 推荐绝对路径 |
COPY /ADD |
复制文件到镜像 | 优先用 COPY (除非需解压或下载) |
RUN |
执行构建命令 | 合并命令减少层数 |
EXPOSE |
声明容器端口 | 需配合 docker run -p 使用 |
CMD |
默认启动命令 | 可被 docker run 覆盖 |
ENTRYPOINT |
固定启动命令 | 与 CMD 配合传递参数 |
HEALTHCHECK |
容器健康检查 | 定义服务可用性检查 |
多阶段 FROM |
优化镜像体积 | 分离构建和运行环境 |
镜像制作
docker build [选项] -t <镜像名称>:<标签> <构建上下文路径>
docker build -t my-nginx:latest .
简单示例
文件目录

nginx.conf
js
server {
listen 80;
server_name localhost;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
try_files $uri $uri/ /index.html;
}
}
dockerFile 配置
js
# 使用官方的nginx镜像作为父镜像
FROM nginx:alpine
# 删除默认的nginx网站配置文件
RUN rm /etc/nginx/conf.d/default.conf
# 复制构建后的前端文件到nginx的html目录
COPY ./dist /usr/share/nginx/html
# 复制nginx配置文件到容器中
COPY ./nginx.conf /etc/nginx/conf.d/default.conf
# 暴露80端口
EXPOSE 80
# 启动nginx服务
CMD ["nginx", "-g", "daemon off;"]
制作镜像
docker build -t fe-dev:latest .

