Linux的命令和Docker的命令记录

Linux

1. 文件基础操作

基本命令格式:

  • Linux 命令格式: command ``[``-options``] [``parameter``]
  • tab补全最临近符合命令 双tab做相关提示

1.1.目录操作

1.1.1查看目录下的内容
  • 语法: ls [-al] [dir]

ls

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

diff 复制代码
-> 说明:
  -a 显示所有文件及目录 (. 开头的隐藏文件也会列出)
  -l 除文件名称外,同时将文件型态(d表示目录,-表示文件)、权限、拥有者、文件大小等信息详细列出

-> 特殊说明:
   ~        表示用户的home目录
   .         表示目前所在的目录
   ..        表示目前目录位置的上级目录
1.1.2 cd [进入指定文件]
  • 语法: cd [dirName]

注 : 其他用户位置 /home/xxx

1.1.3 mkdir [创建目录]
  • 语法: mkdir [-p] dirName

-p: 检空命令,不存在就创建,允许多层创建

1.1.4 rm [删除文件或者目录]
  • 语法: rm [-rf] name

  • 说明:

-r: 将目录及目录中所有文件(目录)逐一删除,即递归删除

-f: 无需确认,直接删除

1.2文件操作命令

1.2.1 cat显示文件内容
  • 语法: cat [-n] fileName

-n: 由1开始对所有输出的行数编号

  • 语法: cp [-r] source[起始文件] dest[目标路径]

-r: 如果复制的是目录需要使用此选项,此时将复制该目录下所有的子目录和文件,文件夹一般使用'-r '去整个的拷贝


1.3.2 mv 文件或目录改名、或将文件或目录移动到其它位置

  • 语法: mv source dest

1.4 tar 打包压缩命令

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

常用 : tar -cvf 打包--压缩

tar -zxvf /path -C /path 解包到目的文件下

标注:
  • -z: z代表的是gzip,通过gzip命令处理文件,gzip可以对文件压缩或者解压

  • -c: c代表的是create,即创建新的包文件

  • -x: x代表的是extract,实现从包文件中还原文件

  • -v: v代表的是verbose,显示命令的执行过程

  • -f: f代表的是file,用于指定包文件的名称

补充:

-C 指定解压文件存放目录

bash 复制代码
tar -zxvf jdk-21_linux-x64_bin.tar.gz -C /usr/local/
gg 定位到文本内容的第一行
G 定位到文本内容的最后一行
dd 删除光标所在行的数据
ndd 删除当前光标所在行及之后的n行数据
u 撤销操作
插入模式(Insert mode)-->i 或 a 或 o 进入插入模式(进入后光标所处的位置不同而已)

底行模式(Last line mode):

通过命令对文件内容进行查找、显示行号、退出等操作 :符号进入模式

wq(保存并退出)、q!(不保存退出)、set nu(显示行号)

:set nonu -- 取消行号显示

:n -- 定位到第n行,如 :10 就是定位到第10行

1.6 查找命令

1.6.1 find [在指定目录下查找文件]

find dirName -option fileName

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

1.6.2 grep [从指定文件中查找指定的文本内容]

grep word fileName

  • 选项:
    • -i: 检索的关键字忽略(ignore)大小写
    • -n: 显示关键字所在的这一行的行号
    • -A: 输出关键字所在行及之后( A fter)的几行记录 (如:-A5 表示输出关键字所在行之后的5行记录)
    • -B: 输出关键字所在行及之前( B efore)的几行记录 (如:-B5 表示输出关键字所在行之前的5行记录)
安装方式 特点
二进制发布包安装 软件已经针对具体平台编译打包发布,只要解压,修改配置即可
软件已经针对具体平台编译打包发布,只要解压,修改配置即可 软件已经按照redhat的包管理规范进行打包,使用rpm命令进行安装,=不能自行解决库依赖问题=
rpm安装 种在线软件安装方式,本质上还是rp安装,自动下载安装包并安装,安装过程中自动解决库依赖问题(安装过程需要联网)
源代码编译安装 软件以源码工程的形式发布,需要自己编译打包
解包安装

例子:tar安装包:-->拆包(tar )+[引入变量(vim/etc/profile)+ 重加载(source /etc/profile) ]

rpm操作:

A. 通过rpm相关指令,来查询当前系统中是否存在已安装的mysql软件包,执行指令如下:

  • rpm -qa 查询当前系统中安装的所有软件
  • rpm -qa | grep mysql 查询当前系统中安装的名称带mysql的软件
  • rpm -qa | grep mariadb 查询当前系统中安装的名称带mariadb的软件

卸载软件的语法为:rpm -e --nodeps 软件名称

2 服务启动相关

ps -ef | grep -i 进程名 查看线程运行信息

ss -tulpn | grep :3306 查看端口相关信息

ip addr show -->查看指定网卡IP

top 查看内存情况

pwd 查看当前所在目录

netstat -tuln | grep 3306

kill -9 pid 杀死指定线程

nohup java程序

bash 复制代码
nohup java -jar tlias-web-management-0.0.1-SNAPSHOT.jar &> tlias.log &

模板: nohup command [ args ... ] [&]
- 参数说明:
  - command:要执行的命令
  - args:一些参数,可以指定输出文件
  - &:让命令在后台运行
防火墙:
操作 指令 备注
查看防火墙状态 systemctl status firewalld / firewall-cmd --state
暂时关闭防火墙 systemctl stop firewalld
永久关闭防火墙(禁用开机自启) systemctl disable firewalld 下次启动,才生效
暂时开启防火墙 systemctl start firewalld
永久开启防火墙(启用开机自启) systemctl enable firewalld 下次启动,才生效
开放指定端口 firewall-cmd --zone=public --add-port=8080/tcp --permanent 需要重新加载生效
关闭指定端口 firewall-cmd --zone=public --remove-port=8080/tcp --permanent 需要重新加载生效
立即生效(重新加载) firewall-cmd --reload
查看开放端口 firewall-cmd --zone=public --list-ports

mysql相关

systemctl start mysql 启动MySQL服务

创建账号, 并授权远程访问

sql 复制代码
CREATE USER 'root'@'%' IDENTIFIED BY '1234';   #创建用户
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';    #赋权
FLUSH PRIVILEGES;   #刷新

 # 修改root用户的密码
ALTER USER 'root'@'localhost  
  ' IDENTIFIED WITH mysql_native_password BY '1234'; 

.tar.gz软件安装

bash 复制代码
yum install -y pcre pcre-devel zlib zlib-devel openssl openssl-devel  #安装包
yum install gcc-c++  #c环境
tar -zxvf nginx-1.20.2.tar.gz  #解压

#进入解压目录
cd nginx-1.20.2

#执行命令配置, 生成Makefile文件
./configure --prefix=/usr/local/nginx

#编译
make

#编译安装
make install

-->/usr/local/nginx,启动nginx服务
cd /usr/local/nginx/
sbin/nginx  #启动

nginx相关

  • 启动: sbin/nginx
  • 重载: sbin/nginx -s reload
  • 停止: sbin/nginx -s stop

Docker部署

docker--run命令:

docker run -d \ # -d 后台运行

--name mysql \ # 自定义容器名

-p 3307:3306 \ # 接口映射

-e TZ=Asia/Shanghai \ #容器参数 时区

-e MYSQL_ROOT_PASSWORD=123 \ #

mysql:8

命令 说明 文档地址
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

相关命令

bash 复制代码
# Docker开机自启
systemctl enable docker

# Docker容器开机自启
docker update --restart=always [容器名/容器id]

docker update --restart=always 开机启动

docker容器数据卷映射

把目录关联起来,我们称为挂载 。 我们也允许让容器直接与宿主机目录挂载而不使用数据卷

数据卷相关命令:
命令 说明 文档地址
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

注意:容器与数据卷的挂载要在创建容器时配置,对于创建好的容器,是不能设置数据卷的。而且创建容器的过程中,数据卷会自动创建

数据卷支持挂载在容器内部

docker run -d -name nginx -p 80:80 -v /opt/html:/usr/share/nginx/htmlng ginx/html nginx

--->挂载目标

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