linux基础初探

一、linux的基本操作

1.1、linux的目录结构

Windows的目录结构是带有盘符的。D: E: C:

  • 在Xterm中输入ls查看顶级目录:
    在这里插入图片描述

  • 目录的树状图:
    在这里插入图片描述

  • 各个目录的说明
    root:该目录是系统管理员HOME目录
    bin:存放经常使用的命令。如:ls
    boot:存放的是启动linux时的一些核心文件
    etc:存放系统管理所需要的配置文件和子目录
    home:普通用户的HOME目录(该目录不是所有用户共享,里面还有一些子目录)
    usr:默认安装软件的目录(类似windows中的Program Files目录)
    opt:是主机额外安装软件摆放的目录(如docker)

1.2获取linux中的信息

  1. 获取当前用户(我是谁):
# who am i
  1. 当前所在的目录(我在哪):
 # pwd
  1. 查看ip地址:
# ip a
# ip addr
  1. 清屏:
# clear
  1. ping域名 | id
ping 地址
  1. 强制停止:
    ctrl+c

二、linux基本命令

Linux中命令的基本格式:命令 [选项] [参数]
注意,个别命令是不遵循这个格式的
当命令有多个选项时,可以写在一起,并且选项也是由简写方式的 命令 -选项a选项b

2.1

列出目录:

# ls [-ald] [目录名]

目录名不填写,默认为当前目录

-a:列出的全部的文件,包括隐藏文件
-l:列出全部的信息
-d:仅查看目录本身
  • -a 示例,列出来所有的文件,包括以点开头的隐藏文件,1个点代表当前目录,2个点代表上一级目录
[root@localhost ~]# ls -a
.  ..  anaconda-ks.cfg  .bash_history  .bash_logout  .bash_profile  .bashrc  .cshrc  .tcshrc
  • -l 示例,列出了当前目录只有anaconda-ks.cfg这个文件,并且显示它的全部信息
[root@localhost ~]# ls -l
总用量 4
-rw-------. 1 root root 1241 12月 11 15:01 anaconda-ks.cfg
  • -d示例,只显示
[root@localhost ~]# ls -d
.
  • -al示例,表示查看当前目录所有文件以及他们的全部信息
[root@localhost ~]# ls -al
总用量 28
dr-xr-x---.  2 root root  135 12月 11 15:04 .
dr-xr-xr-x. 17 root root  224 12月 11 15:01 ..
-rw-------.  1 root root 1241 12月 11 15:01 anaconda-ks.cfg
-rw-------.  1 root root  724 12月 11 16:13 .bash_history
-rw-r--r--.  1 root root   18 12月 29 2013 .bash_logout
-rw-r--r--.  1 root root  176 12月 29 2013 .bash_profile
-rw-r--r--.  1 root root  176 12月 29 2013 .bashrc
-rw-r--r--.  1 root root  100 12月 29 2013 .cshrc
-rw-r--r--.  1 root root  129 12月 29 2013 .tcshrc

注:linux中的隐藏文件是以“ . ”开头的当前目录使用“ . ”表示,上一级目录使用“ … ”表示。

2.2 切换目录

  1. 切换目录
 cd 路径

路径可以填写的内容
在这里插入图片描述

  1. 创建目录
- mkdir [-p] 目录名

-p :代表创建多级目录时使用。

创建一个名为test的目录

[root@localhost ~]# mkdir test
[root@localhost ~]# ls
anaconda-ks.cfg  test
在test中创建多级目录 aa/bb
[root@localhost ~]# cd test
[root@localhost test]# mkdir -p aa/bb
[root@localhost test]# ls
aa
[root@localhost test]# cd aa
[root@localhost aa]# ls
bb
  1. 删除目录:
rmdir 目录名

只能删除空目录

[root@localhost ~]# rmdir test
rmdir: 删除 "test" 失败: 目录非空
[root@localhost ~]# cd test/aa
[root@localhost aa]# ls
bb
[root@localhost aa]# rmdir bb
[root@localhost aa]# ls
[root@localhost aa]#
  1. 删除非空目录:
rm [-rf] 目录名

-r 代表递归删除目录下的全部内容

[root@localhost test]# rm aa
rm: 无法删除"aa": 是一个目录
[root@localhost test]# rm -r aa
rm:是否进入目录"aa"? n

-f 不询问,直接删除

[root@localhost test]# rm -rf aa
[root@localhost test]# ls
[root@localhost test]#
  1. 复制目录
cp -r 来源目录 目标目录

-r 代表递归复制全部

[root@localhost test]# mkdir -p zz/xx   //创建zz/xx多级目录
[root@localhost test]# ls
zz
[root@localhost test]# cd
[root@localhost ~]# ls
anaconda-ks.cfg  test
[root@localhost ~]# cp -r test /usr   //复制test目录到/usr目录中
[root@localhost ~]# cd /usr
[root@localhost usr]# ls   //查看,usr中已经存在test目录
bin  etc  games  include  lib  lib64  libexec  local  sbin  share  src  test  tmp
[root@localhost usr]#
  1. 移动、重命名目录
mv 目录名 新目录名
mv 目录名 路径

如果第二个参数不存在,就是重命名,如果第二个参数的路径存在,就是移动

  • 移动到已经存在的参数下
[root@localhost test]# ls
vv
[root@localhost test]# mv vv ~
[root@localhost test]# ls
[root@localhost test]# cd
[root@localhost ~]# ls
  • 已经存在的vv被重命名为ccc
[root@localhost ~]# mv vv ~/ccc
[root@localhost ~]# ls
anaconda-ks.cfg  ccc  test
[root@localhost ~]#

2.3文件的命令

  1. 创建文件
 touch 文件名
 touch 文件名1 文件名2 

示例1

[root@localhost test]# touch a.txt
[root@localhost test]# ls
a.txt

示例2

[root@localhost test]# touch b.class c.doc
[root@localhost test]# ls
a.txt  b.class  c.doc
[root@localhost test]#
  1. 编辑文件
vi 文件名     查看文件(这时候是查看模式)
i | a | o       进入编辑模式。(编辑模式)

i 在当前光标处,进入编辑模式。
a 在当前光标后一格,进入编辑模式
o 在当前光标下一行,进入编辑模式
esc 退出编辑模式,回到查看模式
:从查看模式进入到底行命令模式
#:在底行命令模式下,输入“ wq:”保存并退出,输入“q!:”不保存并退出
在查看模式下,Shift+ZZ,可以快速保存并退出。

  • 编辑文件的其他操作
    #在底行命令模式下,可以输入的内容。
:set nu     //查看文件的行号
to 行号        //快速跳转到输入的某一行
:set nonu            //取消行号

直接在查看模式下输入

/具体内容   //类似Windows的Ctrl+F搜索文件中的具体内容所在位置,查看下一个可以输入n(代表next)
  1. 查看文件
cat 文件名   //从第一行开始查看文件内容,展示全部

示例1:
在这里插入图片描述


tac 文件名   //从最后一行开始展示

示例2
在这里插入图片描述


nl 文件名    //显示文件时,展示行号

示例3
在这里插入图片描述


more 文件名  //查看大文件时,可以一页一页的向下翻(按空格或回车),摁q快速退出

示例4:
在这里插入图片描述
在这里插入图片描述


less 文件名   //查看大文件时,可以任意的向上或者向下翻(鼠标中键滚动,上下键,PageUP和PageDown是翻页,摁q退出)

在这里插入图片描述


head 文件名   //只查看几行

在这里插入图片描述


tail 文件名   //只查看后几行
tail -f 日志文件  //监控日志

在这里插入图片描述

  1. 移动、重命名文件
mv 文件名 新文件名
mv 文件名 目录
  1. 复制文件
cp 文件 目录
  1. 删除文件
rm [-f] 文件名

-f:是否询问。

2.4 针对压缩包的操作

Linux中常用的压缩包,大多是 ” .tar “,“.tar.gz”,“tgz”的。
但是linux不仅仅针对tar类型的压缩包,也支持zip,rar这种windows下的压缩包

  1. 针对tar类型的压缩包操作
  • 解压压缩包:
tar -[zxvf] 压缩包名称 [-C 路径]

-z 代表压缩包后缀是.gz的
-x 代表解压
-b 解压时,打印详细信息
-f 必须放在所有选项的最后,代表文件名称
-C 将压缩包解压到指定路径

  • 打包压缩包:
tar [-zcvf] 压缩包名称 文件1 文件2 目录1 目录2.....

-c:代表打包

打包a.txt b.class c.doc到base.tar.gz压缩文件

 [root@bogon test]# ls
a.txt  b.class  c.doc
[root@bogon test]# tar -zcvf base.tar.gz a.txt b.class c.doc
a.txt
b.class
c.doc
[root@bogon test]# ls
a.txt  base.tar.gz  b.class  c.doc
[root@bogon test]#

创建kk目录,解压base.tar.gz到kk

[root@bogon test]# tar -zxvf base.tar.gz -C kk
a.txt
b.class
c.doc
[root@bogon test]# cd kk
[root@bogon kk]# ls
a.txt  b.class  c.doc
[root@bogon kk]#
  1. 针对zip压缩包
    Linux默认不支持zip压缩包格式的。需要安装zip(打包),unzip(解压)
    安装:
yum -y install zip
yum -y instal unzip
  • 解压
 unzip 压缩包名称
  • 打包:
 zip 压缩包名称 文件1 文件2 目录1 目录2 ...

压缩示例:

[root@localhost test]# zip base2.zip a.txt b.class c.doc
  adding: a.txt (stored 0%)
  adding: b.class (stored 0%)
  adding: c.doc (stored 0%)
[root@localhost test]# ls
a.txt  base2.zip  base.tar.gz  b.class  c.doc  kk

解压示例:

[root@localhost mm]# unzip base2.zip
Archive:  base2.zip
 extracting: a.txt
 extracting: b.class
 extracting: c.doc
[root@localhost mm]# ls
a.txt  base2.zip  b.class  c.doc
[root@localhost mm]#

2.5、用户&用户组的操作

linux是一个多用户的操作系统,任何一个用户想要操作linux操作系统,必须向系统管理员申请一个账号才可以,以这个账号的省份去操作Linux。
用户的账号一方面可以帮助系统管理员追踪当前用户的操作,另一方面可以控制当前用户对系统资源访问。

2.51用户的操作:

  1. 创建用户:
 useradd 用户名
[root@localhost mm]# useradd VV
[root@localhost mm]# cd /home
[root@localhost home]# ls
VV
  1. 设置密码:
 passwd 用户名
[root@localhost home]# passwd VV
更改用户 VV 的密码 。
新的 密码:
无效的密码: 密码少于 8 个字符
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
  1. 切换用户
  • [root@localhost ~]# ——> root用户在本地登录,并且当前在~(用户)目录下,#代表的是超级管理员
  • [VV@localhost root]$ ——> VV用户在本地登录,并且在~目录下,$代表普通用户
su 用户名
[root@localhost ~]# su VV
[VV@localhost root]$
[VV@localhost root]$ cd
[VV@localhost ~]$ pwd
/home/VV

  1. 删除用户
userdel [-r] 用户名

-r 代表删除用户的同时,删除该用户的HOME目录

[root@localhost ~]# userdel -r VV
[root@localhost ~]# cd /home
[root@localhost home]# ls
[root@localhost home]#
  1. 修改用户
usermod [-cgd] [选项指定的内容] 用户名

-c 代表commit,给用户添加一段注释
-g 代表group,可以修改用户的所在组
-d 代表指定用户的HOME

2.52用户组的操作

  1. 创建用户组
groupadd [-cgd] 用户组名

创建用户组并添加z1用户到里面

[root@localhost home]# groupadd test
[root@localhost home]# useradd z1
[root@localhost home]# usermod -g test z1
[root@localhost home]# groups z1
z1 : test
  1. 修改用户组
groupmod [-n] [选项指定的内容] 用户组名
[root@localhost home]# groupmod -n test01 test
[root@localhost home]# groups z1
z1 : test01
[root@localhost home]#
  1. 删除用户组
groupdel 组名

先把z1用户移除test01用户组,再删除

[root@localhost home]# groupdel test01
groupdel:不能移除用户“z1”的主组
[root@localhost home]# usermod -g root z1
[root@localhost home]# groups z1
z1 : root
[root@localhost home]# groupdel test01
[root@localhost home]#

2.6 文件权限的修改

在linux中输入ls -l 或者ll 查看文件和目录的详细信息。
示例:

[root@localhost ~]# ll
总用量 4
-rw-------. 1 root root 1241 12月 11 15:01 anaconda-ks.cfg
drwxr-xr-x. 3 root root   16 12月 11 19:41 ccc
drwxr-xr-x. 4 root root   86 12月 12 17:18 test
[root@localhost ~]#

test目录的第一个属性用“d”标识这个test是一个目录
anaconda-ks.cfg 第一个属性用“-”标识它是一个文件。
在linux文件详情的后面属性需要分为三组查看:

  • rwx 代表文件拥有者的权限
  • rwx 代表文件所属组用户的权限
  • rwx 代表其他用户对当前文件的操作权限
  1. rwx作用到文件:
[r ]代表可读(read):可以读取,查看
[w ]代表可写(write):可以修改但是不代表可以删除该文件。删除一个文件的前提条件是对该文件所在的目录有写权限,才能删除该文件。
[x]代表可执行[execute]:可以被执行
  1. rwx作用到目录:
[r]代表可读(read):可以读取,ls查看目录内容
[w]代表可写(write):可以修改,目录内创建文件。删除+重命名目录
[x]代表可执行(excute):可以进入该目录

后续的第一个root:代表当前文件的拥有者
后续的第二个root:代表当前文件的所属组
后续分别为:文件的大小和最后修改时间

2.61 对文件的权限修改

使用chmod对文件权限进行修改,一种使用数字,一种使用符号

  1. 数字方式
chmod [-R] 777 文件|目录

-R 当修改一个目录权限时,可以添加-R,将目录下的全部内容,都修改权限
chmod 在设置权限时,可以简单地使用三个数字分别对应 所有者/组和其他用户的权限

rwx 在这三个权限中r:4,w:2,x:1

在这里插入图片描述
示例:

[root@localhost ~]# su Andy
[Andy@localhost root]$ ll
ls: 无法打开目录.: 权限不够
[root@localhost ~]# su Andy
[Andy@localhost root]$ vi a.txt

摁i后,无法修改,对Andy用户是个只读文件
在这里插入图片描述
在这里插入图片描述

[root@localhost ~]# su Andy
[Andy@localhost root]$ vi a.txt

已经可以写了
在这里插入图片描述

修改777权限在这里插入图片描述

  1. 符号方式
user:u,group:g,other:o,all:a(所有u,g,o)
read:r,write:w,other:x

赋予权限的方式:

添加:+
减掉:-
设定:=
chmod [-R] a+r,a+w 文件|目录

示例
在这里插入图片描述

设定为所有权限
在这里插入图片描述
去掉权限:
在这里插入图片描述
添加权限:
在这里插入图片描述

2.62 对文件的拥有者和所属组修改

//修改文件的拥有者和所属组
chown [-R] 拥有者:所属组 文件|目录
//修改文件的拥有者
chown [-R] 拥有者 文件 | 目录
//修改文件的所属组
chgrp [-R] 所属组 文件 | 目录

2.7 其他操作命令

  1. 进程的操作
ps -ef    //查看全部正在运行的全部进程
ps -ef | grep 搜索的内容

杀死进程:

kill -9 pid
  1. 服务的操作
    针对服务的启动,停止,重启,开机自动启动,禁止开机自动启动,查看服务状态。
systemctl start | stop | restart | enable | disable | status 服务名称
[root@localhost ~]# systemctl disable firewalld
  1. 查看端口号占用情况
    想使用指定的命令需要实现下载netstat
yum -y install net-tools

查看端口号占用情况。
netstat -naop | grep 端口号

  1. 访问地址
curl 访问地址

在这里插入图片描述

  1. 查找文件
find 路径 -type f | grep profile

在这里插入图片描述

三、安装常用软件

3.1 安装JDK

下载地址:点击下载
在这里插入图片描述

  1. 通过Xterm的ftp拉取到linux中
    在这里插入图片描述
  2. 解压压缩包,解压到/usr/local下
tar -zxvf 压缩包 -C /usr/local
[root@localhost tools]# tar -zxvf jdk-8u271-linux-x64.tar.gz -C /usr/local
  1. 将jdk目录名修改
    在这里插入图片描述

  2. 配置环境变量
    linux 提供了两种环境变量的文件
    第一个是用户级别的环境变量,存放在:~/.bashrc
    第二个是系统级别的环境变量,存放在:/etc/profile
    如果想运行当前目录下的可执行文件,需要输入:./可执行文件名

在这里插入图片描述

  1. 进入/etc/profile下
[root@localhost bin]# vi /etc/profile

在最后的地方添加如下

export JAVA_HOME=/usr/local/jdk1.8
export PATH=$JAVA_HOME/bin:$PATH

保存,重新加载环境变量文件

[root@localhost bin]# source /etc/profile

查看jdk版本:
在这里插入图片描述

3.2 安装MySql

下载:https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm

  1. 安装 wget
[root@localhost ~]# yum -y install wget
  1. 通过wget下载mysql存储库:
    在这里插入图片描述
  2. 安装下载好的rpm包
rpm -Uvh rpm包

在这里插入图片描述

已经安装在这里插入图片描述
如果想要卸载:
卸载:
rpm -e --nodeps rpm包

# rpm -e --nodeps mysql80-community-release-el7-3.noarch.rpm

查看rpm包:
rpm -qa | grep 内容

  1. 选择发行版本
    原来默认是mysql8.0版本,这里选择mysql5.7版本
    在这里插入图片描述
    通过手动编辑修改发行版本
[root@localhost tools]# vi /etc/yum.repos.d/mysql-community.repo

1是启动,o是关闭,这里把mysql5.7的改为1,mysql8.0的改为0
在这里插入图片描述
查看默认版本已经是mysql5.7
在这里插入图片描述

4.安装mysql 社区版服务

[root@localhost tools]# yum -y install mysql-community-server

5、启动mysql

systemctl start mysqld.service

查看初始化密码

grep 'temporary password' /var/log/mysqld.log

初始密码
在这里插入图片描述

使用这个密码登录

# mysql -u root -p

在这里插入图片描述
修改密码,要求携带大写字母,小写字母,数字,特殊符号


mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';

在这里插入图片描述

  1. 开启远程连接,并使用图形化界面操作。
    创建一个用户用来远程连接
mysql> GRANT ALL PRIVILEGES ON *.* TO '用户名'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;

要想连接,需要关闭防火墙。
查看防火墙状态:

systemctl status firewalld

暂时关闭防火墙

systemctl stop firewalld

永久关闭防火墙

systemctl disable firewalld

在这里插入图片描述
连接成功。

3.3 安装tomcat

下载:https://mirror.bit.edu.cn/apache/tomcat/tomcat-8/v8.5.61/bin/apache-tomcat-8.5.61.tar.gz

  1. 在linux中下载

在这里插入图片描述

  1. 解压压缩包到/usr/local
[root@localhost tools]# tar -zxvf apache-tomcat-8.5.61.tar.gz -C /usr/local

跳转到bin目录。
在这里插入图片描述

  1. 启动
./startup.sh
[root@localhost bin]# ./startup.sh

监听日志信息,已经启动成功

cd ../logs
tail -f catalina.out

在这里插入图片描述

  1. 测试
输入linux 的ip地址:8080
如 192.168.x.x:8080

出现以下画面,安装启动成功。
在这里插入图片描述

四、部署到SSM项目到Linux

注意:

  • 项目要保证在windows下是没问题的,在考虑部署到Linux
  • 将开发环境中的内容更改为测试环境
    即:
    a. 连接数据库的信息
    b.存放文件的路径
    c.日志文件存放的位置
    d.项目路径问题
  • 将maven项目打包
  • 根据项目路径的不同,将项目部署到Tomcat中。
  • 在部署到linux操作系统中后,一定要查看日志。
  1. 把数据库复制到新数据库
    在这里插入图片描述

  2. 修改项目的中连接数据库的信息(新数据库的)

  3. 打包项目
    在这里插入图片描述

  4. 拖到linux中
    在这里插入图片描述
    在这里插入图片描述

  5. 复制到tomcat指定目录
    在这里插入图片描述
    可以在次查看日志
    在这里插入图片描述

  6. 在浏览器输入 :
    IP地址:8080/项目名
    如 192.168.x.x:8080/survey
    即可进入项目
    在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值