Linux操作系统

Linux操作系统

目录和文件管理

powershell 复制代码
[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

文件查看

powershell 复制代码
[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 #只看头/尾几行

文件编辑和文件比较

powershell 复制代码
vi /home/test1/1.txt #编辑文件

命令模式

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

低行模式

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

文件搜索命令

通配符:*、?、\[\]

powershell 复制代码
[root@localhost ~]# find /tmp -name *.log #查找目录下的文件
[root@localhost ~]# which yum 
[root@localhost ~]# whereis profile

压缩打包和解压

powershell 复制代码
[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 #解压缩

管道符号和撷取命令

powershell 复制代码
#管道符|连接多个命令,把前一个命令的输出作为下一个命令的输入。
[root@localhost ~]# cat /etc/profile | less

#grep用于查找信息中符合条件的字符串,如果符合则将整行显示
[root@localhost ~]# cat /etc/profile | grep 2

进程管理

powershell 复制代码
[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 #查看资源占用

磁盘管理

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

网络管理

powershell 复制代码
ifconfig #查看网卡信息
ping baidu.com #测试与目标主机的连通性
wget #下载网络资源

Linux搭建Web服务器

1.安装JDK。

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

powershell 复制代码
查询所有已安装的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)

2.下载并安装tomcat

powershell 复制代码
从网上下载
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

3.部署网站war包

powershell 复制代码
安装上传工具
yum -y install lrzsz

上传文件
rz
从Linux下载到本地(下载那里) 
sz 新建\ DOC\ 文档.doc

> 打出两个字,按tab键自动补全

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容器
powershell 复制代码
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 #容器压缩文件路径 镜像名:标签
相关推荐
AlfredZhao12 小时前
vi 删除指定范围的行,不用再反复按 dd
linux·vi
用户97183563346618 小时前
银河麒麟 KY10 申威(SW64) 安装 nginx-1.16.1-2.p01.ky10.sw_64.rpm 详细步骤
linux
猪脚踏浪20 小时前
linux 拷贝文件或目录到指定的位置
linux
大树881 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠1 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质1 天前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
bush42 天前
嵌入式linux学习记录十四、术语
linux·嵌入式
载数而行5202 天前
Linux 11 动态监控指令top
linux
小宇宙Zz2 天前
Maven依赖冲突
java·服务器·maven
Inhand陈工2 天前
基于台达PLC与映翰通IG502的智慧水产养殖精准投喂与远程运维解决方案
运维·人工智能·物联网·阿里云·信息与通信