Linux的命令和Docker的命令记录

96 阅读7分钟

Linux

1. 文件基础操作

基本命令格式:

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

1.1.目录操作

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

ls

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

-> 说明:
  -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 指定解压文件存放目录

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程序

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服务

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

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软件安装

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推送镜像到DockerRegistrydocker 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

相关命令

# 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
--->挂载目标