Linux入门

目录

Linux简介

Linux安装

Linux常用命令

Linux软件安装

Linux项目部署


Linux简介

不同应用领域的主流操作系统

桌面操作系统
    Windows(用户数量最多)、Mac OS (操作体验好,办公人士首选)、Linux(用户数量最少)
服务器操作系统
    UNIX(安全、稳定、付费)、Linux(安全、稳定、免费、占有率高)、Windows Server(付费、占有率低)
移动设备操作系统
    Android(基于Linux、开源,主要用于智能手机、平板电脑和智能电视)
    iOS(苹果公司开发、不开源,用于苹果公司产品,例如:iPhone、iPad)
嵌入式操作系统
    Linux(机顶盒、路由器、交换机)

Linux发展历史

时间:1991年
地点:芬兰赫尔辛基大学
人物: Linus Torvalds (21岁)
语言: C语言、汇编语言
logo: 企鹅
特点:免费、开源、多用户、多任务

Linux系统版本

Linux系统分为内核版和发行版
内核版
    由Linus Torvalds及其团队开发、维护
    免费、开源
    负责控制硬件
发行版
    基于Linux内核版进行扩展
    由各个Linux厂商开发、维护
    有收费版本和免费版本

Linux安装

安装方式介绍

 

安装Linux

网卡设置

 

安装SHH连接工具

 

 

Linux和Windows目录结构对比
Linux系统中的目录
    /是所有目录的顶点
    目录结构像一颗倒挂的树

 

 Linux目录介绍

bin 存放二进制可执行文件
boot 存放系统引导时使用的各种文件
dev 存放设备文件
etc 存放系统配置文件
home 存放系统用户的文件
lib 存放程序运行所需的共享库和内核模块
opt 额外安装的可选应用程序包所放置的位置
root 超级用户目录
sbin 存放二进制可执行文件,只有root用户才能访问
tmp 存放临时文件
usr 存放系统应用程序
var 存放运行时需要改变数据的文件,例如日志文件

Linux常用命令

Linux命令初体验

序号命令对应英文作用
1lslist查看当前目录下的内容
2pwdprint work directory查看当前所在的目录
3cd[目录名]change directory切换目录
4touch[文件名]touch如果文件不存在,新建文件
5mkdir[目录名]make directory创建目录
6rm[文件名]remove删除指定文件

Linux命令使用技巧

Tab键自动补全
连续两次Tab键,给出操作提示
使用上下箭头快速调出曾经使用过的命令
使用clear命令或者Ctrl+L快捷键实现清屏

Linux命令格式 

command [-options][parameter)
说明:
    command: 命令名
    [-options]: 选项,可用来对命令进行控制,也可以省略
    [parameter]: 传给命令的参数,可以是零个、一个或者多个
注意:
[]代表可选命令名、选项、参数之间有空格进行分隔

文件目录操作命令

文件目录操作命令 ls
    作用:显示指定目录下的内容
    语法: ls[-al] [dir]
说明:
    -a 显示所有文件及目录(开头的隐藏文件也会列出)
    -l除文件名称外,同时将文件型态(d表示目录,-表示文件)、权限、拥有者、文件大小等信息详细列出
注意:
    由于使用ls命令时经常需要加入-l选项,所以Linux为ls -l命令提供了一种简写方式,即ll

文件目录操作命令 cd
    作用:用于切换当前工作目录,即进入指定目录
    语法: cd [dirName]
特殊说明:
    ~表示用户的home目录
    .表示目前所在的目录
    ..表示目前目录位置的上级目录
举例: 
    cd..           切换到当前目录的上级目录
    cd~            切换到用户的home目录
    cd /usr/local  切换到/usr/local目录

文件目录操作命令 cat
    作用:用于显示文件内容
    语法: cat[-n]fileName
说明:
    -n:由1开始对所有输出的行数编号
举例:
    cat /etc/profile    查看/etc目录下的profile文件内容

文件目录操作命令 more
    作用:以分页的形式显示文件内容
    语法: more fileName
操作说明:
    回车键          向下滚动一行
    空格键          向下滚动一屏
    b               返回上一屏
    q或者Ctrl+C     退出more
举例:
    more /etc/profile    以分页方式显示/etc目录下的profile文件内容

文件目录操作命令 tail
    作用:查看文件末尾的内容
    语法: tail[-f] fileName
说明:
    -f:动态读取文件末尾内容并显示,通常用于日志文件的内容输出
举例:
    tail /etc/profile        显示/etc目录下的profile文件未尾10行的内容
    tail -20 /etc/profile    显示/etc目录下的profile文件未尾20行的内容
    tail -f /itcast/my.log   动态读取/itcast目录下的my.log文件末尾内容并显示

文件目录操作命令 mkdir
    作用:创建目录
    语法: mkdir[-p] dirName
说明:
    -p:确保目录名称存在,不存在的就创建一个。通过此选项,可以实现多层目录同时创建
举例:
    mkdir itcast 在当前目录下,建立一个名为itcast的子目录
    mkdir -p itcast/test 在工作目录下的itcast目录中建立一个名为test的子目录,
    若itcast目录不存在,则建立一个

文件目录操作命令 rmdir
    作用:删除空目录
    语法: rmdir[-p] dirName
说明:
    -p:当子目录被删除后使父目录为空目录的话,则一并删除
举例:
    rmdir itcast  删除名为itcast的空目录
    rmdir -p itcast/test 删除itcast目录中名为test的子目录,
    若test目录删除后itcast目录变为空目录,则也被删除
    rmdir itcast*  删除名称以itcast开始的空目录

文件目录操作命令 rm
    作用: 删除文件或者目录
    语法: rm[-rf] name
说明:
    -r: 将目录及目录中所有文件 (目录) 逐一删除,即递归删除
    -f:无需确认,直接删除
举例:
    rm -r itcast/ 删除名为itcast的目录和目录中所有文件,删除前需确认
    rm -rf itcast/ 无需确认,直接删除名为itcast的目录和目录中所有文件
    rm -f hello.txt 无需确认,直接删除hello.txt文件

拷贝移动命令

拷贝移动命令
    作用:用于复制文件或目录
    语法: cp[-r] source dest
说明:
    -r: 如果复制的是目录需要使用此选项,此时将复制该目录下所有的子目录和文件
举例:
    cp hello.txt itcast/ 将hello.txt复制到itcast目录中
    cp hello.txt ./hi.txt 将hello.txt复制到当前目录,并改名为hi.txtcp 
    cp -r itcast/ ./itheima/ 将itcast目录和目录下所有文件复制到itheima目录下
    cp -r itcast/*./itheima/ 将itcast目录下所有文件复制到itheima目录下

拷贝移动命令 mv
    作用:为文件或目录改名、或将文件或目录移动到其它
    位置语法: mv source dest
举例:
    mv hello.txt hi.txt    将hello.txt改名为hi.txt
    mv hi.txt itheima/     将文件hi.txt移动到itheima目录中
    mv hi.txt itheima/hello.txt 将hi.txt移动到itheima目录中,并改名为hello.txt
    mv itcast/ itheima/    如果itheima目录不存在,将itcast目录改名为itheima
    mv itcast/ itheima/    如果itheima目录存在,将itcast目录移动到itheima目录中

打包压缩命令 

打包压缩命令 tar
    作用:对文件进行打包、解包、压缩、解压
    语法: tar[-zcxvf] fileName [files]
    包文件后缀为.tar表示只是完成了打包,并没有压缩
    包文件后缀为.tar.gz表示打包的同时还进行了压缩
说明:
    -z: z代表的是gzip,通过gzip命令处理文件,gzip可以对文件压缩或者解压
    -c: c代表的是create,即创建新的包文件
    -x: x代表的是extract,实现从包文件中还原文件
    -v: v代表的是verbose,显示命令的执行过程
    -f: f代表的是file,用于指定包文件的名称
举例:
打包
    tar -cvf hello.tar ./*  将当前目录下所有文件打包,打包后的文件名为hello.tar
    tar -zcvf hello.tar.gz ./*  将当前目录下所有文件打包并压缩,打包后的文件名为hello.tar.gz
解包
tar -xvf hello.tar  将hello.tar文件进行解包,并将解包后的文件放在当前目录
tar -zxvf hello.tar.gz     将hello.tar.gz文件进行解压,并将解压后的文件放在当前目录
tar -zxvf hello.tar.gz -C /usr/local 将hello.tar.gz文件解压,解压后放在/usr/local目录

文本编辑命令

作用:vi命令是Linux系统提供的一个文本编辑工具,可以对文件内容进行编辑,类似于Windows中的记事本
语法: vi fileName
说明:
    1、vim是从vi发展来的一个功能更加强大的文本编辑工具,在编辑文件时可以对文本内容进行着色,
    方便我们对文件进行编辑处理,所以实际工作中vim更加常用。
    2、要使用vim命令,需要我们自己完成安装。可以使用下面的命令来完成安装:yum install vim

文本编辑命令 vim
    作用:对文件内容进行编辑,vim其实就是一个文本编辑器
    语法: vim fileName
说明:
    1、在使用vim命令编辑文件时,如果指定的文件存在则直接打开此文件。
    如果指定的文件不存在则新建文件。
    2、vim在进行文本编辑时共分为三种模式,分别是命令模式(Command mode),
    插入模式 (Insert mode)和底行模式(Last line mode)。这三种模式之间可以相互切换。
    我们在使用vim时一定要注意我们当前所处的是哪种模式。

针对vim中的三种模式说明如下
1.命令模式
    命令模式下可以查看文件内容、移动光标 (上下左右箭头、gg、G)
    通过vim命令打开文件后,默认进入命令模式
    另外两种模式需要首先进入命令模式,才能进入彼此
2.插入模式
    插入模式下可以对文件内容进行编辑
    在命令模式下按下[i,a,o]任意一个,可以进入插入模式。进入插入模式后,下方会出现 [insert] 字样
    在插入模式下按下ESC键,回到命令模式
3.底行模式
    底行模式下可以通过命令对文件内容进行查找、显示行号、退出等操作
    在命令模式下按下[:,/]任意一个,可以进入底行模式
    通过/方式进入底行模式后,可以对文件内容进行查找
    通过:方式进入底行模式后,可以输入wq (保存并退出)、q!(不保存退出)、set nu (显示行号)

查找命令

查找命令 find
    作用:在指定目录下查找文件
    语法: find dirName -option fileName
举例:
    find . -name "*java"    在当前目录及其子目录下查找.java结尾文件
    find /itcast -name "*,java"  在/itcast目录及其子目录下查找java结尾的文件

查找命令 grep
    作用:从指定文件中查找指定的文本内容
    语法: grep word fileName
举例:
    grep Hello Helloworld.java    查找Helloworldjava文件中出现的Hello字符串的位置
    grep hello *java    查找当前目录中所有.java结尾的文件中包含hello字符串的位置

Linux软件安装

软件安装方式

二进制发布包安装
    软件已经针对具体平台编译打包发布,只要解压,修改配置即可
rpm安装
    软件已经按照redhat的包管理规范进行打包,使用rpm命令进行安装,不能自行解决库依赖问题
yum安装
    一种在线软件安装方式,本质上还是rpm安装,自动下载安装包并安装,安装过程中自动解决库依赖问题源码
编译安装
    软件以源码工程的形式发布,需要自己编译打包

安装jdk

安装Tomcat

 

防火墙操作:
查看防火墙状态(systemctl status firewalld、firewall-cmd --state)
暂时关闭防火墙(systemctl stop firewalld)
永久关闭防火墙(systemctl disable firewalld)
开启防火墙(systemctl start firewalld)
开放指定端口(firewall-cmd --zone=public --add-port=8080/tcp --permanent)
关闭指定端口(firewall-cmd --zone=public --remove-port=8080/tcp --permanent)
立即生效( firewall-cmd --reload)
查看开放的端口(firewall-cmd --zone=public --list-ports)
注意:
1、systemctl是管理Linux中服务的命令,可以对服务进行启动、停止、重启、查看状态等操作
2、firewall-cmd是Linux中专门用于控制防火墙的命令
3、为了保证系统安全,服务器的防火墙不建议关闭

 

安装MySQL

1、 检测当前系统中是否安装MySQL数据库
rpm -ga                查询当前系统中安装的所有软件
rpm -qal grep mysql    查询当前系统中安装的名称带mysql的软件
rpm -qal grep mariadb  查询当前系统中安装的名称带mariadb的软件

RPM(Red-Hat Package Manager) RPM软件包管理器,是红帽Linux用于管理和安装软件的工具
注意事项:
如果当前系统中已经安装有MySQL数据库,安装将失败。CentOS7自带mariadb,与MySQL数据库冲突

2、卸载已经安装的冲突软件
rpm -e --nodeps 软件名称    卸载软件
rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64

3、将资料中提供的MySQL安装包上传到Linux并解压
mkdir /usr/local/mysql
tar -zxvf mysgl-5.7.25-1.el7.x86_64.rpm-bundle.tar.gz -C /usr/local/mysql

4、按照顺序安装rpm软件包
rpm -ivh mysql-community-common-5.7.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-devel-5.7.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-compat-5.7.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.25-1.el7.x86_64.rpm
yum install net-tools
rpm -ivh mysql-community-server-5.7.25-1.el7.x86_64.rpm
说明1:安装过程中提示缺少net-tools依赖,使用yum安装
说明2:可以通过指令升级现有软件及系统内核
yum update

5、启动mysql
systemctl status mysqld    查看mysql服务状态
systemctl start mysqld     启动mysql服务
说明:可以设置开机时启动mysql服务,避免每次开机启动mysql
systemctl enable mysqld    开机启动mysql服务
netstat -tunlp    查看已经启动的服务
netstat -tunlp | grep mysql
ps -ef | grep mysql    查看mysql进程

6、登录MySQL数据库,查阅临时密码
cat /var/log/mysqld.log  查看文件内容
cat /var/log/mysqld.log | grep password  查看文件内容中包含password的行信息
注意事项:冒号后面是密码,注意空格

7、登录MySQL,修改密码,开放访问权限
    mysql -uroot -p    登录mysql(使用临时密码登录)
#修改密码
    set global validate password length=4;  设置密码长度最低位数
    set global validate password policy=LOW; 设置密码安全等级低,便于密码修改成root
    set password = password('root'); 设置密码为root
#开启访问权限
grant all on *.* to 'root'@%' identified by 'root';
flush privileges;

8、测试MySQL数据库是否正常工作
show databases;

安装lrzsz

Linux项目部署

手工部署项目

 

 

 

 

通过Shell脚本自动部署项目

操作步骤:
1、在Linux中安装Git
2、在Linux中安装maven
3、编写shell脚本(拉取代码、编译、打包、启动)
4、为用户授予执行shell脚本的权限
5、执行shell脚本

 

 

启动脚本 

目前centos7的ip地址获取方式是动态的

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值