• Linux操作系统


    目录和文件管理

    [root@localhost ~]# cd / #改变工作目录
    [root@localhost /]# ls #ll显示详细信息
    bin   dev  home  lib64  mnt  proc  run   srv  tmp  var
    boot  etc  lib   media  opt  root  sbin  sys  usr
    [root@localhost /]# ls -al #显示全部资源,显示详细信息
    total 24
    dr-xr-xr-x.  17 root root  224 Apr 14 20:02 .
    dr-xr-xr-x.  17 root root  224 Apr 14 20:02 ..
    lrwxrwxrwx.   1 root root    7 Apr 14 19:55 bin -> usr/bin
    dr-xr-xr-x.   5 root root 4096 Apr 14 20:02 boot
    drwxr-xr-x.  19 root root 3320 Apr 14 20:03 dev
    drwxr-xr-x. 143 root root 8192 Apr 14 22:31 etc
    drwxr-xr-x.   5 root root   47 Apr 14 22:31 home
    ...
    [root@localhost ~]# mkdir /home/test4 #创建新目录
    [root@localhost ~]# cd /home/test4
    [root@localhost test4]# pwd #查看当前目录
    /home/test4
    [root@localhost test4]# mkdir -p a/b/c #[递归]创建多级目录
    [root@localhost test4]# rmdir -p a/b/c #删除目录
    [root@localhost home]# rm -rf tester1 #[递归删除,强制删除]包含文件和子目录的目录/删除文件
    
    [root@localhost test4]# cp /tmp/yum.log /home/test1/yum1.log #复制文件,并重命名
    [root@localhost test4]# mv /home/test4/yum.log /home/test1/ #移动文件/更改目录(文件)名称
    
    [root@localhost home]# chown howie /home/test1/yum.log #改变文件所属用户,chgrp改变文件所属用户组test1
    [root@localhost home]# ls -al /home/test1             
    total 0
    drwxr-xr-x. 2 root  root  37 Apr 15 00:06 .
    drwxr-xr-x. 5 root  root  45 Apr 15 00:19 ..
    -rw-------. 1 root  root   0 Apr 14 23:59 yum1.log
    -rw-------. 1 howie test1  0 Apr 15 00:05 yum.log
    
    [root@localhost /]# chmod 777 /home/test1/yum.log #修改文件权限
    [root@localhost /]# ls -al /home/test1           
    total 0
    drwxr-xr-x. 2 root  root  37 Apr 15 00:06 .
    drwxr-xr-x. 5 root  root  45 Apr 15 00:19 ..
    -rw-------. 1 root  root   0 Apr 14 23:59 yum1.log
    -rwxrwxrwx. 1 howie test1  0 Apr 15 00:05 yum.log
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40

    文件查看

    [root@localhost ~]# cat -n /etc/profile #[加上行号]打印文件
    [root@localhost ~]# tac /etc/profile #倒着打印
    [root@localhost ~]# nl /etc/profile #带行号打印
    
    [root@localhost ~]# more /etc/profile #向后翻页查看
    
    几个重要按键:
    Space/b:向下/上翻一页
    Enter:向下翻一行
    /pattern:向文件结尾方向,搜索匹配pattern的内容
    :f:显示文件名及行数
    q:退出
    
    [root@localhost ~]# less /etc/profile #向前翻页查看
    可以使用pageup、pagedown等按键进行前后翻页
    
    [root@localhost ~]# head -n 5 /etc/profile #只看头/尾几行
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    文件编辑和文件比较

    vi /home/test1/1.txt #编辑文件
    
    • 1

    在这里插入图片描述
    命令模式

    命令解释
    dd删除一行,例如20dd则删除20行
    y复制
    p粘贴
    u复原前一个动作
    .重复前一个动作
    G移动到文档最后一行

    低行模式

    :q!不存储文件并离开
    :wq存储后离开

    文件搜索命令

    通配符:*、?、[]

    [root@localhost ~]# find /tmp -name *.log #查找目录下的文件
    [root@localhost ~]# which yum 
    [root@localhost ~]# whereis profile
    
    • 1
    • 2
    • 3

    压缩打包和解压

    [root@localhost ~]# gzip /home/test1/profile #Linux应用最广
    [root@localhost ~]# ls /home/test1
    profile.gz  
    
    bzip2 #具有更好的压缩比
    
    tar [-option] 文件1 文件2 ... #将多个文件或目录打包
    tar [-option] 目录
    [root@localhost ~]# tar -czvf /home/test1/1.tar.gz /home/test1 #[压缩,通过gzip压缩,可视化,指定要处理的打包文件名称]
    [root@localhost ~]# tar -xzvf /home/test1/1.tar.gz #解压缩
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    管道符号和撷取命令

    #管道符|连接多个命令,把前一个命令的输出作为下一个命令的输入。
    [root@localhost ~]# cat /etc/profile | less
    
    #grep用于查找信息中符合条件的字符串,如果符合则将整行显示
    [root@localhost ~]# cat /etc/profile | grep 2
    
    • 1
    • 2
    • 3
    • 4
    • 5

    进程管理

    [root@localhost ~]# ps -aux #静态拍照查看所有进程的详细信息
    [root@localhost ~]# ps -aux | grep bash
    [root@localhost ~]# top #动态查看所有进程信息
    
    [root@localhost ~]# ps -ef|grep firewall
    root       6550      1  0 19:16 ?        00:00:00 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid
    root       8986   8698  0 19:35 pts/0    00:00:00 grep --color=auto firewall
    [root@localhost ~]# kill -9 6550 #[强制中断]结束进程
    [root@localhost ~]# ps -ef|grep firewall
    root       8997   8698  0 19:36 pts/0    00:00:00 grep --color=auto firewall
    
    [root@localhost ~]# netstat -anop|less #查看端口占用[显示所有联机、监听、Socket数据,显示程序端口口,显示计时器,PID]
    [root@localhost ~]# vmstat #查看资源占用
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    磁盘管理

    [root@localhost ~]# df -mh #查看磁盘占用情况[以MB为单位来显示,易于阅读方式显示]
    [root@localhost ~]# mount /dev/sr0 /tmp/cdrom #挂在磁盘或光盘到系统目录
    [root@localhost ~]# umount /tmp/cdrom
    
    • 1
    • 2
    • 3

    网络管理

    ifconfig #查看网卡信息
    ping baidu.com #测试与目标主机的连通性
    wget #下载网络资源
    
    • 1
    • 2
    • 3

    Linux搭建Web服务器

    在这里插入图片描述

    1.安装JDK

    JDK是Java的开发工具包,因为tomcat是用Java开发的,所以需要先安装好JDK

    查询所有已安装的JDK包
    rpm -qa|grep jdk
    
    查询可yum安装的jdk包
    yum list|grep jdk
    
    安装jdk
    yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel #[若不加-y,则会提示是否安装]
    
    配置环境变量
    [root@localhost ~]# cd /usr/lib/jvm
    [root@localhost jvm]# ls -al #除了java-1.8.0-openjdk-1.8.0.402.b06-1.el7_9.x86_64,其他都是链接,不是真正的目录,这个目录就是Java的根目录
    total 4
    drwxr-xr-x.  4 root root 4096 Apr 16 22:59 .
    dr-xr-xr-x. 43 root root 4096 Apr 14 19:58 ..
    lrwxrwxrwx.  1 root root   26 Apr 16 22:59 java -> /etc/alternatives/java_sdk
    lrwxrwxrwx.  1 root root   32 Apr 16 22:59 java-1.8.0 -> /etc/alternatives/java_sdk_1.8.0
    lrwxrwxrwx.  1 root root   40 Apr 16 22:59 java-1.8.0-openjdk -> /etc/alternatives/java_sdk_1.8.0_openjdk
    drwxr-xr-x.  7 root root  135 Apr 16 22:59 java-1.8.0-openjdk-1.8.0.402.b06-1.el7_9.x86_64
    ...
    
    显示一下当前路径
    [root@localhost jvm]# cd java-1.8.0-openjdk-1.8.0.402.b06-1.el7_9.x86_64
    [root@localhost java-1.8.0-openjdk-1.8.0.402.b06-1.el7_9.x86_64]# pwd
    /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.402.b06-1.el7_9.x86_64
    
    修改环境变量
    [root@localhost java-1.8.0-openjdk-1.8.0.402.b06-1.el7_9.x86_64]# vi /etc/profile
    使环境变量生效
    [root@localhost java-1.8.0-openjdk-1.8.0.402.b06-1.el7_9.x86_64]# source /etc/profile
    [root@localhost java-1.8.0-openjdk-1.8.0.402.b06-1.el7_9.x86_64]# java -version
    openjdk version "1.8.0_402"
    OpenJDK Runtime Environment (build 1.8.0_402-b06)
    OpenJDK 64-Bit Server VM (build 25.402-b06, mixed mode)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34

    2.下载并安装tomcat

    从网上下载
    https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.99/bin/apache-tomcat-8.5.99.tar.gz
    解压安装包
    tar -xvf /usr/local/apache-tomcat-8.5.99.tar.gz
    删除安装包
    rm /usr/local/apache-tomcat-8.5.99.tar.gz
    重命名文件夹
    mv /usr/local/apache-tomcat-8.5.99 /usr/local/tomcat
    
    修改配置文件
    vi /etc/profile
    将tomcat配置为服务
    cp /usr/local/tomcat/bin/catalina.sh /etc/init.d/tomcat8
    增加其他用户组的执行权限
    chmod 755 /etc/init.d/tomcat8
    修改tomcat8启动脚本,添加JAVA_HOME,CATALINA_HOME
    vi /etc/init.d/tomcat8
    将tomcat配置为服务
    chkconfig --add tomcat8
    启动服务
    service tomcat8 start
    查看tomcat是否在运行
    ps -ef|grep tomcat
    停止tomcat服务
    service tomcat8 stop
    
    配置防火墙
    
    打开防火墙的8080端口,重置防火墙
    [root@localhost local]# firewall-cmd --zone=public --add-port=8080/tcp --permanent
    [root@localhost local]# firewall-cmd --reload
    查看一下
    firewall-cmd --zone=public --list-ports
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33

    3.部署网站war包

    安装上传工具
    yum -y install lrzsz
    
    上传文件
    rz
    从Linux下载到本地(下载那里) 
    sz 新建\ DOC\ 文档.doc
    
    > 打出两个字,按tab键自动补全
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    Docker容器技术

    Docker是一个开源的应用容器引擎,可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的Linux机器上,也可实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口,并且容器性能开销极低。
    传统虚拟机技术是虚拟出一套硬件后,在其上运行一个完整操作系统。而Docker容器内的应用进程直接运行于宿主的内核,容器内没有自己的内核,因此比传统虚拟机更轻便。

    Docker应用场景:

    1. Web应用的自动化打包和发布
    2. 自动化测试和持续集成、发布
    3. 在服务型环境中部署和调整数据库或其他的后台应用
    4. 从头编译或者扩展现有的OpenShift或Cloud Foundry平台来搭建自己的PaaS环境

    Docker由三部分组成:

    1. Docker images-Docker镜像
    2. Docker registeries-Docker仓库
    3. Docker container-Docker容器
    docker安装
    [root@localhost ~]# curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
    设置为开机自启动
    [root@localhost ~]# systemctl enable docker.service
    启动docker
    [root@localhost ~]# systemctl start docker
    测试是否可用
    [root@localhost ~]# docker version
    删除docker软件包
    yum remove docker-ce
    删除镜像、容器、配置文件等内容
    rm -rf /var/lib/docker
    
    从docker仓库中搜索相关软件的镜像
    docker search zentao
    
    在禅道的开源版下载地址(https://www.zentao.net/download/zentaopms17.6-81531.html)中找到Docker镜像拉取命令:
    docker pull hub.zentao.net/app/zentao:latest
    查看镜像
    [root@localhost ~]# docker images
    REPOSITORY                  TAG       IMAGE ID       CREATED        SIZE
    hub.zentao.net/app/zentao   latest    9a93828f6c9e   17 hours ago   512MB
    删除镜像
    [root@localhost ~]# docker rmi 9a93828f6c9e
    
    拉取镜之后,需要创建容器来运行软件及环境
    创建和运行容器
    docker run --name zentao -p 81:80 -v /www/zentaopms:/www/zentaopms -v /www/mysqldata:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d hub.zentao.net/app/zentao:latest
    查看容器
    docker ps -a #[如果容器创建了但是没有运行,可以通过命令查看所有容器]
    停止容器
    docker stop 容器ID
    重启容器
    docker restart 容器ID
    删除容器
    docker rm -f 容器ID #[正在运行容器可以强制删除]
    进入容器查看文件
    [root@localhost ~]# docker exec -it 8fc1978e1c5f /bin/bash
    root@8fc1978e1c5f:/apps/zentao# ls
    容器的导出与导入
    docker export -o zentao.tar.gz zentao 
    docker import zentao.tar.gz zentao:back-up #容器压缩文件路径 镜像名:标签
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
  • 相关阅读:
    Flink--6、输出算子(连接到外部系统、文件、kafka、MySQL、自定义Sink)
    WebRTC 视频流接收统计报告
    类中报错 xxx does not name a type可能因为类中修改了对象
    nestjs编程-nestjs装饰器
    【原创】V2024中化解电力行业设备表的五年难题
    【Vue】VueX 的语法详解(2)
    基于STM32微控制器的巡线小车控制研究
    springboot整合sentinel完成限流
    webpack 面试题
    用chrome dev tools 强制js注入
  • 原文地址:https://blog.csdn.net/nuts66/article/details/137780048