Day78.Linux 常用命令、安装jdk | Tomcat | Mysql

目录

一、VMware--创建生产的电脑工厂

Xshell和Xftp的安装

二、Linux 目录结构 ★

三、路径

四、VI | VIM 编辑器 ★

三个模式之间的切换关系

五、常用命令 ★

2、网络配置命令

3、进程类

4、服务类

5、netstat  查看系统的网络情况 

六、rpm 与yum ★

2、Yum操作

七、安装JDK

八、安装Tomcat(tar)

九、安装Mysql 

卸载Mysql

十、更多Linux命令 (了解)

1、Linux分区理论

2、Linux 磁盘分区操作

3、磁盘查询命令

 4、用户管理

5、文件和文件夹权限命令


一、VMware--创建生产的电脑工厂

所谓虚拟机(virtual machine),就是通过软件技术虚拟出来的一台计算机,它在使用层面和真实的计算机并没有什么区别。

安装了VMWare还没有虚拟机,它是来创建虚拟机的。VMWare每次新建虚拟机就相当于产生一台电脑。安装了VMware相当于开了一家生产电脑的工厂。

扩展:VMWare三种工作模式

所在类和宿主机通信和互联网联系和宿主机的局域网通信
桥接模式 bridged
(vmnet0)
和宿主机的网卡地址属于同一个网段
NAT 

网络地址转换模式

(vmnet8)
×和宿主机的地址不属于同一个网段
仅主机模式 

host-only

(vmnet1)
××可以用于病毒测试等特殊环境

Xshell和Xftp的安装

目前安装了Linux操作系统,光标需要在两个操作系统(两台电脑)之间进行切换。相当于在每个电脑上操作当前电脑

希望在宿主机上直接操作Linux(因为实际中Linux可以在远程,北冰洋、矿山、数据中心),更多的还是远程操作的。将自己的电脑模拟为远程电脑的一个终端,利用当前电脑的键盘发送命令控制远程的服务器,让远程服务器的CPU和内存进行运算,结果返回给客户端的显示器。

 Linux网络连接问题

问题1:ifconfig不显示ens33

ifconfig工具不仅可以被用来简单地获取网络接口配置信息,还可以修改这些配置。用ifconfig命令配置的网卡信息,在网卡重启后机器重启后,配置就不存在。要想将上述的配置信息永远的存的电脑里,那就要修改网卡的配置文件了。

ifconfig:显示up状态(激活状态)的网卡信息

ifconfig -a:显示所有网卡的信息,包含未up的

ifconfig ens33 down  关闭指定网卡

ifconfig ens33 up  启动指定网卡

ifconfig ens33 192.168.11.212 up 修改IP地址并启动

问题2:ifconfig显示ens33但是不显示ipv4

  1. 确保vmware的服务都开启
  2. 确保nat和vmnet8都开启
  3. 确保防火墙关闭状态
  4. 确保网卡的onboot=yes
  5. 最后的大招:禁用NetworkManager服务器,启用network服务(sudo可以尝试省略)

systemctl status NetworkManager    应该是active

systemctl disable NetworkManager   下次开机不会自动开启,现在没有关

systemctl stop NetworkManager      现在是开启状态,现在就关掉

systemctl start network.service        现在就开启network网络服务

reboot                重新启动

关于Windows和linux通信,VMNet8虚拟网卡

二、Linux 目录结构 ★

Linux一切皆文件,Linux中没有盘符的概念,使用一个/代表整个所有目录和文件的根目录。

/bin(/usr/bin、/usr/local/bin)  

是Binary 的缩写, 这个目录存放着最经常使用的命令

/sbin(/usr/sbin、/usr/local/sbin)

s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。

/home

存放普通用户的主目录,在Linux中每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。

/root

该目录为系统管理员,也称作超级权限者的用户主目录。

/lib 

系统开机所需要最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。

/lost+found

这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件

/etc(等等,感觉应该是conf)

所有的系统管理所需要的配置文件和子目录

/usr(unix software resource)

这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似与windows下的program files目录。

/boot 

这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件,自己的安装别放这里

/proc

这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。

/srv

service缩写,该目录存放一些服务启动之后需要提取的数据

/sys 

这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统sysfs

/tmp

这个目录是用来存放一些临时文件的。

/dev (device)

类似windows的设备管理器,把所有硬件用文件形式存储

/media(centos6)

linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。

/run

进程产生的临时文件,虚拟机加载光盘映像在:/run/media/root/  目录下

/mnt (mount)

系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将外部的存储挂载在/mnt/上,然后进入该目录就可以查看里的内容了。

/opt

这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。

/usr/local 

这是另一个给主机额外安装软件所摆放的目录。一般是通过编译源码方式安装的程序。

/var

这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。

三、路径

在Linux中,存在着绝对路径和相对路径。

  1. 绝对路径:路径的写法一定是由根目录 / 写起的,例如 /usr/local/mysql
  2. 相对路径:路径的写法不由根目录 / 写起的,例如当前目录是”/usr”,然后再进入到下级目录local,执行的命令为 “#cd local”,这个local是相对于/usr目录来讲的,所以称为相对路径。

在Linux中,有几个特殊的符号也可以表示目录。

  1. “/”:表示根目录
  2. “.”:表示当前目录,用在相对路径中,一般情况下会省略。
  3. “..”:表示当前目录的上一级目录,用在相对路径中,比如 cd ..
  4. “~”:表示/root目录

四、VI | VIM 编辑器 ★

vi:记事本 notepad

vim:notepad++ 功能更加强大

vi编辑器是所有Unix及Linux系统下标准的编辑器,他就相当于windows系统中的记事本一样,是我们使用Linux系统不能缺少的工具。

vim可以当作vi的升级版本,具有程序编辑的能力,可以以字体颜色辨别语法的正确性,方便程序设计。

三个模式之间的切换关系

vi和vim一共有三种工作模式:一般模式、编辑模式和命令模式。

  1. 一般模式:通过vi或者是vim打开文档后默认进入到一般模式,默认模式。该模式下主要负责查看和一些基础的修剪工作
  2. 编辑模式:在一般模式下通过字母i、a、o 进入到编辑模式,进入后左下角会有【插入】的字样.如想退出编辑模式,需要按下【ESC】按键
  3. 命令模式:在一般模式下输入 /或者: 进入命令模式,命令模式一般用于存盘、退出VIM 、显示行号、搜索、批量替换等操作.

打开后进入一般模式,编辑模式和命令模式之间无法之间转换,需要先通过ESC键进入到一般模式。

  • 一般模式(默认模式)

dd

删除光标当前行

dnd

删除n行

u

撤销上一步

Shift+g

移动到页尾

1+Shift+g

移动到第一行

N+shift+g

移动到第N行

Shift+6

移动到行头

Shift+4

移动到行尾

  • 编辑模式

iinsert

当前光标前录入

a

当前光标后录入

  • 命令模式

:w  write  :wq

保存

:q  quit

退出

:!   :q!

强制执行

:%s/old字符/new字符

批量替换

/要查找的词

搜索,n查找下一个,N查找上一个

:set nu (number)

显示行号

:set nonu

关闭行号

:noh (highlight)

取消高亮显示

 非正常退出可能会出现存在交换文件swp提示,此时按照提示进行相应操作即可,也可以使用rm命令直接删除swp文件。

五、常用命令 ★

ifconfig:获取虚拟机ip地址

systemctl status firewalld :查看防火墙状态
systemctl stop firewalld:关闭防火墙
systemctl start firewalld:开启防火墙

echo %PATH% cmd中查看环境变量
echo $PATH linux中查看环境变量

yum install 安装

man

帮助手册(mannual)

--help

帮助手册

clear

清除屏幕(ctrl+L)

pwd

显示当前所在目录(print working directory)

touch

创建文件 

cd

切换目录 (change directory)

mkdir

创建目录(make directory)

-p :同时创建多级目录 (parent)

ls

显示当前目录下的内容(list)

-a 全部文件,连同隐藏的文件

-l 列出详细列表 别名ll  (long)  cd  mkdir

grep

通过|管道符,配置grep进行过滤筛选。比如:

ls –l |grep xxx

ls –l |grep xxx | grep yyy

删选的是上一条命令的结果

rm

删除文件或者目录(remove)

-rvf:递归删除所有目录内容,有提示(recursive verbose force)

-rf:递归删除所有目录内容,无提示[慎用]

cp

复制(copy)

-r : 递归复制整个目录

-v:显示复制过程中文件的列表

\cp:强制覆盖不提示

mv

重命名或者移动文件(move)

mv  oldFileNamenewFileName重命名

mv/原目录/原文件/新目录移动文件

cat

查看文件

cat 文件名查看轻量级的文本文件

还有一个命令是tac,你猜是什么作用

more 

查看比较长的文件

空格键:向下翻一页

回车键:向下翻一行

q:代表立刻离开more

ctrl+F向下滚动一屏

ctrl+B向上滚动一屏

less

同more类似,比more功能更多

pageDown:向下滚动一页

pageUp:向上滚动一页

/字符串:向下搜索指定字符串

?字符串:向上搜索执行字符串

n:重复前一个搜索

N:反向重复前一个搜索

history

查看历史命令

tail

还有一个命令是head,作用是什么呢?

从尾部开始查看文件,比较适合看日志

-n200  显示的行数

-f:跟随查看  (其他进程可通过echo“内容“>>文件名追加内容到文件,tail命令可以观察到数据的变化)

echo

回显,输出

一般在shell脚本中使用较多

find

查找文件,提供了丰富的模糊搜索及条件搜索

Find+搜索路径+参数+搜索关键字

按文件名: find  /目录/…  -name  “*.txt”

find  /目录/…  -iname  “*.txt”  不区分字母大小写

locate

查找文件,基于索引,查询速度更快

locate '*.log'

locate -i  '*.log'  不区分大小写

通过updatedb来更新索引

tar

压缩文件、解压缩文件

tar -zcvf  xxx.tar.gz  xxxx压缩文件

tar -tvf xxxx压缩文件  查看压缩文件内容

tar -zxvf xxx.tar.gz  解压缩文件

-c:创建一个新归档 create

-x:从归档中解出文件 

-v:显示详细信息 verbose

-f:指定压缩后的文件名 file

-z:通过gzip过滤归档

-t: 查看压缩文件中内容

2、网络配置命令

  • 查看网络配置信息

ifconfig / ip addr

  • 如何修改ip为固定IP

如使用Linux作为服务器使用,应采用固定IP地址,而不是自动分配IP,避免变化。

图形化操作

命令行方式vim  /etc/sysconfig/network-scripts/ifcfg-ens33

#静态分配IP,而不再使用DHCP动态分配

BOOTPROTO="static"

#IP和子网掩码

IPADDR=192.168.86.86

NETMASK=255.255.255.0

#网关和DNS服务器

GATEWAY=192.168.86.2

DNS1=114.114.114.114

DNS2=8.8.8.8

3、进程类

相当于windows中任务管理器

a、显示系统中运行的进程

命令1: ps - aux | grep xxx  可以看到CPU 内存占用率

命令2:ps -ef | grep xxx 可以看到父进程ID

 -a : 显示当前总段的所有进行信息

-u : 以用户的格式显示进程信息

-x : 显示后台进程运行的参数

-e 显示所有进程。

-f 全格式。

b、结束任务(杀死进程)

 kill  pid  杀死进程

 kill -9 pid  强制杀死进程

4、服务类

  • 有方便统一的管理方式(常用的方法)

systemctl status 服务名(xxxx.service)

systemctl start 服务名(xxxx.service)

systemctl stop 服务名(xxxx.service)

systemctl restart 服务名(xxxx.service)

systemctl reload 服务名(xxxx.service)

  • 通过systemctl命令设置自启动

systemctl enable service_name  自启动

systemctl disable service_name  不自启动

注:disable只能保证下次开机不启动,当前依旧打开状态,需要执行stop

  • 查看服务的方法

/usr/lib/systemd/system

  • 查看服务的命令

systemctl list-unit-files

systemctl --type service

  • 运行级别

 查看默认级别:vim /etc/inittab

multi-user.target 等价于原运行级别3(多用户有网,无图形界面)

graphical.target 等价于原运行级别5(多用户有网,有图形界面)

Linux系统有7种运行级别(runlevel):常用的是级别3和5

运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动

运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登陆

运行级别2:多用户状态(没有NFS),不支持网络

运行级别3:完全的多用户状态(有NFS),登陆后进入控制台命令行模式

运行级别4:系统未使用,保留

运行级别5:X11控制台,登陆后进入图形GUI模式

运行级别6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动

5、netstat  查看系统的网络情况 

netstat -anp

-an  按一定顺序排列输出

-p  显示哪个进程在调用

需求:启动tomcat,提示端口8080被占用,该怎么办?

netstat  –anp | grep  8080 查看占用8080端口的进程

kill pid  删除占用了8080端口的进程()

六、rpm 与yum ★

1、rpm

Rpm:就好比之前的jar处理方案。需要下载安装包,如果有依赖的安装包,必须也下载下载,安装软件的时候,先安装依赖的,再安装其他.。非常繁琐

Yum:就是RPM安装,但是时候RPM的自动化安装,不需要下载依赖,会自动到官网下载,并且依赖的安装包会自动下载,自动安装

  1. RPM(RedHat Package Manager),Rethat软件包管理工具,类似windows里面的setup.exe。是Linux这系列操作系统里面的打包安装工具,它虽然是RedHat的标志,但理念是通用的。RPM包的一般安装位置

查询已安装的rpm列表

rpm  –qa | grep xx

  • rpm包的名称:firefox-52.5.0-1.el7.centos.x86_64

名称:firefox  版本号:52.5.0-1

适用操作系统: el7.centos.x86_64 表示centos7.x的64位系统。

  • 安装rpm

rpm –ivh rpm包名

-i 安装 (install)    -v 查看信息 (verbose)     -h 查看进度条

2、Yum操作

使用RPM安装软件依赖关系严重,不管是安装还是卸载,都需要先处理依赖软件,考验耐心。为了解决该方式,推出了yum安装方式。

Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。

类似于Java开发中的Maven工具,可以从镜像网站上下载应用程序并直接安装

yum list:列出所有可安裝的软件清单

yum list installed  列出已经安装的软件清单

yum list | grep xxx:从列出所有可安裝的软件清单中查询指定软件

yum search xxx:查找软件包命令

yum install xxx:下载并安装指定的软件

yum remove xxx:删除软件包命令:

七、安装JDK

1、使用Vftp传输JDK安装文件到Linux:jdk-8u221-linux-x64.tar.gz2

2、在opt目录使用tar将JDK解压缩到opt目录下:tar -zxvf jdk-8u221-linux-x64.tar.gz 、

3、配置环境变量:vim  /etc/profile

export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL

JAVA_HOME=/opt/jdk1.8.0_221

PATH=$JAVA_HOME/bin:$PATH

export JAVA_HOME PATH

注意:分隔符是冒号不是分号;引用环境变量不是使用%,而是使用$

4、查看安装是否成功

echo $JAVA_HOME     echo $PATH

5、解析文件:让配置生效,可以避免重启系统

source /etc/profile

6、查看安装是否成功

 java -version

八、安装Tomcat(tar)

TonCat

startup.sh 启动 

shutdown.sh 关闭

1、使用Vftp传输Tomcat7安装文件到Linux:

2、使用tar解压缩到/opt目录

解压:tar -zxvf apache-tomcat-7.0.70.tar.gz

文件夹改名(可选):mv apache-tomcat-7.0.70  tomcat7

3、进入到Tomcat目录下的bin目录中,启动tomcat  

./startup.sh

注意:不可以直接访问startup.sh。使用命令行执行某个程序时,Linux会到PATH环境变量的路径去搜索程序文件,但在默认情况下,Linux和Windows不同,Windows会搜索当前目录,而Linux不会搜索当前目录,所以在当前目录下的程序,而当前目录不再PATH环境变量中的话,就需要加上"./"来指定到当前目录下去查找应用程序了。

4、宿主机中,在浏览器中访问Tomcat。(确保Linux端防火墙已经关闭)

 5、可选:配置环境变量并解析配置文件:(和)

vim  /etc/profile

CATALINA_HOME=/opt/tomcat7
PATH=$CATALINA_HOME/bin:$PATH
export CATALINA_HOME PATH

source /etc/profile

startup.sh

九、安装Mysql 

1、检查工作

  • CentOS7  判断mariadb是否已经存在:rpm -qa|grep mariadb

如果已存在,先执行卸载命令:rpm -e --nodeps mariadb-libs

  • 检查/tmp文件夹权限(可选)   执行:chmod -R 777 /tmp

ll

drwxrwxrwt.  19 root root 4096 6月  10 10:59 tmp

chmod -R 777 /tmp

drwxrwxrwx.  19 root root 4096 6月  10 10:59 tmp

2、拷贝安装包到opt目录下

3、执行以下命令进行安装

rpm -ivh MySQL-client-5.5.54-1.linux2.6.x86_64.rpm

rpm -ivh MySQL-server-5.5.54-1.linux2.6.x86_64.rpm

4、检查安装是否成功

执行mysqladmin --version,如果打印出消息,即为成功

 5、MySQL服务的启停

启动: service mysql start

停止: service mysql stop

6、设置root用户的密码

mysqladmin -u root  password '密码'

7、本地登录MySQL

mysql  -u root  -p  

8、通过图形管理功工具,远程访问Mysql

MySQL默认的root用户只允许本机登录,无法通过远程SQLyog工具登录

 9、创建可以远程访问的root用户并授予所有权限 (数据库远程访问)

mysql5.7及以前版本:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root(你的密码)' WITH GRANT OPTION;

mysql 8版本执行下面语句 

#Mysql8 创建用户
CREATE USER 'root'@'%' IDENTIFIED BY 'root(你的密码)';
#进行授权
grant all privileges on *.* to 'root'@'%' ;

#刷新用户权限
FLUSH PRIVILEGES;

其中"."代表所有资源所有权限, “‘root’@%”其中root代表账户名,%代表所有的访问地址。IDENTIFIED BY ‘密码’,这里换成数据库root用户的密码,WITH GRANT OPTION表示允许级联授权。

  • 查看MySQL  mysql库中的用户表

列显示: select * from user\G;

查询常用字段: select host,user,password,select_priv from mysql.user;

  • 修改用户的密码

修改当前用户的密码

set password =password('123456’)

修改某个用户的密码

update mysql.user set password=password('123456') where user='li4';

卸载Mysql

MySQL必须干净卸载,否则会影响二次安装

  1. 关闭MySQL服务:service mysql stop
  2. 卸载客户端:rpm -e MySQL-client-5.5.54-1.linux2.6.x86_64
  3. 卸载服务器端:rpm -e MySQL-server-5.5.54-1.linux2.6.x86_64
  4. 查看残留并删除:whereis mysql
  5. 查看残留并删除:find / -iname 'mysql '  尤其其中/var/lib/mysql一定要确保删除

注意:

Linux whereis命令,会在特定目录中查找符合条件的文件,这些文件应属于原始代码、二进制文件,或是帮助文件。一般文件的定位需使用locate或者find命令。

十、更多Linux命令 (了解)

1、Linux分区理论

Linux来说无论有几个分区,却只有一个根目录,一个独立且唯一的文件结构。Linux中每个分区都是用来组成整个文件系统的一部分,因此它采用了一种叫“挂载点”的处理方法,将一个分区和一个目录联系起来,称为将该分区挂载到该目录,通过访问该目录来实现对该分区的访问

2、Linux 磁盘分区操作

1. 查看目前的磁盘分区及其挂载情况

lsblk 或者lsblk -f

 2. 给虚拟机再添加一个硬盘,对该硬盘进行分区操作

 3. 分区

分区方案:一个主分区,一个扩展分区(扩展分区再划分两个逻辑分区)

开始分区后输入n新增分区,然后选择p ,分区类型为主分区。两次回车默认剩余全部空间。最后输入w写入分区并退出,若不保存退出输入q。

通过fdisk /dev/sdb 开始对/sdb进行分区,

m  显示命令列表

p显示磁盘

n新增分区

d删除分区

w写入并退出分区

q 退出不保存


4. 高级格式化:针对每个分区

 mkfs -t ext4 /dev/sdb1

 mkfs -t ext4 /dev/sdb5

 mkfs -t xfs /dev/sdb6

 5. 目录挂载

 mount /dev/sdb1 mypart1

 mount /dev/sdb5 mypart2

 mount /dev/sdb6 mypart3

取消挂载:umount

 umount /dev/sdb5

 umount /opt/mypart3

3、磁盘查询命令

free -m 查看内存

df -h 查询系统整体磁盘使用情况

 查询指定目录的磁盘占用情况,默认为当前目录

-s 指定目录占用大小汇总

-h 带计量单位

-a 含文件

--max-depth=1  子目录深度

-c 列出明细的同时,增加汇总值

例:du  -ach  --max-depth=1   /opt

 

 4、用户管理

  • 对用户的操作

新增用户:useradd 新用户名  观察home目录下新增了用户主目录

设置密码: passwd  用户名

用户是否存在:id  用户名

切换用户:su 切换用户名

查看当前用户/登录用户:whoami/ who am I

删除用户:userdel 用户名

删除用户:userdel -r 用户名 同时删除主目录

  • 对用户组的操作

新增组:groupadd 组名

修改用户的组:usermod –g 用户组 用户名

增加用户时直接加上组:useradd –g 用户组用户名

删除组:groupdel组名

5、文件和文件夹权限命令

指定:-ls -l 或 -ll 查看文件详情

  1. 第一种方式:+ 、-、= 变更权限

u:所有者  g:所有组  o:其他人

    a:所有人(u、g、o的总和)

chmod   u=rwx,g=rx,o=x   文件目录名

chmod o+w文件目录名

chmod   a-x    文件目录名

  1. 第二种方式:通过数字变更权限

r=4 w=2 x=1        rwx=4+2+1=7

chmod u=rwx,g=rx,o=x    文件目录名

相当于chmod   751  文件目录名 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值