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目录结构

初学Linux,首先需要弄清Linux 标准目录结构
Linux目录结构图

root — 启动Linux时使用的一些核心文件。如操作系统内核、引导程序Grub等。
home — 存储普通用户的个人文件
ftp — 用户所有服务
httpd
samba
user1
user2
bin — 系统启动时需要的执行文件(二进制)
sbin — 可执行程序的目录,但大多存放涉及系统管理的命令。只有root权限才能执行
proc — 虚拟,存在linux内核镜像;保存所有内核参数以及系统配置信息
1 — 进程编号
usr — 用户目录,存放用户级的文件
bin — 几乎所有用户所用命令,另外存在与/bin,/usr/local/bin
sbin — 系统管理员命令,与用户相关,例如,大部分服务器程序
include — 存放C/C++头文件的目录
lib — 固定的程序数据
local — 本地安装软件保存位置
man — 手工生成的目录
info — 信息文档
doc — 不同包文档信息
tmp
X11R6 — 该目录用于保存运行X-Window所需的所有文件。该目录中还包含用于运行GUI要的配置文件和二进制文件。
X386 — 功能同X11R6,X11 发行版5 的系统文件
boot — 引导加载器所需文件,系统所需图片保存于此
lib — 根文件系统目录下程序和核心模块的公共库
modules — 可加载模块,系统崩溃后重启所需模块
dev — 设备文件目录
etc — 配置文件
skel — home目录建立,该目录初始化
sysconfig — 网络,时间,键盘等配置目录
var
file
lib — 该目录下的文件在系统运行时,会改变
local — 安装在/usr/local的程序数据,变化的
lock — 文件使用特定外设或文件,为其上锁,其他文件暂时不能访问
log — 记录日志
run — 系统运行合法信息
spool — 打印机、邮件、代理服务器等假脱机目录
tmp
catman — 缓存目录
mnt — 临时用于挂载文件系统的地方。一般情况下这个目录是空的,而在我们将要挂载分区时在这个目录下建立目录,再将我们将要访问的设备挂载在这个目录上,这样我们就可访问文件了。
tmp — 临时文件目录,系统启动后的临时文件存放在/var/tmp
lost+found — 在文件系统修复时恢复的文件


/:根目录,一般根目录下只存放目录,不要存放文件,/etc、/bin、/dev、/lib、/sbin应该和根目录放置在一个分区中

/bin:/usr/bin:可执行二进制文件的目录,如常用的命令ls、tar、mv、cat等。

/boot:放置linux系统启动时用到的一些文件。/boot/vmlinuz为linux的内核文件,以及/boot/gurb。建议单独分区,分区大小100M即可

/dev:存放linux系统下的设备文件,访问该目录下某个文件,相当于访问某个设备,常用的是挂载光驱mount /dev/cdrom /mnt。

/etc:系统配置文件存放的目录,不建议在此目录下存放可执行文件,重要的配置文件有/etc/inittab、/etc/fstab、/etc/init.d、/etc/X11、/etc/sysconfig、/etc/xinetd.d修改配置文件之前记得备份。

注:/etc/X11存放与x windows有关的设置。

/home:系统默认的用户家目录,新增用户账号时,用户的家目录都存放在此目录下,表示当前用户的家目录,test表示用户test的家目录。建议单独分区,并设置较大的磁盘空间,方便用户存放数据

/lib:/usr/lib:/usr/local/lib:系统使用的函数库的目录,程序在执行过程中,需要调用一些额外的参数时需要函数库的协助,比较重要的目录为/lib/modules。

/lost+fount:系统异常产生错误时,会将一些遗失的片段放置于此目录下,通常这个目录会自动出现在装置目录下。如加载硬盘于/disk 中,此目录下就会自动产生目录/disk/lost+found

/mnt:/media:光盘默认挂载点,通常光盘挂载于/mnt/cdrom下,也不一定,可以选择任意位置进行挂载。

/opt:给主机额外安装软件所摆放的目录。如:FC4使用的Fedora 社群开发软件,如果想要自行安装新的KDE 桌面软件,可以将该软件安装在该目录下。以前的 Linux 系统中,习惯放置在 /usr/local 目录下

/proc:此目录的数据都在内存中,如系统核心,外部设备,网络状态,由于数据都存放于内存中,所以不占用磁盘空间,比较重要的目录有/proc/cpuinfo、/proc/interrupts、/proc/dma、/proc/ioports、/proc/net/*等

/root:系统管理员root的家目录,系统第一个启动的分区为/,所以最好将/root和/放置在一个分区下。

/sbin:/usr/sbin:/usr/local/sbin:放置系统管理员使用的可执行命令,如fdisk、shutdown、mount等。与/bin不同的是,这几个目录是给系统管理员root使用的命令,一般用户只能"查看"而不能设置和使用。

/tmp:一般用户或正在执行的程序临时存放文件的目录,任何人都可以访问,重要数据不可放置在此目录下

/srv:服务启动之后需要访问的数据目录,如www服务需要访问的网页数据存放在/srv/www内

/usr:应用程序存放目录,/usr/bin存放应用程序,/usr/share存放共享数据,/usr/lib存放不能直接运行的,却是许多程序运行所必需的一些函数库文件。/usr/local:存放软件升级包。/usr/share/doc:系统说明文件存放目录。/usr/share/man: 程序说明文件存放目录,使用 man ls时会查询/usr/share/man/man1/ls.1.gz的内容建议单独分区,设置较大的磁盘空间

/var:放置系统执行过程中经常变化的文件,如随时更改的日志文件/var/log,/var/log/message:所有的登录文件存放目录,/var/spool/mail:邮件存放的目录,/var/run:程序或服务启动后,其PID存放在该目录下。建议单独分区,设置较大的磁盘空间

Linux特点

  1. 系统开源并且免费

  2. 对硬件要求很低 800M 3-4

  3. 系统稳定性强

  4. 系统安全性更好 (军工企业 断网)

Linux命令

说明:Linux全部都是基于文件的. 并且Linux中的目录都是树形结构

cd命令集

ifconfig/ip addr 检查IP地址

pwd 检查当前的位置

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

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

cd / 返回根目录

cd ~ 用户主目录

cd . 当前目录

cd …返回到上一级目录

cd /usr/ 进入到usr目录

cd – 返回上一个目录

cd 直接回家

ls目录和文件

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

ll 和ls –l作用相同

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

目录操作

mkdir 创建目录

mkdir a 创建 a目录

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

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

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

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

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

编辑模式:

按i,在光标前开始编辑

按a,在光标后开始编辑

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

按u, 撤销之前的操作

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

:q! 不保存退出

:wq 保存退出

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

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

删除文件

rm 删除文件

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

rm –f n.txt 不提示

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

rm –rf * 删除所有文件

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

复制和移动文件

cp复制文件

cp nginx.conf n.txt

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

mv 修改文件名,移动文件

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

浏览文件

cat 输出文件所有的内容

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

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

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

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

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

ctrl+c 结束查看

打包命令

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文件到当前目录

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的数据

ps 查看当前系统中正在执行的各种进程的信息!

ps -xx:
. -a 显示当前终端运行的所有的进程信息〔当前的进程—个)
· -u以用户的信息显示进程
· -×显示后台运行进程的参数!
ps -aux查看所有的进程ps -auxlgrep mysq1

│在Linux这个叫做管道符A|B
grep查找文件中符合条件的字符串!
对于我们来说,这里目前只需要记住一个命令即可
ps -xx|grep进程名字!过滤进程信息!

ps -ef : 可以查看到父进程的信息
ps -ef | grep mysql #看父进程我们一般可以通过日录树结构来查看!
进程树!
pstree -pu
-p显示父id
-u显示用户组

结束进程∶杀掉进程,等价于window结束任务!
kill -9 进程的id
但是啊,我们平时写的一个Java代码死循环了,可以选择结束进程!杀进程kill -9进程的id
表示强制结束该进程!

Linux项目发布

环境安装
安装软件一般有三种方式:
rpm (Jdk ) 、
解压缩( tomcat ) .
yum在线安装( docker ) !
JDK安装
我们开发java程序必须要的环境!
1、下载JDK rpm。去oralce官网下载即可!
2、安装java环境
#检测当前系统是否存在java环境! java -version
#如果有的话就需要卸载
#rpm -qa | grep jdk 检测JDK版本信息
#rpm -e --nodeps jdk_ 卸载
#卸载完毕后即可安装jdk
rpm -ivk rpm包

配置环境变量
JAVA_HOME的目录
JAVA_HOME的目录
配置环境变量:
/etc/profile在文件的最后面增加java的配置和window安装环境变量一样!

JAVA_HOME=/usr /java/jdk1.8.0_221-amd64
CLASSPATH=%JAVA_HOME%/lib;%JAVA_HOME%/jre/lib
PATH=dole符号JAVA_HOME/bin;$JAVA_HOME/jre/bin
export PATH CLASSPATH JAVA_HOME

让这个配置文件生效! source /etc/profile

发布项目

1.打包
在这里插入图片描述
2.把jar包传到服务器
3.开启项目的端口

确保Linux的防火墙端口是开启的,如果是阿里云,需要保证阿里云的安全组策略是开放的!
#查看firewall服务状态
systemctl status firewalld
#开启、重启、关闭、firewalld.service服务
#开启
service firewalld start
#重启
service firewalld restart
#关闭
service firewalld stop

#查看防火墙规则
firewall-cmd --list-all #查看全部信息
firewall-cmd --list-ports # 只看端口信息

#开启端口
开端口命令 : firewall-cmd --zone=public --add-port=8080/tcp --permanent
重启防火墙 : systemctl restart firewalld.service

命令含义:
—zone #作用域
—add-port=80/tcp #添加端口,格式为:端口/通讯协议
—permanent #永久生效,没有此参数重启后失效

#查看所有开启的端口,如果是阿里云,需要配置安全组规则!
firewall-cmd --list-ports

Tomcat安装
ssm war就需要放到tomcat中运行!
1、下载tomcat。官网下载即可 tomcat9
apache-tomcat-9.0.22.tar.gz
2、解压这个文件
tar -zxvf apache-tomcat-9.0.22.tar.gz
3、启动tomcat测试! ./xxx.sh脚本即可运行
#执行./ startup.sh
#停止./ shotdown . sh
如果防火墙8080端口开了并且阿里云安全组也开放了这个时候就可以直接访问远程了!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值