linux和docker的相关命令指示符

一.linux的命令指示符

1.1 目录操作命令

1.1.1 ls

语法:ls al [dir]

-a :显示所有文件,隐藏的也显示

常见用法: ll 查看当前目录文件及目录详细信息

ls -al 查看当前目录的所有文件及目录详细信息

1.1.2cd

cd .. 切换到当前的上级目录

cd ~ 切换到用户的home目录

cd /user/local 切换到/usr/local目录

1.1.3mkdir

作用:创建目录

mkdir -p 要创的目录名字 (加p确保存在,不存在创建一个)

1.1.4rm

作用:删除文件和目录

语法: rm -rf 名字 (-r查看当前目录的所有文件及目录详细信息,-f 无需确认)

1.2文件操作命令

1.2.1cat

作用:用于显示文件内容

语法: cat -n 文件名

1.2.2more

作用:以分页的形式显示文件内容

语法:more fileName

  • 操作说明:

    • 回车键 向下滚动一行
    • 空格键 向下滚动一屏
    • b 返回上一屏
    • q或者Ctrl+C 退出more

1.2.3head

作用:查看文件开头的内容 语法: head -n fileName

1.2.4 tail

作用: 查看文件末尾的内容

语法: tail -f fileName

1.3 拷贝移动命令

1.3.1 cp

作用:用于复制文件或目录

  • 语法: cp [-r] source dest

1.3.2.mv

  • 作用: 为文件或目录改名、或将文件或目录移动到其它位置

  • 语法: mv source dest

  • 举例:

    • mv hello.txt hi.txt 将hello.txt改名为hi.txt
    • mv hi.txt itheima/ 将文件hi.txt移动到itheima目录中
    • mv hi.txt itheima/hello.txt 将hi.txt移动到itheima目录中,并改名为hello.txt
    • mv itcast/ itheima/ 如果itheima目录不存在,将itcast目录改名为itheima
    • mv itcast/ itheima/ 如果itheima目录存在,将itcast目录移动到itheima目录中

1.4打包压缩命令

  • 作用: 对文件进行打包、解包、压缩、解压
  • 语法: tar [-zcxvf] fileName [files]

包文件后缀为.tar表示只是完成了打包,并没有压缩

包文件后缀为.tar.gz表示打包的同时还进行了压缩

  • 说明:

    • -z: z代表的是gzip,通过gzip命令处理文件,gzip可以对文件压缩或者解压
    • -c: c代表的是create,即创建新的包文件
    • -x: x代表的是extract,实现从包文件中还原文件
    • -v: v代表的是verbose,显示命令的执行过程
    • -f: f代表的是file,用于指定包文件的名称
  • 举例:

    • 打包

      • tar -cvf hello.tar ./* 将当前目录下所有文件打包,打包后的文件名为hello.tar
      • tar -zcvf hello.tar.gz ./* 将当前目录下所有文件打包并压缩,打包后的文件名为hello.tar.gz
    • 解包

      • tar -xvf hello.tar 将hello.tar文件进行解包,并将解包后的文件放在当前目录
      • tar -zxvf hello.tar.gz 将hello.tar.gz文件进行解压,并将解压后的文件放在当前目录
      • tar -zxvf hello.tar.gz -C /usr/local 将hello.tar.gz文件进行解压,并将解压后的文件放在/usr/local目录

1.5. 文本编辑命令

文本编辑的命令,主要包含两个: vivim,两个命令的用法类似,我们课程中主要讲解vim的使用。

1.5.1. vi & vim介绍

  • 作用: vi命令是Linux系统提供的一个文本编辑工具,可以对文件内容进行编辑,类似于Windows中的记事本

  • 语法: vi fileName

  • 说明:

    • 1). vim是从vi发展来的一个功能更加强大的文本编辑工具,编辑文件时可以对文本内容进行着色,方便我们对文件进行编辑处理,所以实际工作中vim更加常用。
    • 2). 要使用vim命令,需要我们自己完成安装。可以使用下面的命令来完成安装:yum install vim

1.5.2. vim安装

命令: yum install vim

1.5.3. vim使用

  • 作用: 对文件内容进行编辑,vim其实就是一个文本编辑器

  • 语法: vim fileName

  • 说明:

    • 1). 在使用vim命令编辑文件时,如果指定的文件存在则直接打开此文件。如果指定的文件不存在则新建文件。
    • 2). vim在进行文本编辑时共分为三种模式,分别是 命令模式(Command mode),插入模式(Insert mode)和底行模式(Last line mode)。这三种模式之间可以相互切换。我们在使用vim时一定要注意我们当前所处的是哪种模式。

1.6 查找命令

1.6.1. find

  • 作用: 在指定目录下查找文件

  • 语法: find dirName -option fileName

  • 举例:

    • find . --name "*.java " 在当前目录及其子目录下查找.java结尾文件
    • find ``/itcast`` -name "*.java" 在/itcast目录及其子目录下查找.java结尾的文件

1.6.2. grep

  • 作用: 从指定文件中查找指定的文本内容

  • 语法: grep word fileName

  • 选项:

    • -i: 检索的关键字忽略(ignore)大小写
    • -n: 显示关键字所在的这一行的行号
    • -A: 输出关键字所在行及之后(After)的几行记录 (如:-A5 表示输出关键字所在行之后的5行记录)
    • -B: 输出关键字所在行及之前(Before)的几行记录 (如:-B5 表示输出关键字所在行之前的5行记录)
  • 举例:

    • grep Hello HelloWorld.java 查找HelloWorld.java文件中出现的Hello字符串的位置
    • grep hello *.java 查找当前目录中所有.java结尾的文件中包含hello字符串的位置

二.Docker

2.1. 部署MySQL

首先,我们利用Docker来安装一个MySQL软件,大家可以对比一下之前传统的安装方式,看看哪个效率更高一些。

如果是利用传统方式部署MySQL,大概的步骤有:

  • 搜索并下载MySQL安装包
  • 上传至Linux环境
  • 解压和配置环境
  • 安装
  • 初始化和配置

而使用Docker安装,仅仅需要一步即可,在命令行输入下面的命令(建议采用CV大法):

ini 复制代码
docker run -d \
  --name mysql \
  -p 3307:3306 \
  -e TZ=Asia/Shanghai \
  -e MYSQL_ROOT_PASSWORD=123 \
  mysql:8

2.2. 常见命令

命令 说明 文档地址
docker pull 拉取镜像 docker pull
docker push 推送镜像到DockerRegistry docker push
docker images 查看本地镜像 docker images
docker rmi 删除本地镜像 docker rmi
docker run 创建并运行容器(不能重复创建) docker run
docker stop 停止指定容器 docker stop
docker start 启动指定容器 docker start
docker restart 重新启动容器 docker restart
docker rm 删除指定容器 docs.docker.com
docker ps 查看容器 docker ps
docker logs 查看容器运行日志 docker logs
docker exec 进入容器 docker exec
docker save 保存镜像到本地压缩文件 docker save
docker load 加载本地压缩文件到镜像 docker load
docker inspect 查看容器详细信息 docker inspect

2.2数据卷

命令 说明 文档地址
docker volume create 创建数据卷 docker volume create
docker volume ls 查看所有数据卷 docs.docker.com
docker volume rm 删除指定数据卷 docs.docker.com
docker volume inspect 查看某个数据卷的详情 docs.docker.com
docker volume prune 清除数据卷 docker volume prune

2.2.1挂载本地目录或文件

可以发现,数据卷的目录结构较深,如果我们去操作数据卷目录会不太方便。在很多情况下,我们会直接将容器目录与宿主机指定目录挂载。挂载语法与数据卷类似:

bash 复制代码
# 挂载本地目录
-v 本地目录:容器内目录

# 挂载本地文件
-v 本地文件:容器内文件

注意 :本地目录或文件必须以 /./开头,如果直接以名字开头,会被识别为数据卷名而非本地目录名。

例如:

bash 复制代码
-v mysql:/var/lib/mysql # 会被识别为一个数据卷叫mysql,运行时会自动创建这个数据卷

-v ./mysql:/var/lib/mysql # 会被识别为当前目录下的mysql目录,运行时如果不存在会创建目录

删除并重新创建mysql容器,并完成本地目录挂载:

  • 挂载/root/mysql/data到容器内的/var/lib/mysql目录
  • 挂载/root/mysql/init到容器内的/docker-entrypoint-initdb.d目录(初始化的SQL脚本目录)
  • 挂载/root/mysql/conf到容器内的/etc/mysql/conf.d目录(这个是MySQL配置文件目录)

在课前资料中已经准备好了mysql 的init目录、conf目录、data目录,可以直接将其上传到Linux服务器中的 /root/mysql 目录下。

最终执行的指令如下:

diff 复制代码
docker run -d \
--name mysql \
-p 3307:3306 \
-e MYSQL_ROOT_PASSWORD=123 \
-e TZ=Asia/Shanghai \
-v /root/mysql/data:/var/lib/mysql \
-v /root/mysql/init:/docker-entrypoint-initdb.d \
-v /root/mysql/conf:/etc/mysql/conf.d \
mysql:8
```**


 
 
 
相关推荐
杨DaB4 分钟前
【SpringMVC】拦截器,实现小型登录验证
java·开发语言·后端·servlet·mvc
努力的小雨7 小时前
还在为调试提示词头疼?一个案例教你轻松上手!
后端
魔都吴所谓7 小时前
【go】语言的匿名变量如何定义与使用
开发语言·后端·golang
陈佬昔没带相机7 小时前
围观前后端对接的 TypeScript 最佳实践,我们缺什么?
前端·后端·api
Livingbody9 小时前
大模型微调数据集加载和分析
后端
Livingbody9 小时前
第一次免费使用A800显卡80GB显存微调Ernie大模型
后端
Goboy10 小时前
Java 使用 FileOutputStream 写 Excel 文件不落盘?
后端·面试·架构
Goboy10 小时前
讲了八百遍,你还是没有理解CAS
后端·面试·架构
麦兜*11 小时前
大模型时代,Transformer 架构中的核心注意力机制算法详解与优化实践
jvm·后端·深度学习·算法·spring·spring cloud·transformer
树獭叔叔11 小时前
Python 多进程与多线程:深入理解与实践指南
后端·python