操作系统基础

一、常用命令+vi基本使用

常用命令

#目录操作命令

1.目录切换:cd / ../ ~
2.目录查看:ls [-al]
3.目录创建:mkdir 目录
4.删除目录:rm [-rf] 目录
5.目录修改:
mv 当前目录 新目录(重命名)
cp -r 目录名称 目录拷贝的目标位置(拷贝目录)
6.搜索目录:find 目录 参数 文件名称(find /user -name 'a*')

#文件操作
1.新建文件:touch 文件名
2.删除文件:rm -rf 文件名
3.修改文件:vi或vim
4.文件查看:cat(看最后一屏)、more(百分比显示)、less(翻页查看)、tail(指定行数或动态查看)

#权限修改(rwx:可读、可写、可执行)
chmod 100 a.txt

#压缩文件操作
1.打包:tar -zcvf 打包压缩后的文件名 要打包的文件
z:调用gzip压缩命令进行压缩
c:打包文件
v:显示运行过程
f:指定文件名
2.解压:tar -zxvf 压缩文件 -C 指定位置
x:代表解压


#查找命令
1.grep:ps -ef | grep sshd -c 查找指定进程个数
2.find:在目录结构中搜索文件,并对搜索结果执行指定的操作(find . -size +100M 查找当前目录大于100M的文件)
3.locate:快速的搜寻某个路径(locate /etc/sh)
4.whereis:定位可执行文件、源代码文件、帮助文件在文件系统中的位置(whereis ls)
5.which:在PATH变量指定路径中,搜索某个系统命令的位置,并且返回第一个结果(which java)


#su、sudo
1.su:用于用户之间的切换(root向其他不需要密码)(su test)
2.sudo:让普通用户具有临时使用root权限的权利

vi基本使用

命令行模式:i o a进入编辑模式 、:进入底行模式

编辑模式:esc或ctrl+c退出到命令行

底行模式:q(退出) q!(强制退出) wq (保存退出)


二、上传文件到linux

scp 文件位置 用户名@remotehost:/目标位置

例如:scp jdk-8u231-linux-x64.tar.gz root@192.168.146.128:/mnt(要先进入文件所在位置) 

三、压缩和归档

压缩

gzip命令


参数:
-c    将压缩数据输出到标准输出中,并保留源文件
-d    对压缩文件进行解压缩
-r    递归压缩指定目录下以及子目录下所有文件
-v    对于每个压缩和解压的文件,显示相应的文件名和压缩比
-l    对每一个压缩文件,显示以下字段:压缩文件的大小、压缩比、未压缩文件的名称
-数字 指定压缩登记,-1压缩等级最低,压缩比最差;-9压缩比最高。默认压缩比-6



实例:
gzip test.txt
gzip -c test.txt > test.txt.gz(重定向:把上一个命令的返回结果输出到指定文件中,如果文件不存在,自动创建)
(>:覆盖模式    >>:追加模式)

归档(文件可能会变大)

主要是用于建立、还原备份文件的工程工具,可以加入、解开备份文件内的文件

参数:

-A    将tar文件添加到现有归档的末尾
-d    使用指定的文件系统比较归档
-j    用bzip压缩归档
-r    将文件添加到现有归档的末尾
-t    列出现有归档的内容
-u    更新归档
-x    从现有归档解压文件
-z    用gzip压缩归档
-delete    从现有归档删除文件


实例:

压缩:tar -zcvf  xxx.tar.gz  源...
解压:tar -zxvf  xxx.tar.gz [-C 目标路径]

    -z:
    -c:
    -x:
    -v:
    -f:
    -C 目标路径:

四、JDK环境配置

环境变量:操作系统为支撑程序的运行提供变量

1.用户变量:只有当前用户能够使用(~/.bash_profile)

2.系统变量:所有用户都可以使用,全局变量(/etc/profile)

为什么要定义环境变量?

  • 使用命令启动程序的时候,使用命令的位置不一定在安装程序的目录下,会去环境变量中找
  • Path路径:所有可执行程序存放的路径,需要手工配置
  • echo $PATH:用于输出变量的值,用于检查某个环境变量是否配置正确

定义变量:

export 变量名=值(该命令可以在命令行使用,也可以在配置文件中使用)

配置java环境变量(vi  /etc/profile)

1.需要让操作系统知道jdk的bin目录位置

2.配置java程序启动和运行依赖的库文件dt.jar,tools.jar

3.使用source /etc/profile 激活环境变量

五、mysql部署

1.下载tar包

2.上传到linux指定目录

3.解压到linux指定目录

4.修改mysql目录权限

1.linux 有三种角色,三种权限

三种角色

所有者:owner,默认是文件或目录的创建者
所有者同组用户:group,所有者同组的用户
其他人:other,和所有者不同组的用户

三种权限

r(read):读
w(write):写
x(excute):执行

2.查看文件或目录权限:ls -l [文件名/目录名]
drwxr-xr-x(一种10位)
-r--r--r--

第一组:第一个字符,d代表目录,-代表文件,l代表软连接
第二组:第一个rwx字符,代表的是owner的权限
第三组:第二个rwx字符,代表的是group的权限
第四组:最后三个字符wrx,代表other的权限
(-代表去掉该权限)

3.修改权限
命令:chmod [-R] 权限列表 文件名或目录

-R:递归修改,主要应用于目录的权限修改

(字母+权限)
例子:文件demo.txt权限时用户可以读写,同组可以读写,其他人可读
chmod u+rw,rw,r demo.txt

chmod u+x,g-w demo.txt

(数字表示权限)
chmod 764 demo.tet 读写执行 读写 读

修改文件或目录的所属用户和组

组:linux为了方便用户使用组的方式,group
查看用户组:cat /etc/group
查看用户: cat /etc/passwd

组的信息使用冒号间隔,一共分成四个部分
组名、密码、组编号、附属成员

用户信息使用冒号分成7个部分
用户名、密码、用户编号、组编号、组名、组目录、用户使用解析脚本解析器名字


修改文件和目录的所有者的命令
chown [-R] username[:groupname] 文件名或目录名

5.修改mysql配置文件:/etc/my.cnf

[mysqld]:mysql的服务器节点部分

basedir=/opt/mysql57:mysql主目录

datadir=/opt/mysql67/data:mysql数据库文件存放的目录

socket=/tmp/mysql.sock:mysql服务器提供的链接

port=3306:mysql的服务器监听端口

symbolic-links=0



[mysql_safe]:mysql服务安全启动模式

log-error=/opt/mysql57/logs/mariadb.log:mysql错误日志位置

pid-file=/opt/mysql57/mariadb.pid:mysql服务器进程信息文件位置

创建配置文件中设计的目录(data/logs)

目录相关操作的命令

创建目录:mkdir 目录名 目录名(同一个目录下创建多个目录)
        mkdir -p 目录名/目录名/...(创建多层目录)
删除目录:
        rmdir 目录名(删除空目录)
        rm -rf 目录名|文件名(删除非空目录)(-r递归 -f强制)



6.初始化mysql数据

配置系统环境变量(vi /etc/profile ;export MYSQL_HOME=/opt/mysql57; export PATH=:$MYSQL_HOME/bin;source /etc/profile )

初始化数据库:mysqld --defaults-file=/etc/my.cnf --initialize-insecure --user=root

  • --defaults-file:设置mysql服务启动所需配置文件
  • --initialize:初始化数据库,同时生成一个临时密码(+-insecure初始化后不设置密码)
  • --user:指定初始化操作的linux用户

7.启动mysql服务

mysqld --defaults-file=/etc/my.cnf --user=root &

检查启动端口监听状态

命令:netstat -anlp|grep 3306

-a:所有端口
-n:以数字的方式显示端口信息
-l:显示正在监听状态的端口
-p:显示监听端口的程序以及PID(进程编号)

|:管道符(管道:把上一个命令的输出作为下一个命令的输入)
grep:从文件中查询是否存在某个字符串

yum -y install net-tools #安装包

8.开启mysql远处访问权限

mysql -uroot -p

grant all on *.* to 'root'@'%' identified by '123321' with grant option
flush privileges

systemctl stop firewalld
systemctl disable firewalld

9.通过客户端(navicat)连接和使用mysql

六、tomcat部署

1.下载tomcat8.5的tar包

2.上传linux指定目录

3.解压到指定目录

4.常用文件

启停类:bin目录下面

1.前端启动: ./catalina.sh run        启动之后可以直接看到运行日志,阻塞式。关闭终端会导致tomcat服务停止。
用途:检查部署是否成功使用
2.后端启动:./startup.sh    启动之后进入后台运行,看不到运行日志。关闭终端对tomcat服务没有影响
(建议在调试稳定之后,使用后台启动)
3.停止tomcat:./shutdown.sh    如果8005端口被占用,该脚本就无效


配置类:conf目录下面 server.xml
1.
<Connector port="8080" protocol="HTTP/1.1"
    connectionTimeout="20000"
    redirectPort="8443" />
#port是设置tomcat的启动端口,如果出现端口冲突,就在这里修改

2.
<Host name="localhost" appBase="webapps"
    unpackWARs="true" autoDeploy="true">
#name代表是从浏览器访问tomcat的时候,需要的主机地址
#appBase指向存放web应用的目录
#unpackWARs 自动解压(true)
#autoDeploy 自动发布(true)


日志类:logs下面
tomcat的运行日志的名字:
    catalina.yyy-mm-dd.log
    catalina.out #tomcat运行应用的日志,定位缺陷的时候使用较多

4.检查tomcat是否可以正常启动

已经被占用

#强制结束进程

命令:kill

kill PID:正常结束进程(通过PID)
kill -9 PID:强行结束进程(通过PID)

七、部署web应用

1.上传web应用的war包到linux下指定目录

2.启动tomcat,解压war文件

3.配置web数据库,以备web应用访问

4.去webapps里面找到web应用的数据库连接配置文件,修改配置项,使其能够正确定位数据库的位置

5.重启tomcat,检测配置是否完成(浏览器输入:ip:8080/woniusales)


七、docker部署应用

(1)检查linux操作系统的版本及其内核版本,需要是centos7-64,内核版本3.10以上

(2)检查是否有历史安装记录

yum list installed | grep docker

(3)安装依赖包

yum install -y yum-utils device-mapper-persistent-data lvm2

(4)配置yun镜像源,增加国内镜像源

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum makecache fast

(5)安装docker

yum -y install docker-ce

(6)启动docker服务

systemctl list-unit-files | grep docker

systemctl start docker
docker info

(7)查看docker是否开机自启

systemctl list-unit-files|grep docker

(8)优化docker镜像

vi /etc/docker/daemon.json

内容:
{
    "registry-mirrors":[
    "https://kfwkfulq.mirror.aliyuncs.com",
    "https://2lqq34jg.mirror.aliyuncs.com",
    "https://pee6w651.mirror.aliyuncs.com",
    "https://registry.docker-cn.com",
    "https://hub-mirror.c.163.com"
    ],
    "dns":["8.8.8.8","8.8.4.4"]
}

(9)重载daemon文件

systemctl daemon-reload

(10)重启docker服务

systemctl restart docker
systemctl enable docker

(11)使用docker安装部署应用(docker容器的ip地址就是虚拟机ip地址,docker容器寄生在宿主机上)

#部署mysql
(1)下载mysql镜像:docker search mysql:5.7 ; docker pull 镜像名
(2)启动mysql容器:docker run -d --name mysql57 -p3308:3306 --restart=always --privileged=true -e MYSQL_ROOT_PASSWORD='123321' idyci/mysql

-d:后台启动 -it:前端启动(附带ui界面)
--name:容器名(自定义)
-p:绑定端口 (宿主端口:容器端口)
--restart=always:伴随docker一起启动
--privileged=true:是否拥有root权限
-e 设置项:设置环境变量
镜像名:一般放到最后,与本地镜像仓库名字相同
(3)检查容器运行状态
docker ps -a(-a显示所有状态的容器,缺省只能看到运行中的容器)

#部署tomcat
(1)拉去tomcat镜像文件:docker search tomcat:8.5 ; docker pull 镜像名
(2)运行tomcat容器:docker run -d --name tomcat8 -p 8090:8080 -v 宿主目录:容器目录 镜像名

-v 宿主目录:容器目录   
挂载目录,作用是把tomcat的webapps挂载到宿主目录,方便我们在宿主操作它

#查看容器的运行日志
docker logs 容器名

八、docker常用命令

devops:解决分布式发布的一种思想

  • 流水线自动化解决研发到发布的问题
  • 底层以来的就是docker容器技术

常用命令

#镜像相关

1.搜索镜像文件:docker search 镜像文件名:版本
2.拉取:docker pull 镜像文件名|ID
3.删除镜像:docker rmi 镜像文件名
4.提交镜像文件:docker commit
5.导出本地镜像文件:docker save -o xxx.tar 镜像文件(将本地镜像文件导出到linux目录下,用于备份或复制)
6.导入tar包到本地镜像库:docker load --input xxx.tar


#容器相关

1.把容器导出成tar包:docker export -o xxx.tar 容器名
2.把上一步tar包导入成镜像:docker import xxx.tar username/程序名:tag
3.把镜像文件上传到仓库:docker push 镜像文件名(前提要有docker hub的账户)
4.进入容器内部:docker exec -it 容器名 /bin/bash
5.在宿主和容器之间拷贝文件:docker cp 宿主目录 容器id|容器名:容器目录

#容器命令

1.创建容器:docker create --name 容器名字 镜像
2.查看所有容器:docker container ls -a
3.启动容器:docker start 容器名字
4.启动并运行容器:docker run --name r容器名字 镜像
5.停止容器:docker stop 容器名
6.删除容器:docker rm [-f] 容器名


九、windos下使用docker

docker desktop

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值