Linux命令

  • 用户切换
    • su [名字] ``` [li@bogon ~]$ su root 密码: [root@bogon li]# su li [li@bogon ~]$
  1. - 查看本机ip地址
  2. - ip addr
  3. - ifconfig
  4. - 删除文件
  5. - rm -rf
  6. - 删除乱码文件
  7. - 获取乱码文件的inode号:ls -li
  8. - 删除或重命名乱码文件
  9. - 删除:find . -inum 116916277 -exec rm -rf {} \;
  10. - 重命名:find . -inum 116916277 -exec mv {} \;
  11. - <br />
  12. <a name="ujfrd"></a>
  13. ### <br />
  14. <a name="cbsZd"></a>
  15. ### Xshell
  16. - 在学习Linux过程中,我们常常需要将本地文件上传到Linux主机上,这里简单记录下使用Xshell工具进行文件传输
  17. - 首先连上一台Linux主机
  18. - 输入rz命令,看看是否安装了lrzsz,如果没有安装则执行如下命令进行安装。

yum -y install lrzsz

  1. 备注:lrzsz是一款在linux里可代替ftp上传和下载的程序。
  2. - 安装成功后,输入rpm命令确认是否正确安装:rpm -qa lrzsz
  3. - 使用rz-y命令进行文件上传,此时会弹出上传的窗口
  4. <a name="cAFsA"></a>
  5. ### JDK安装
  6. <a name="wU9Ab"></a>
  7. #### 1、上传JDK
  8. - usr下创建software目录,将所有的软件放置于software目录下,命令如下:
  9. ```shell
  10. mkdir /usr/software
  1. - 使用如下命令切入到software目录下:
  2. - ls /usr查看文件夹
  1. cd /usr/software
  1. - 使用Xshell,输入以下命令,将下载好的jdk上传到CentOS中:rz -y

2、查看JDK是否安装过

  1. - 安装之前查看是否有旧的jdk,命令如下:
  1. java -version
  1. - 若已安装 使用下面命令查看jdk安装包名称
  1. rpm -qa|grep jdk
  1. - 卸载旧的jdk
  1. rpm -e jdk全名

3、安装JDK

  1. - 输入命令将文件jdkxxxx进行解压:
  1. tar -zxvf /usr/software/jdkxxxx
  1. - 解压如果报错
  2. - 你的压缩包后缀名是否是 .tar.gz
  1. gzip: stdin has more than one entry--rest ignored
  2. tar: Child returned status 2
  3. tar: Error is not recoverable: exiting now
  1. - 没有unzip 安装
  1. yum install unzip
  1. - 然后解压
  1. unzip xxxx.zip

4、配置JDK

  1. - 输入以下命令修改配置文件,用来配置JDK环境变量:vi/etc/profile
  2. - 输入i进入编辑状态,然后将光标(可以使用快捷键shift+g)移到最后一行,粘贴如下内容
  3. - export JAVA_HOME=/usr/sftware/jdk1.8.0_181
  4. - export PATH=$JAVA_HOME/bin:$PATH
  5. - 要根据自己解压目录设置
  6. - 输入ESC退出编辑模式 输入:wq!保存并强制退出
  7. - 输入以下命令,使配置文件生效:source /etc/profile
  8. - 备注:
  9. - export命令
  10. - 功能说明:设置或显示环境变量
  11. - 语法:export [-fnp][变量名]=[变量设置值]。
  12. - 选项:
  13. - -f:代表[变量名称]中为函数名称:
  14. - -n:删除指定的变量。变量实际上并未删除,只是不会输出到后续指令的执行环境中。
  15. - -p:列出所有的shell赋予程序的环境变量。
  16. - 补充说明:在shell中执行程序时,shell会提供一组环境变量。export可新增,修改或删除环境变量,供后续执行的程序使用
  17. - 解释上面的命令如下:
  18. - $PATH:决定了shell将到那些目录中寻找命令或程序
  19. - :冒号时分隔符,相当于WindowsPATH环境变量路径之间的分隔符时;(分号)

Docker

Docker是什么

  1. - Docker是一个基于LXC技术构建的容器引擎,基于GO语言开发,遵循Apache2.0协议开源
  2. - 和虚拟机的区别

image.png

Container-Image

  1. - Container
  2. - Docker Container(容器)即Docker将宿主机隔开的一个个独立空间
  3. - Image
  4. - Docker Image(镜像)可以看作是一个特殊的文件系统,即对某一时刻容器状态的备份

Docker Registry

  1. - Registry
  2. - https://hub.docker.com/
  3. - https://dev.aliyun.com/search.html
  4. - https://c.163yun.com/hub#/m/home/

运行原理

image.png

网络和端口映射

  1. - 网络配置
  2. - host 模式
  3. - container 模式
  4. - none 模式
  5. - bridge 模式,默认
  6. - --net=(具体模式名称)
  7. - 端口映射
  8. - -p

安装Docker

  1. - 若你安装过docker,需要先删掉,之后在安装依赖:
  1. sudo yum remove docker docker-common docker-selinux docker-engine
  2. sudo yum install -y yum-utils device-mapper-persistent-data lvm2
  1. - 根据版本的不同,下载repo文件。
  1. wget -O /etc/yum.repos.d/docker-ce.repo https://repo.huaweicloud.com/docker-ce/linux/centos/docker-ce.repo
  1. - 软件仓库位置替换为:
  1. sudo sed -i 's+download.docker.com+repo.huaweicloud.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo
  1. - 更行索引文件并安装
  1. sudo yum makecache fast
  2. sudo yum install docker-ce
  1. - 启动docker服务
  1. systemctl start docker
  2. service network restart

使用docker

  1. - docker容器操作
  2. - 生成容器(run = pull+create+start+exec)
  3. - docker run -d -p 8888:8080 --name tomcat-test tomcat
  4. - 查看容器
  5. - 查询正在运行的容器:docker ps|grep 容器关键词
  6. - 查询全部(包括已停止)的容器:docker ps -a|grep 容器关键词
  7. - 进入容器
  8. - docker exec -it containerId/containerName /bin/bash
  9. - pwd查看目录
  10. - 进入webapps目录
  11. - 退出容器
  12. - exit
  13. - 更改容器名称:docker rename 原名 新名
  14. - 语法:docker run -d -p 7001:8080 --name t25tom tomcat
  15. - 关闭容器:docker stop t25tomcat
  16. - 启动容器:docker start t25tomcat
  17. - 删除容器:docker rm t25tomcat
  18. - 拷贝文件:docker cp 宿主机目录及文件 容器名称 : 容器目录
  19. - 打包文件,解压文件:unzip app.zip
  20. - docker cp /usr/software/app/ t25tomcat:/usr/local/tomcat/webapps/
  21. - create创建容器
  22. - docker create -p 7002:8080 --name t25-tomcat tomcat
  23. - docker镜像操作
  24. - 查看docker镜像:docker images
  25. - 搜索镜像:docker search 镜像关键词
  26. - 镜像拉取:docker pull [OPTIONS] NAME[:TAG|@DIGEST]
  27. - 镜像删除:docker rmi 镜像Id或镜像名称
  28. - 数据卷
  29. - -v:自动同步,容器和外部是同步的
  30. - docker run -d -p 7002:8080 -v /usr/software/app/:/usr/local/tomcat/webapps --name tomcat01 tomcat
  31. - 创建文件:touch aa.html
  32. - link方式创建容器
  33. - docker run -d -p 7003:8080 --name tom --link tomcat01:tom01 tomcat

指定IP

  1. - 动态IP
  2. - 固定IP
  3. - 创建网络,指定网段
  4. - docker network create --subnet=172.18.0.0/16 mynetwork
  5. - 创建容器,指定IP
  6. - docker run -it -d --net mynetwork --ip 172.18.0.8 --name mytomcat tomcat

创建MySQL

  1. - 创建MySQL容器
  1. docker run -di --name mysql -p 33306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql
  1. - -p:代表端口映射,格式为 宿主机映射端口号:容器运行端口
  2. - -e:代表添加环境变量 MYSQL_ROOT_PASSWORDroot用户的登陆密码
  3. - 可能遇到的问题
  4. - 这个时候使用客户端连接工具连接的话,会遇到: Client does not support authentication protocol 的错误。

解决办法是设置远程登录,让我们继续。

  1. - 设置远程登录
  2. - 进入MySQL容器,登录MySQL
  3. - <br />

创建 nginx容器

  1. - 创建本地目录
  2. - docker目录下创建nginx文件夹,然后在nginx文件夹内创建以下目录
  3. - conf:存放nginx配置
  4. - www:存放nginx站点数据文件
  5. - log:存放nginx运行日志
  6. - 准备本地目录文件
  7. - nginx配置文件
  8. - 先临时创建一个nginx容器,将容器内的nginx配置文件复制到本地,后面根据实际需要调整本地宿主机的配置文件,并将本地配置文件挂载到nginx容器内部,nginx容器内配置文件目录为/etc/nginx。操作命令如下
  9. - 创建临时容器:docker run --name tmpnginx -d nginx
  10. - 赋值容器内的配置文件目录到本地文件目录:docker cp tmpnginx:/etc/nginx /var/lib/docker/nginx/conf
  11. - 删除临时容器:docker rm -f tmpnginx
  12. - nginx配置文件复制到本地后做相应调整,假设本地的/var/lib/docker/nginx/www目录内包含多个站点,目前只放一个站点site1nginx容器使用site。.先备份默认的nginx配置文件/var/lib/docker/nginx/conf/nginx/conf.d/default.conf为/var/lib/docker/nginx/conf/nginx/conf.d/default.conf.bak,然后调整/var/lib/docker/nginx/conf/nginx/conf.d/default.conf内容如下,使站点首页指向site1站点内的index.html页面:
  1. server {
  2. listen 80;
  3. server_name localhost;
  4. #charset koi8-r;
  5. #access_log /var/log/nginx/host.access.log main;
  6. location / {
  7. root /usr/share/cups/www/site1;#修改这里
  8. index index.html index.htm;
  9. }
  10. #error_page 404 /404.html;
  11. # redirect server error pages to the static page /50x.html
  12. #
  13. error_page 500 502 503 504 /50x.html;
  14. location = /50x.html {
  15. root /usr/share/nginx/html;
  16. }
  17. }
  1. - 站点静态文件
  2. - 在/var/lib/docker/nginx/www目录下放置site1文件夹,文件夹内存放静态站点文件,文件内容可根据具体情况而定。
  3. - nginx文件目录结果
  4. - 经过上面两个步骤,nginx文件夹下目录结构如下图
  1. [root@192 nginx]# tree
  2. .
  3. ├── conf
  4. └── nginx
  5. ├── conf.d
  6. ├── default.conf
  7. └── default.conf.bak
  8. ├── fastcgi_params
  9. ├── mime.types
  10. ├── modules -> /usr/lib/nginx/modules
  11. ├── nginx.conf
  12. ├── scgi_params
  13. └── uwsgi_params
  14. ├── log
  15. └── www
  16. └── site1
  17. 6 directories, 8 files
  1. - 创建nginx容器
  2. - 上一步骤中准备好所有文件后,创建正式的nginx容器,命令如下
  1. docker run -d -p 8888:8080 --name ng -v /var/lib/docker/nginx/conf/nginx/:/etc/nginx/ -v /var/lib/docker/nginx/log/:/var/log/nginx/ -v /var/lib/docker/nginx/www/:/usr/share/www/ nginx