Linux基础篇-目录结构
基本介绍
1) linux的文件系统是采用级层式的树状目录结构,在此结构中的最上层是根目录“/”,然后在此目录下再创建其他的目录。
2)深刻理解linux树状文件目录是非常重要的,这里我给大家说明一下。
3)记住一句经典的话:在Linux世界里,一切皆文件(!!)
4)示意图
/bin [重点] (/usr/bin 、 /usr/local/bin)
是Binary的缩写, 这个目录存放着最经常使用的命令
/home [重点]
存放普通用户的主目录,在Linux中每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
/root [重点]
该目录为系统管理员,也称作超级权限者的用户主目录。
/sbin (/usr/sbin 、 /usr/local/sbin)
s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序
/lib
系统开机所需要最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。
/lost+found
这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
/etc [重点]
所有的系统管理所需要的配置文件和子目录 my.conf
/usr [重点]
这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似与windows下的program files目录。
/boot [重点]
存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件 /dev
类似于windows的设备管理器,把所有的硬件用文件的形式存储。
/media [重点]
linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。
/mnt [重点]
系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将外部的存储挂载在/mnt/上,然后进入该目录就可以查看里的内容了。 d:/myshare
/opt
这是主机给安装软件所存放的目录,如果按照JDK可放到改目录下默认为空。
/usr/local [重点]
这是另一个给主机额外安装软件所安装的目录。一般是通过编译源码方式安装的程序。
/var [重点]
这个目录中存放着在不断扩充着的东西,习惯将经常被修改的目录放在这个目录下。包括各种日志文件。
Vim编辑器的使用
介绍
所有的 Linux 系统都会内建 vi 文本编辑器。
Vim 具有程序编辑的能力,可以看做是Vi的增强版本,可以主动的以字体颜色辨别语法的正确性,方便程序设计。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。
三种模式
- 正常模式
以vim打开一个档案就是直接进入了一般默认(这是正常的模式),在这个模式中,可以通过上下左右来移动光标,你也可以使用【删除字符】【删除整行】来吹档案中的聂荣,也可以使用【复制】【贴上】来处理你的文件数据;
- 插入模式
按下i,l,o,O,a等任意一个字母之后才会进入编辑模式,一般情况按下i即可
- 命令行模式
在这个模式当中,可以提供你相关指令,完成读取,存盘,替换vim,显示行号等操作是在此模式下完成的
:wq(保存并退出) :q(退出不保存) :q!(强制退出不保存)
快捷键使用
- 拷贝当前行 yy ,拷贝当前向下的五行 5yy 并粘贴(p)
- 删除当前行 dd 删除当前向下的5行 5dd
- 在文件中查找某个单词{命令行下/关键字} 回车查找,输入n就能查找下一个
开机重启,用户登录取消
- shutdown -h now 表示立即关机
- shutdown -h 1 表示一分钟后关机
- shutdown -r now 立即重启
- halt 就是直接使用,效果等同于关机
- sync 把内存的数据同步到磁盘
- reboot 就是重启系统
注意细节:当我们关机或者重启时,我们都应该先执行sync指令,把我们的内存数据写入到磁盘中
用户登录和注销
登录时候尽量少用root账号登录,因为这是系统管理员,最大的权限,避免操作食物,可以利用普通用户进行登录,登录后再用“su 用户名"切换到系统管理员身份
在提示符下输入logout可以注销用户
使用细节:logout注销指令在图形运行级别无效,在运行级别3以下有效
用户管理
介绍
说明
linux系统时一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统
Linux的用户至少要属于一个组
用户操作
特别说明 cd 表示 change directory 切换目录
在 cd /home (home中的一个文件夹就是一个用户信息)
添加用户
useradd \[选项] 用户名
细节说明
当用户创建成功后,会自动的创建和用户同名的家目录
也可以通过 useradd -d来指定目录新的用户名,给新的用户名指定家目录
seradd -d /home/tset/newTom
用户指定或修改密码 (修改当前用户的密码)
passwd 用户名
补充: pwd 显示当前用户在哪个目录下面
删除用户但不删除主目录
userdel 用户名
**删除用户以及用户主目录(慎重!!!)**
userdel -r 用户名
**查询用户**
id 用户名
当用户不存在时候,返回无此用户
**切换用户**
su 用户名
默认输入su 切换到管理员目录
**用户组**
groupadd 组名,groupdel 组名
添加用户时候直接加上组 useradd -g 用户组 用户名
修改用户所在的组 usermod -g 用户组 用户名
**用户和组的相关文件**

# 文件目录
## 操作
**pwd指令**:显示当前工作目录的绝对路径
**ls指令:** ls \[选项] \[目录或是文件]
常用选项 -a显示目录所有的文件和目录 包括隐藏的
\-l 以列表的方式显示信息
查看显示当前目录下的所有内容
**cd指令:** 切换到指定目录
cd \~ 回到自己的家目录
cd .. 回到当前目录的上一级目录
**mkdir :** 用于创建目录 mkdir /home/cat
\-p 创建多级目录 mkdir -p /home/animal/cat
**rmdir:** 指令删除空目录 rmdir /home/cat ( cat 是一个空目录 )
如果删除的不是空目录 需要用 rm -rf 要删除的目录
rm -rf /\*(危险操作)
**touch:** 创建空文件 touch /home/hello.txt
**cp:** 拷贝文件到指定目录 cp source(哪个文件) dest(拷贝到那个地方)
cp /home/hello.txt /home/tom/
\-r 递归复制整个文件(拷贝全部文件)
\cp (强制覆盖,不用提示)
**rm:** 移除文件或者目录
\-r 递归删除整个文件夹
\-f 强制删除不提示
**mv:** 移动文件或重命名
mv oldName newName (重命名)
mv temp/movefile /targetFolder (移动文件或者文件夹,剪切操作)
mv temp/movefile /targetFolder/newName (移动并重命名)
## 查看
**cat:** 查看文件内容 cat \[选项] 要查看的文件
-n 显示行号 cat -n /home/
cat只能浏览文件,并不能修改文件,为了浏览方便,一般会用上管道命名 |more
cat -n / home/hello.txt | more
**more:** more指令是一个基于vi编辑器的文本过滤器,他以全屏的方式显示文本文件的内容,more指令内置了若干快捷键

**less:(相较于more会更好更快捷)**
less指令用于来分屏查看文件内容,他的功能与more类似,但是比more更加强大,支持各种显示终端。less指令在显示文件内容时,并不是一次将整个文件加载后才显示的,而是根据要加载的内容,对显示大型文件具有高效率

**echo:** 将输入内容到控制台
echo \[选项] \[输出内容]
echo \$USERNAME 输出当前主机名称
echo “hello,world” 将hello world 从控制台输出
**head:** head用于显示文件开头部分内容,默认情况下head希纳是文件前10行的内容
基本语法: head 文件名
head -n -5 文件名 显示前五行的内容 5可以时任意数
**tail:** tail用于输出文件中尾部的内容,默认情况下tail指令显示文件的前10行内容
tail 文件 (查看文件最后10行的内容)
tail -n -5 文件 (查看文件最后5行的内容,5可以是任意数)
tail -f 文件 (实时更新该文档所有的更新, 退出 ctrl + c)
> 指令和>>指令: >输出重定向 ,>>追加
echo "hello" > /opt/test.txt (将hello输入到opt文件夹下的test.txt中 之前内容覆盖,会自动创建)
cat /etc/profile > /home/myprofile (将etc/profile 重定向到home目录下的myprofile 没有会自动创建)
cal > /opt/test (将日历信息重定向输出到opt下的test文件)覆盖
cal >> /opt/test (将日历信息追加到opt目录下的test文件)追加
## 软连接和硬链接
软连接也称为符号链接,类似中windows里面的快捷方式,主要是存放了链接文件的路径
ln -s \[源文件或目录] \[软连接名称]
我们在/home目录下创建一个软连接linkToRoot 链接到/root目录
ln -s /home /root/linkToRoot
删除软连接 rm -f /linkToRoot
## 历史操作记录
history指令 查询当前文件当中执行过的操作
* 显示全部的历史命令 history
* 显示最近的 5条 命令 history 5
* 执行历史编号为 5 的命令 !5
## 压缩和解压
**gzip/gunzip** gip用于压缩文件 gunzip用于解压缩文件
gzip 压缩文件(只能将文件压缩为\*.zi文件,原文件被压缩后不存在)
gunzip 文件.gz (解压缩文件命令)
**zip/unzip 指令**
zip用于压缩文件或者**文件夹**,unzip用于解压的,这个功能打包发布中很有用;
zip \[选项] XXX.zip 将要压缩的内容 (压缩文件和目录的命令)
\-r :递归压缩,即压缩目录
将/home下的所有文件/文件夹 进行压缩成myhome.zip
zip -r myhome.zip /home/
将 myhome.zip 解压到 /opt/tmp 目录下
unzip -d /opt/tmp/ /home/myhome.zip
**tar指令**
tar指令是打包指令,最后打包后的文件是.tar.gz的文件
tar \[选项] XXX.tar.gz 打包的内容 (功能描述:打包目录,压缩后的文件格式.tar,gz)
选项 功能
* \-c 产生.tar打包文件
* \-v 显示详细信息
* \-f 指定压缩后的文件名
* \-z 打包同时压缩
* \-x 解包.tar文件
1. 压缩多个文件 将home/hi.txt 和 home/hello.txt 压缩为pc.tar.gz
```shell
tar -zcvf pc.tar.gz /home/hi.txt /home/hello.txt (多个文件空格隔开)
2. 将/home的文件夹压缩成 myhome.tar.gz
tar -zcvf myhome.tar.gz /home/
3. 将pc.tar.gz解压到当前目录
tar -zxvf pc.tar.gz
4. 将pc.tar.gz解压到 /opt/tmp/目录中
tar -zxvf pc.tar.gz -C /opt/tmp/
用户组管理
所有者
在linux中每个用户都必须属于一个组,不能独立于组外,在linux中每个文件有所有者,所在组,其他组的概念
默认谁创建了改文件,谁就是文件的所有者
- 查看文件的所有者 指令 ls-ahl
- 修改用户的所有者 chown 用户名 文件名
组的创建
当某个用户创建了一个文件后,这个文件的所在组就是该用户的所在组
创建一个组 groupadd monster
创建一个用户 cat并放入到monster组中 useradd -g monster cat
切换到该用户工作环境下 su cat
在改用户home下创建一个ok.txt文件 touch /home/ok.txt
列出改文件的所有者和所在组 ll
修改文件的所在组
chgrp 组名 文件名
使用root用户常见文件 orange.txt,看看当前这个文件属于哪个组,然后讲这个文件所在组,修改到monster组中
权限
介绍
-rw-r--r--. 1 xlh root 0 10月 22 14:18 apple.txt
第0-9位说明
第0位确定文件类型(d, -, l, c, b)
- l 是软连接,相当于windows的快捷方式
- d 是目录,相当于windows的文件夹
- c 是字符设别,鼠标,键盘
- b 是块设备,比如说硬盘
第1-3位确定所有者(该文件的所有者)拥有该文件的权限 --User
第4-6位确定所属组,(同用户组的)又有该文件的权限 --Group
第7-9位确定其他用户拥有改文件的权限 --Other
rwx权限详解 (难点)
rwx作用到文件
r 代表可读 read 可以读取,查看
w 代表可写 write 可以修改,但是不代表可以删除改文件,删除一个文件的前提条件是对该文件所在的目录有写权限,才能删除文件
x 代表可执行 execute 可被执行
rwx作用到目录
r 代表可读 可以读取 ls查看目录的内容
w 代表可写 对目录内进行创建+删除+重命名该目录
x 代表可执行 可以进入该目录
文件及目录权限实际案例
\-rwxrw-r--. 1 xlh root 6 10月 22 14:18 apple.txt
第一个字符表示文件类型 (d, -, l, c, b)
其余字符每三个一组
第一组:rwx 文件所有者的权限是读,写,执行
第二组:rw- 与文件拥有者同一组的用户的权限是读写,不能执行
第三组:r-- 其他组的用户的权限是读不能写和执行
1:文件:硬连接数 或 目录:子目录数
xlh:文件所有者
root:用户组
6:文件大小单位是字节
10月 22 14:18 文件最后修改时间
apple.txt 文件的名称
权限修改
通过chmod指令,可以修改我呢见或者目录的结构
第一种方式,+,-,=变更权限
u:所有者,g:所属组,o:其他人,a:所有人(u,g,o的总和)
绿色代表可执行,蓝色代表是个目录
案例演示:
1.给abc文件的所有者读写执行的权限,给所在组执行读执行的权限,给其他组读执行的权限
chmod u=rwx,g=rx,o=rx abc
2.给abc文件的所有者去除执行的权限,为所在组添加写的权限
chmod u-x,g+w abc 注意所有者,所属组之间存在,逗号之间不能有空格
3.给abc所有文件的所有用户添加读的权限
chmod a+r abc
第二种方式:通过数字变更权限
r=4,w=2,x=1 rwx=4+2+1=7
chmod u=rwx,g=rx,o=x 文件目录名 === chmod 751 文件目录名
-R 如果是目录,则使其下所有的子文件或者目录递归生效
修改文件所在者 chowm
chown newowner 文件/目录 (改变所有者)
chown newowner:newgroup (改变所有者和所在组)
- 将 /home/abc.txt 文件的所有者修改成tom
chown tom /home/abc.txt
- 将home/test下的所有文件的所有者修改成 tom
chown -R tom home/test
修改文件/目录 所在组 chgrp
chgrp newgroup 文件/目录 (改变所在组)
-R 如果是目录,则使其下所有的子文件或者目录递归生效
- 请将/home/abc.txt 文件的所在组修改成shaolin(少林)
chgrp shaolin /home/abc.txt
- 请将/home/test 目录下所有的文件和目录的所在组修改成shaolin(少林)
chgrp -R shaolin /home/test
crond任务调度
crontab 进行定时任务调度的设置
任务调度:世界系统在某个时间执行特定的命令或者程序
任务调度的分类:1.系统任务:有些中药的工作必须周而复始的执行 比如病毒扫描 2.个别用户工作:个别用户希望执行某些程序,比如对mysql数据库的备份
- 参数细节说明
- 特殊符号说明
- 特殊时间执行案例
- crontab -r :终止任务调度
contab -l :列出当前有哪些任务调度
service crond restart \[重启任务调度]
案例:每1分钟将日期和日历添加到 mycal 当中
首先在home目录下编写一个date.sh脚本
cal >> /tmp/m 日历添加
date >> /tmp/mycal
ll 观察用户是否有 x执行 权限(没有就给予执行权限)
让定时调度来调用 date.sh 脚本
crontab -e
*/1 * * * * /home/date.sh
:wq 保存并退出
一次性的定时计划任务
基本介绍
at命令是一次性定时执行任务计划,at的守护线程atd以后台的模式运行,检查作业队列来运行
默认情况下,atd守护线程没60秒检查作业队列,有作业时会检查作业运行时间,如果时间与当前时间匹配,则运行此作业
at命令是一次性定制的计划任务,执行一个任务后就不再执行此任务了
在使用at命令的时候,一定要保证atd进程的启动,可以用下列指令来查看
ps -ef | grep atd 可以检测 atd 是否在运行 运行成功结果为 /user/sbin/atd -f
ps -ef 检查出所有的进程,grep atd 根据指定的条件过滤
at命令格式
at \[命令选项] \[时间]
ctrl + d 结束命令的输入(需要连续输入两次才能退出)
- 命令选项
- 时间定义方法
- 应用实例 ctrl + d 两下 退出at
2天后的下午5点执行 ll 指令
2.使用atq指令查看当前执行的任务 atq
3.明天17点钟,输出时间到指定文件内 /root/date100.log
4.两分钟后,输出时间到指定文件内 比如/root/date200.log
5.删除已经设置的任务,atrm 编号
atrm 4 //表示将job队列钟,编号为4 的job删除
Linux分区
介绍
- linux来说无论有几个分区,非给哪一个目录使用,他归根结底只有一个根目录,一个独立切为一的文件结构,linux每个分区都是用来组成整个文件系统的一部分。
- linux采用了一种叫“载入”的处理方法,他的整个文件系统中包含了一整套的文件和目录,且将一个分区和目录联系起来这时候要载入的一个分区将使它的存储空间在一个目录下获得
查看分区指令
lsblk 或者 lsblk -f (有更多信息)
挂载的经典案例
第一步在虚拟机中添加硬盘
第二步通过 fdisk /dev/硬盘名 进行分区
第三步初始化分区后的硬盘 为它添加格式 mkfs -t 格式 /dev/分区的硬盘名
第四步将格式化后的分区硬盘进行挂载 mount /dev/分区的硬盘名 挂载目录
利用命令挂载后,重启会失效
第五步实现永久挂载
永久挂载:通过 修改vim /etc/fstab 来实现
添加完成后,通过mont -a 即可生效,或者重启生效
查看磁盘信息
查看整个系统磁盘情况查询
df -h
查看整个目录磁盘占用情况
du -h [目录]
查询指定目录的磁盘占用情况,默认为当前目录
| -s | 指定目录大小汇总 |
|---|---|
| -h | 带计量单位 |
| -a | 含文件 |
| --max-depth=1 (查询第几层的子目录) | 子目录深度 |
| -c | 列出明细的同时增加汇总值 |
查看/opt/目录情况
du -h --max-depth=1 /opt
汇总和含文件查询
du -hac --max-depth=1 /opt
磁盘情况,工作常用指令
1.统计/opt文件夹下文件的个数
ls -l /opt | grep "^-" | wc -l grep通过正则表达式找出以-开头的,此类是文件
wc -l 用来统计个数
2.统计/opt文件夹下目录的个数
ls -l /opt | grep "^d" | wc -l
3.统计/opt文件下的文件的个数,包括子文件夹下的
ls -lR /opt | grep "^-" | wc -l
4.统计/opt文件夹下的目录的个数,包括子文件夹下的
ls -lR /opt | grep "^d" | wc -l
5.以树状结构现实目录结构
tree /opt
如果没有tree,则使用 yum install tree 安装
网络配置
进程管理
基本介绍
在linux中,每个执行的程序都为一个进程,每个进程都分配了一个id号(pid,进程号)
每个进程都可能以两种形式存在,前台和后台,所谓前后台进程就是及用户在目录上可以进行操作的,后台是无法在屏幕上操作的进程
一般系统的服务进程都是以后台进程的方式存在,而且会常驻在系统中知道关机才结束
显示系统执行的流程
ps -aux 命令是用来查看系统中哪些正在运行,以及他们的运行的状况
ps -a:显示终端所用的进程信息
ps -u:以用户的格式显示进程的信息
ps -x:显示后台程序运行的参数
ps详解
案例: 要求以全格式的显示当前多有进程,查看进程的父进程,查看sshd的父进程信息
ps -aux | grep sshd
ps -ef 是以全格式显示当前所有的进程
\-e 显示所有进程,-f:全格式
ps -ef | grep sshd
终止进程 kill 和 killall
若是某个进程执行一半需要停止时候,或是已经消耗了很大的系统资源时候,可以考虑停止该线程。
基本语法
kill \[选项] 进程号 :通过进程号杀死/终止进程
killall 进程名称 通过进程名产杀死进程,支持通配符,这在系统因负载过大而变得很慢的时候很有用
killall 会杀死当前进程和其子进程
常用选项
-9 表示强迫进程立即停止
4个案例
- 踢掉某个非法登录的用户
ps -aux | grep sshd (查询用户的进程号)
kill 进程号
- 终止远程服务sshd,在适当时候重新启动
kill sshd对应的进程号 重启 /bin/systemctl start ssh.service
- 通过进程名称,终止gedit
killall gedit
- 强制杀掉一个终端 (终端服务是bash)
ps -aux | grep bash(查询bash对应的进程号)
kill -9 进程ID号 (添加 -9 进行强制关闭)
查看进程树pstree
pstree \[选项],可以更加直观的来查看进程信息
pstree -p 以树状形式显示进程的PID
pstree -u 以树状形式显示进程的用户
服务管理
service(本质)就是进程,但是是运行在后台的,通常都会监听某个端口,等待其他程序的请求,比如说(mysql3306,sshd22,redis6387),因为我们又称为守护进程,是Linux中重要的知识点
service管理指令
service 服务名 [start|stop,reload,status]
在CentOs7.0后,很多服务不再使用Service,而是systemctl
service 指令管理的服务在 /etc/init.d查看
案例
使用service指令,查看,关闭启动network[注意在虚拟系统演示时:因为网络连接会关闭]
service network status
service network stop
service network start
查看服务名:
使用 ls -l /etc/init.d 查看service指令管理的服务
使用setup 然后悬着系统服务,就可以看到全部服务
前面带 * 号的代表linux开机时自动启动,反之不启动
使用 space(空格) 可以进行切换是否自动启动 使用tab切换选项
运行级别runlevel
查看默认的运行级别: systemctl get-default
改变运行级别 systemctl set-default 运行级别.target
可以在 /etc/initab 中可以查看
可用通过 init[0,1,2,3,4,5,6] 来切换不同的运行级别
chkconfig指令
通过chkconfig可以给服务的各个运行级别设置自 启动/关闭
chkconfig指令管理的服务在 /etc/init.d 查看
注意:在Centos 7.0以后,很多服务使用systemctl管理
基本用法
查看服务 chkconfig --list | grep 服务名
对服务进行关闭或者开启 chkconfig --level network on/off
案例演示
对于network服务,进行各种操作,把network在3运行级别,关闭自启动
chkconfig --level 3 network off 关闭
chkconfig --level 5 network on 打开
使用细节
chkconfig重新设置服务自启动或者关闭,需要重启机器reboot生效。
systenctl指令
动态监控
top与ps命令相似,他们勇于显示正在执行的进程,Top与ps最大的不同之处在与,top在执行一段时间可以更新正在运行的进程
基本语法 top [选项]
| 选项 | 功能 |
|---|---|
| -d秒数 | 指定top命令每隔几秒刷新,默认为3秒 |
| -i | 使用top不显示任何闲置或者僵死的进程 |
| -p | 通过指定监控ID来仅仅监控某个进程的状态 |
交互操作说明
| 操作 | 功能 |
|---|---|
| P | 以CPU使用率来排序,默认就是此项 |
| M | 以内存使用率来排序 |
| N | 以PID排序 |
| q | 退出top |
应用实例
-
监控特定用户,比如我们监控tom用户
top:输入此命令,然后回车,查看执行的进程
u:输入u回车 再输入用户名即可
-
终止指定的进程,比如我们要结束tom登录
top:输入此命令,然后回车,查看执行的进程
k:输入k回车 再输入要结束的进程ID号(bash的PID)输入一个信号量9(强制)
-
指定系统状态更新的时间(没隔10秒自动更新),默认是3秒
top -d 10
监控网络状态
基本语法:netstat [选项]
选项说明 -an 按照一定的属性排列输出
-p 显示哪个进程在调用
应用案例
查看服务名臣为sshd的服务信息
netstat -anp | grep sshd
rpm与yum
rpm包的管理
rpm是互联网下载包和打包和安装工具,他包含在某些linux分版中,他具有生产.rpm扩展名的文件,RPM是redhat package manage(软件包管理工具的缩写),类似于setup.exe
RPM包的简单查询指令
查询已安装的rpm列表,rpm -qa | grep xx
查看当前系统中是否安装了 firefox
rpm -qa | grep firefox
一个rpm包名:firefox-45.4.0-1.el7.centos.x86\_64
名称 firefox
版本号 45.4.0
适用于操作系统 centos.x86\_64
RPM包的简单其他指令
rpm -qa 查询所有安装的rpm软件包
rpm -qa |more 分页显示
rpm -q 软件包名称 查询软件包名是否安装
rpm -qi 查询软件安装的详细信息
rpm -ql 软件包名 查询软件包中的文件
rpm -qf 文件全路径名 查询文件所属的软件包
rpm -qf /etc/passwd 查询此路程所属的软件包
卸载rpm包
基本语法 rpm -e RPM包的名称 //erase
删除firefox 软件包 rpm -e firefox
安装rpm包 基本语法 rpm -ivh RPM包全路径名称
i=install 安装
v=verbose 提示
h=hash 进度条
yum
Yum是一个Shell前端软件包管理器,基于RPM包管理,能够从指定的服务器自动下载RPM包并安装,并且可以自动处理依赖性关系,兵器一次暗转所有的依赖软件包
基本指令
查询yum服务器上是否有需要安装的软件
yum list | grep xxx
安转指定的yum包
yum install xxx 下载安装
Linux与Java篇
配置JDK1.8
mkdir /opt/jdk 一般我们安装的软件都放在opt目录下 创建jdk文件夹
通过xftp 将压缩包上传到/opt/jdk下 将压缩包进行传输
cd /opt/jdk 跳转到jdk文件夹下
解压 tar -zxvf jdk-8u261-linux-x64.tar.gz 对压缩包进行解压
mkdir /usr/local/java 创建java文件夹
mv /opt/java/jdk1.8.0\_261 /usr/local/java 将解压的jdk放在java文件夹下
vim /etc/profile 配置环境变量的配置文件
注意!!! 更改profile需要十分小心
exprot JAVA\_HOME = /usr/local/java/jdk1.8.0\_261
export PATH=\$JAVA\_HOME/bin:\$PATH
一定要后面这个/bin:\$PATH(与之前设置的PATH进行拼接)
source /etc/profile 刷新让新的环境变量生效
测试是否安装成功
如果profile文件修改错误,可以进入单用户模式进行恢复
- 在开机界面按 e
- 在 linux或linux16的最后 加上 init=/bin/bash
- ctrl + x 进入 单用户模式(此时默认是root用户)
- 重新挂载根目录为可写模式 mount -o remount,rw /
- vi /etc/profile 对profile进行更改并 :wq 进行保存
- 最后重启即可
Tomcat的安装
上传安装文件,并解压到/opt/tomcat
解压 tar -zxvf apache-tomcat-8.5.59.tar.gz
进入到解压文件的/bin目录下 启动 startup.sh
#打开8080端口
firewall-cmd --permanent --add-port=8080/tcp
#重新加载/刷新
firewall-cmd --reload
#检查端口是否开启
firewall-cmd --query-port=8080/tcp
进入到 tomcat 的 webapps 的 ROOT 下创建一个html文件
并进行测试 192.168.37.128:8080/Love_tomcat.html