Linux学习

Posted zhoumango

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux学习相关的知识,希望对你有一定的参考价值。

  1. 常用命令短语

  1. 查看已安装的镜像

    docker images

  2. 查看已运行的容器

    docker ps

  3. 查看容器属性(DB001为容器名称)

    docker inspect db001

  4. 查看容器日志

    docker logs tomcat07

  5. 进入容器

    docker exec -it 0033e6d00a98 /bin/bash

  6. 查看容器id

    docker ps -a

  7. 主机和容器文件传递

    将容器的文件复制到主机中

    docker cp tomcat07:/usr/local/tomcat/webapps/Qingling/WEB-INF/classes/config.properties /usr/local/config.properties

    反之

    docker cp /usr/local/config.properties tomcat07:/usr/local/tomcat/webapps/Qingling/WEB-INF/classes/config.properties

    "tomcat07"为容器名称

  8. 停止、启动重启容器

    docker stop tomcat07

    docker start tomcat07

    docker restart tomcat07

  9. 删除容器

    在删除容器前需要关闭容器

    语法:docker container rm 容器号

    docker rm ed95b728c5a2

    删除所有停止的容器

    docker rm $(docker ps -a -q)

  10. 删除docker镜像

    语法:docker rmi? 镜像image id

    docker rmi? de25a81a5a0b????

  11. 删除文件夹下所有文件

    rm –rf xxx

    -r 就是向下递归,不管有多少级目录,一并删除

    -f 就是直接强行删除,不作任何提示的意思

  12. 安装JDK

    yum install java-1.8.0-openjdk* -y

    ?

    ?

    1. 连接远程服务器

  13. 下载并安装软件Xshell 6

    http://wm.makeding.com/iclk/?zoneid=22813

    技术图片

  14. 创建连接

    技术图片

    1. 软件安装

  15. mysql安装

  16. 安装命令

    ?docker pull mysql:5.5

  17. 启动命令

    ?docker run --name mysql55 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -d mysql:5.5

    注意,这里的容器名字叫:db001,mysql的root用户密码是:mytest,映射宿主机子的端口3306到容器的端口3306,仓库名mysql和标签(tag)唯一确定了要指定的镜像,其实如果这里只有一个mysql也有必要要tag。

    查看所有已启动的容器

    docker ps

  18. 使用mysql的工具navicat测试

    技术图片

  19. 大小写处理

    查询数据库是否区分大小写

    show VARIABLES like ‘lower%‘

    Linux安装的mysql数据库会区分库名及字段名的大小写,这里需要处理为不区分大小写

    在容器中的my.cnf文件中加上

    lower_case_table_names=1

  20. 字符乱码问题

    在navicat中查看字符集

    SHOW VARIABLES LIKE ‘character_set_%‘;

    如果默认为瑞典latin1,则需要再my.cnf中加入

    character_set_server = utf8

    正常效果

    技术图片

    ?

  21. Tomcat、JDK安装

  22. 拉取tomcat7

    docker pull tomcat:7-jre7

  23. 运行

    docker run -di --name=tomcat07 -p 8080:8080 tomcat:7-jre7

    0033e6d00a98cdd4ac51511a6ec9c602da1e3cc15a32c4af7cafda0bda189ef0

  24. 访问验证

    http://172.17.3.211:8080/

    技术图片

    ?

  25. Redis安装

  26. 下载拉取Redis镜像

    docker pull redis

    基于Docker运行Redis

    语法:docker run [OPTIONS] IMAGE [COMMAND] [ARG…]

  27. 指定端口和密码

    docker run --name redis -d -p 6379:6379 redis --requirepass "root"

    这里特别注意一点:密码必须用英文的双引号

  28. 验证

    验证radis是否启动成功

    在window找一个radis的客户端

    技术图片

    在cmd中启动redis-cli.exe

    访问docker的地址

    redis-cli -h 172.18.0.3 -p 6379 -a root

    ?

    技术图片

    输入设置值:

    set pass 123

    技术图片

    取值:

    get pass

    技术图片

    ?

    1. 启动顺序及镜像IP

    容器的IP会跟随启动顺序的变化而变化

    关闭

    docker stop tomcat07

    docker stop redis

    docker stop mysql55

    启动

    docker start mysql55

    docker start redis

    docker start tomcat07

    对应IP

    Mysql: 172.18.0.2

    Redis:???? 172.18.0.3

    Tomcat:172.18.0.4

    1. 项目文件上传

  29. 进入文件夹

    通过Xshell终端连接Linux服务器,进入要上传文件目录,如文件上传到usr目录,则先进入usr目录

  30. 验证是否能够上传

    查看服务器是否支持rz上传文件:

    输入rz命令、回车,如果支持则会弹出上传文件弹框;否则会提示找不到

    ?

    不支持rz上传文件 则需先安装rz

    输入yum -y install lrzsz回车

  31. 文件上传

    输入rz上传文件到linux系统中

    技术图片

    通过unzip的方式解压出来

    如果你如法使用unzip命令解压.zip文件,可能是你没有安装unzip软件,下面是安装方法

    命令: yum list | grep zip/unzip? ?#获取安装列表

    安装命令:yum install zip? ? #提示输入时,请输入y;

    安装命令:yum install unzip #提示输入时,请输入y;

    将某个文件夹打包为zip:

    zip -q -r ?PocTest.zip ?PocTest/

    技术图片

  32. 将文件拷贝到tomcat的webapps下

    得到容器id

    docker inspect -f ‘{{.ID}}‘ tomcat07

    // docker cp 本地路径 容器长ID:容器路径

    docker cp /usr/local/红辣椒(罗马音).txt 0033e6d00a98:/usr/local/tomcat/webapps/ROOT

    ?

    1. Jar包运行

    拉取java环境变量

    docker pull java:8u111

    执行命令启动创建jar容器

    docker run -d -p 8000:8000 -v /usr/jar/mydata/tomcat/job-admin/xxl-job-admin.jar:/usr/xxl-job-admin.jar -v /usr/jar/mydata/tomcat/job-admin/logs:/data/applogs --name job-admin java:8u111 java -jar /usr/xxl-job-admin.jar

    ? ? ?-d 表示在后台启动

    ? ? ?-p 8001:8001表示将容器的端口 映射成宿主主机的端口,否则8001端口访问不到

    ? ? ?-v?/usr/springboot-1.jar:/usr/springboot-1.jar 表示将宿主主机的jar文件,映射到容器中(分号前为宿主主机的路径,分号后为容器中的路径)

    ? ? ?--name springboot 表示为该容器取一个全局唯一的名称,这里我取的名称为springboot

    ? ? java:8u111 表示镜像文件的名称和tag

    ? ??java -jar /usr/springboot-1.jar 表示运行jar包,注意:这里的jar包为容器中的位置,是通过前面的-v属性映射的

    ?

    1. 项目启动

    运行即可

    docker start tomcat07

    可通过命令查看日志

    docker logs tomcat07

    1. 问题总结

    1.容器的IP是由启动的顺序而定的,所以在启动容器时需要按照顺序启动,避免设置好的IP乱掉。

    2.linux版本的mysql安装好后默认为区分大小写,需要在my.cnf文件中加入

    lower_case_table_names=1

    3.redis安装时,如果有密码,那么密码必须用英文双引号包起来,不然会出现密码错设置不正确的情况。

    ?

    4.容器时间不准确。

    创建文件"timezone",在里面写入内容:

    Etc/UTC+8

    通过docker cp拷贝到容器中的/etc目录下,重启容器即可:

    docker cp /home/progdata/timezone job-admin:/etc

以上是关于Linux学习的主要内容,如果未能解决你的问题,请参考以下文章

linux要学习什么?linux网络学习

再谈如何学习Linux,一线Linux专家学习经验谈

Linux学习路线+资源

Linux 开山篇 -- Linux学习方向应用领域学习阶段学习方法

linux学习要多久

Linux学习路线魔法图