Linux笔记

 

Linux概述

Linux介绍

Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIXUNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位64位硬件。Linux继承了Unix网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

Linux操作系统诞生于1991 10 5 (这是第一次正式向外公布时间)。Linux存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机平板电脑路由器、视频游戏控制台、台式计算机、大型机和超级计算机。

严格来讲,Linux这个词本身只表示Linux内核,但实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU工程各种工具和数据库的操作系统。

Linux发展史

1.1965 年,Bell 实验室、MIT、GE(通用电气公司)准备开发 Multics 系统,为了同时支持 300 个终端访问主机,但是 1969 年失败了;

(刚开始并没有鼠标、键盘,输入设备只有卡片机,因此如果要测试某个程序,则需要将读卡纸插入卡片机,如果有错误,还需要重新来过; Multics:Multiplexed Information and Computing Service)

2. 1969 年,Ken Thompson(B语言之父)利用汇编语言开发了 FIle Server System(Unics,即 UNIX 的原型)

(因为汇编语言对于硬件的依赖性,因此只能针对特定硬件; 只是为了移植一款“太空旅游”的游戏;)

3. 1973 年,Dennis Ritchie 和 Ken Thompson 发明了 C 语言,而后写出了 UNIX 的内核

(将 B 语言改成 C 语言,由此产生了 C 语言之父; 90% 的代码是 C 语言写的,10% 的代码用汇编写的,因此移植时只要修改那 10% 的代码即可;)

4. 1977 年,Berkeley 大学的 Bill Joy 针对他的机器修改 UNIX 源码,称为BSD(Berkeley Software Distribution)

5. 1979 年,UNIX 发布 System V,用于个人计算机;

1984 年,因为 UNIX 规定:“不能对学生提供源码”,Tanenbaum 老师自己编写兼容于 UNIX 的Minix,用于教学;

6. 1984 年,Stallman 开始 GNU(GNU's Not Unix)项目,创办 FSF(Free Software Foundation)基金会;

(产品:GCC、Emacs、Bash Shell、GLIBC; 倡导“自由软件”; GNU 的软件缺乏一个开放的平台运行,只能在 UNIX 上运行; 自由软件指用户可以对软件做任何修改,甚至再发行,但是始终要挂着 GPL 的版权; 自由软件是可以卖的,但是不能只卖软件,而是卖服务、手册等;)

7. 1985 年,为了避免 GNU 开发的自由软件被其他人用作专利软件,因此创建 GPL(General Public License)版权声明;

1988 年,MIT 为了开发 GUI,成立了 XFree86 的组织;

1991 年,芬兰赫尔辛基大学的研究生 Linus Torvalds 基于 gcc、bash 开发了针对 386 机器的 Linux 内核;

8. 1994 年,Torvalds 发布 Linux-v1.0;

1996 年,Torvalds 发布 Linux-v2.0,确定了 Linux 的吉祥物:企鹅;

如图-9所示

 

图- 9

Linux系统层级结构

 

  1. Linux特点
  1. 系统开源并且免费
  2. 对硬件要求很低 800M  3-4
  3. 系统稳定性强
  4. 系统安全性更好  (军工企业 断网)

Linux系统主流产品

Linux命令

 

  1. cd命令集

ifconfig/ip addr  检查IP地址

pwd               检查当前的位置

tab键             自动补齐(注意唯一性)

cd命令是linux中最基本的命令语句,必须熟练掌握

cd / 返回根目录

cd ~ 用户主目录

cd . 当前目录

cd ..返回到上一级目录

cd /usr/ 进入到usr目录

cd – 返回上一个目录

cd 直接回家

clear 清屏

  1. ls目录和文件

ls是查看文件的指令

ls / :查看ls目录下所有文件

ls –l 详细格式,文件权限,时间

ll 和ls –l作用相同

ls *.txt 查看所有的txt类型文档

  1. 目录操作

mkdir 创建目录

mkdir a 创建 a目录

mkdir -p a/b 创建 a目录,并在a目录里创建b目录

mkdir -m 777 c 创建一个权限为777的C目录

rmdir  删除目录(如果目录里有文件,则不能用此命令)

  1. Vi/vim创建/查看/编辑文件

命令行:Esc切换到命令行模式。

编辑模式:

按i,在光标前开始编辑

按a,在光标后开始编辑

按o,在当前行的下一行开始编辑

按u, 撤销之前的操作

底行模式:按  shift+:冒号。

:q! 不保存退出

:wq 保存退出。无论文件有没有被修改都写入

:x 保存退出。仅当文件被修改时才写入,并更新文件修改时间;否则不会更新文件修改时间。

:/world 从当前光标处,向上查找world关键字

:?world 从当前光标处,向后查找world关键字

  1. 删除文件

rm 删除文件

rm n.txt 提示y删除n放弃

rm –f n.txt 不提示

rm –rf dirname 不提示递归删除目录下所以内容

rm –rf * 删除所有文件

rm –rf /* 删除所有根目录下的子目录所有和文件

  1. 复制和移动文件

cp复制文件

cp nginx.conf n.txt

cp –R tomcat1 tomcat2                #复制整个目录

mv 修改文件名,移动文件

mv n.txt m.txt  修改文件名称

  1. 浏览文件

cat 输出文件所有的内容

more 输出文档所有的内容,分页输出,空格浏览下一屏,q退出

less 用法和more相同,只是通过PgUp、PgOn键来控制

tail 用于显示文件后几号,使用频繁

tail -10 nginx.conf 查看nginx.conf的最后10行

tail –f nginx.conf 动态查看日志,方便查看日志新增的信息

ctrl+c 结束查看

  1. 打包命令

tar命令位于/bin目录下,它能够将用户所指定的文件或目录打包成一个文件,但不做压缩。一般Linux上常用的压缩方式是选用tar将许多文件打包成一个文件,再以gzip压缩命令压缩成name.tar.gz的文件。

-c 创建一个新的tar文件

-v 显示运行过程的信息

-f 指定文件名

-z 调用gzip压缩命令进行压缩

-t 查看压缩文件的内容

-x 解开tar文件

tar –cvf n.tar ./* 压缩当前目录下的所有文件和目录,文件名为n.tar

tar –xvf n.tar 解压压缩包中的文件到当前目录(如果长时间未解压成功 Ctrl+C推出)

tar –cvzf m.tar.gz ./* 压缩文件

tar -zxvf m.tar.gz   解压m.tar文件到当前目录

  1. grep命令

grep root  /etc/passwd   在文件中查找关键字root

grep root  /etc/passwd  –-color         高亮显示

grep root  /etc/passwd  –A5 –B5         高亮显示,A后5行,B前5行

grep -n root /etc/passwd  查找并显示行数

grep -v root /etc/passwd   取反,查出不含root的数据

  1. 主机名命令root@ localhost

1.root 表示用户是root

可通过su username命令来更换,后面再演示。

2.@为连接符,固定格式

3.localhost 为当前计算机主机名

通过hostname命令查看,redhat和centos默认主机名为localhost.localdomain

4.修改主机名—使用hostname命令

[root@bogon ~]# hostname  localhost

[root@bogon ~]# su

[root@ localhost ~]# 这样既可,但可能有些linux版本下应用程序仍不能正常使用

5.su  为切换命令

虚拟机安装和使用

  1. 虚拟机介绍

虚拟系统通过生成现有操作系统的全新虚拟镜像,它具有真实windows系统完全一样的功能,进入虚拟系统后,所有操作都是在这个全新的独立的虚拟系统里面进行,可以独立安装运行软件,保存数据,拥有自己的独立桌面,不会对真正的系统产生任何影响 ,而且具有能够在现有系统与虚拟镜像之间灵活切换的一类操作系统。虚拟系统和传统的虚拟机(Parallels Desktop VmwareVirtualBoxVirtual pc)不同在于:虚拟系统不会降低电脑的性能,启动虚拟系统不需要像启动windows系统那样耗费时间,运行程序更加方便快捷;虚拟系统只能模拟和现有操作系统相同的环境,而虚拟机则可以模拟出其他种类的操作系统;而且虚拟机需要模拟底层的硬件指令,所以在应用程序运行速度上比虚拟系统慢得多。

  1. 运行虚拟机镜像

将课前资料中的虚拟机镜像解压到本地磁盘中(不要有中文和空格),之后双击运行.vmx文件.

 

  1. 虚拟机配置

如图所示

 

内存:一般最大为真实内存的3/4, 一般为512M-1G

硬盘:一般默认20G

    如果上述的设置一旦确定,则直接向操作系统割裂对应数据的资源.

网络模式:桥接模式/NAT模式

网络模式

  1. 桥接模式

相当于将虚拟机直接接入局域网中,这时会独占IP地址.可以与本机通过局域网通信.

特点:所有的在局域网中的IP都可以访问虚拟机.

依赖:如果设置桥接模式,则必须有物理设备的支持.

 

  1. NAT模式

相当于在网络环境中会开辟一块全新的网络空间.只有主机能够访问.

特点:NAT模式只有主机访问,其他人通过IP地址禁止访问.

如图-12所示

 

图- 12

虚拟机克隆

说明:JT虚拟机中安装了很多插件和环境.为了保护环境不被破坏.所以需要克隆虚拟机备份数据.之后的操作全部在备份的机器上运行.

如图-13所示

图- 13

如图-14所示

图- 14

LinuxIP划分和链接

  1. IP划分

本机IP:192.168.126.1

虚拟机IP:192.168.126.180

说明:以上的IP地址表示在同一个网络空间内.如果前三项不一致,则按照以下方式修改.

 

  1. IP地址动态修改

 

配置租约:

 

  1. 配置静态IP地址

设定ip地址:192.168.126.166

 

  1. 修改时间

 

Xshell

  1. Xshell介绍

说明:

Xshell是远程连接Linux系统的工具.可以进行文件传输.命令的编辑等一列的操作.和操作真实的Linux系统一致.我们学的MobaXterm.exe

连接步骤:

  1. 获取服务器IP地址
  2. 获取服务器用户名和密码
  3. Xshell远程连接工具都是加密传输 公钥和私钥
  4. 远程连接方式

说明:新建会话后连接远程虚拟机

 

Linux系统安装JDK

  1. 上传JDK安装包

说明:将JDK安装包上传到指定文件目录下/usr/local/src下

如图-16所示

 

图- 16

  1. 解压JDK文件

命令: tar -xvf jdk-7u51-linux-x64.tar.gz

如图-17所示

 

图- 17

  1. 配置环境变量

说明:修改Linux系统中环境变量需要修改/etc/profile文件

命令:vim /etc/profile

配置文件变量

#set java env

JAVA_HOME=/usr/local/src/java/jdk1.7.0_51

JAVA_BIN=/usr/local/src/java/jdk1.7.0_51/bin

PATH=$JAVA_HOME/bin:$PATH

CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export JAVA_HOME JAVA_BIN PATH CLASSPATH

环境变量生效:

source /etc/profile

  1. 检测JDK是否生效

命令:java -version

如图-18所示

 

图- 18

Linux安装mariadb

  1. 在线安装:yum install mariadb-server(无视安装路径)

如果下载失败:执行[root@localhost src]# yum  clean   all

1.  启动命令    [root@localhost src]# systemctl  start  mariadb

2.  重启命令    [root@localhost src]# systemctl  restart  mariadb

3.  关闭命令    [root@localhost src]# systemctl  stop  mariadb

4.  设定开机自起 [root@localhost src]# systemctl  enable mariadb

5.  关闭开机自起 [root@localhost src]# systemctl  disable mariadb

6. 数据库初始化操作 mysql_secure_installation  若第一次操作,先回车,提示设置密码设置密码,然后一路Y就行。

7. 登录mysql: mysql –u –root –p

8. 在数据库操作时 使用ctrl+L 清屏 而不是输入clear

9. 要想sqlyog连接linux虚拟机数据库,远程连接数据库(Windows>linux)

1.需要新建连接,ip地址为虚拟机IP

    2.虚拟机的数据库user中localhost连接改为%,意为任何人可访问,

使用mqsql库:use mysql

查询:select host,user from user

修改:update user set host=”%” where host=”localhost”

3.关闭防火墙:

  检查:firewall-cmd –state

告诉配置文件不需要防火墙:systemctl disable firewalld.service

手动将防火墙关闭:systemctl stop firewalld.service

检查:firewall-cmd –state

4.打开防火墙步骤为

检查:firewall-cmd –state

告诉配置文件需要防火墙:systemctl enable firewalld.service

手动将防火墙打开:systemctl start firewalld.service

检查:firewall-cmd –state

在Linux中部署服务器

  1. 将后端Windows的上传路径改成Linux的

#服务器在远程Linux时,将原有上传路径改为linux中的文件路径

image.localDirPath=/usr/local/src/images

  1. 将修改后的后端服务器打包

每个端口一个包,相当于每个端口一台服务器。

 

  1. 打好的服务器jar包导入到linux 的src目录下

linux中键入java –jar 8091.jar启动服务器。

  1. 服务器页面意外关闭,进程却未关闭

1.查询进程

查询所有进程:ps

java专用查询进程: 键入jps可查询jar进程号.

通用查询进程:ps –ef | grep java

                  ps –ef | grep java

2.关闭进程

    普通结束进程: kill +        查询到的pid进程号

尽量结束进程: kill + -15 +  查询到的pid进程号

强制结束进程: kill + -9  +  查询到的pid进程号

  1. linux中部署多个服务器

前台部署:java –jar 8091.jar

          打印日志到前台,前台部署终端关闭进程不服务被挂起。

后台部署:nohup java –jar 8091.jar =>8091.log

          打印日志到8091.log 后台部署不受终端关闭影响。

多服部署:nohup java –jar 8091.jar =>8091.log &

          要开启多服务需加&符号

  1. 安装nginx
  2. 下载Linux版本nginx导入src目录
  3. 与 解压JDK一样解压nginx,文件夹名改为nginx-source(源文件)
  4. 配置nginx: nginx-source目录中:./configure

如果 ./configure 报错没有权限,则执行如下命令

chmod + x configure

  1. 配置完输入make
  2. make结束输入make install
  3. Nginx工作目录说明: 使用whereis nginx 查找nginx文件在哪
  4. 跳转至nginx程序文件
  5. 跳转至nginx程序文件下的sbin目录
  6. 启动nginx:./nginx      windows中是start nginx
  7. 重启命令: ./nginx -s reload windows中是nginx reload
  8. 关闭命令: ./nginx -s stop   windows中是nginx stop
  9. 上传前端静态资源

将前端vue ui打包好的dist文件拖入Linux中的nginx程序目录下。

  1. 重新配置nginx 的nginx.conf文件

Linux中项目更新

Linux中的项目更新会比较麻烦,原有架构需要关闭整个服务器进行维护,一个小问题会影响服务器中所有服务,如何解决请参考微服务

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值