文章目录
linux基础一
学习linux有以下几个点:
- 熟悉并会使用linux基本操作以及指令。熟悉使用vim。熟悉用户管理
- 熟悉配置linux相关内容:环境变量配置、网络配置、服务配置
- 熟悉搭建linux开发环境
- 熟悉编写shell脚本,对linux服务器进行维护
桥连接与NAT
桥连接:在桥连接下,虚拟机与本地主机处于同一网段下,只是主机地址不同,那么机子一多,ip地址不够分了就会导致冲突。
NAT:NAT为主机又分配一个ip,与原ip不同(也就是本地主机拥有了两个ip地址)。虚拟机与重新分配的ip地址处于同一网段下,这样ip就不会紧张了。但是会出现一个问题:与原ip处于同一网段下的主机访问不到虚拟机了。
设置打开实现共享文件
点击vmware的-》虚拟机-》设置-》选项-》共享文件夹
打开后选择主机中共享的文件,在虚拟机中共享文件夹的路径为:/mnt/hgfs
linux目录结构
在linux中,一切皆是文件!
linux只有一个根目录 “/”
- /
- /bin (常用指令所在的目录)
- /dev (硬件管理文件)
- /home (存放普通用户的主目录)
- /sbin (超级管理员使用的系统管理程序)
- /tmp (临时文件夹)
- /usr (用户安装的应用程序相关文件)
- /local (软件的安装目录,安装过后的软件存放地)
- /opt (安装软件存放的地方,就是软件压缩包那些)
- /etc (配置文件存放地)
- /root (root用户使用的文件夹)
- /mnt
- 等
proc、srv、sys都是系统相关的目录,轻易不要动!!!
-
linux的目录有且只有一个目录
-
linux的各个目录内容都是规划好的,不要随便放文件
-
linux是以文件的形式管理设备的,因此一切皆文件
远程登录到linux
使用 XShell 软件远程登录到linux(XShell远程控制linux命令行)
xftp远程上传/下载文件到linux
XShell
XShell与linux是通过网络传输的,所以在建立会话的时候需要知道linux的ip地址。
在linux中使用 ifconfig
查看ip地址,IP地址为 inet addr:192.....
如果查不到ip地址就是没联网,就没分配ip地址
- 名称:随便写
- 协议:选SSH
- 主机:linux的ip地址
- 端口号:选22号
登录时,使用root用户,这样就可以使用超级管理员模式
连接失败的原因:
- 首先在linux中使用命令
sudo service ssh restart
重启一下ssh试试 - 如果linux中没有安装ssh使用命令
sudo apt-get install openssh-server
系统中退格不能使用,键盘乱码问题
修改vi配置文件 /etc/vim/vimrc.tiny, 将“compatible”改成“nocompatible”非兼容模式, 并且添加 set backspace=2
但是我的vi本来就是输入字符全乱了,怎么修改呢?使用Linux的nano编辑器。
命令如下:sudo nano /etc/vim/vimrc.tiny
,然后修改 set compatible
为 set nocompatible
, 然后添加set backspace=2
,最后使用 Ctrl + S 保存,Ctrl + x 退出就可以啦。
XFtp
使用XFtp后可以使windows与linux之间安全的互相传文件
点击打开-》新建-》新建会话属性
在其中配置即可
- 名称:随意
- 主机:linux的ip地址
- 协议:使用sftp
- 端口号:使用22号
- 用户名:使用root
如果出现乱码,点击菜单栏下工具栏中的文件+齿轮的那个标志,点击选项,使用utf-8编码
如果拒绝访问,使用一下方法:
开启超级管理员:
sudo su
修改配置文件:
vim /etc/ssh/sshd_config
将:
#Authentication:
LoginGraceTime 120
PermitRootLogin prohibit-password
StrictModes yes
改为:
#Authentication:
LoginGraceTime 120
PermitRootLogin yes
StrictModes yes
vi与vim的使用
vi的三种模式
-
正常模式
在正常模式下我们可以使用快捷键,在该模式下我们可以使用删除字符、删除整行、复制粘贴等
-
插入模式
按下 i 进入插入模式
-
命令行模式
在该模式下我们可以完成存盘、读取、替换、离开等操作
- :q 退出
- :q! 强制退出,不保存
- :w 写入
- :wq 写入并退出
vi与vim的快捷键
在正常模式下才可以使用快捷键
-
拷贝当前行
yy
- 拷贝当前行下5行
5yy
- 拷贝当前行下5行
-
粘贴
p
-
删除当前行
dd
- 删除当前行下5行
5dd
- 删除当前行下5行
-
在当前文件中查找某个单词,**在命令行下输入
/关键词
**就可以查找到所有的关键词。绿标在第一个关键词处,如果要往下找按n
即可找到下一个关键词。 -
设置文件行号,在命令行下输入
set nu
,取消行号set nonu
。 -
移动到文档末行
G
,首行gg
。正常模式下输入 -
撤销刚输入的内容
u
。正常模式下输入 -
光标移动到某一行。在命令行模式下
- 第一步:显示行号
- 第二部:输入20
- 第三步:按
shift g
开关机以及用户登录注销
开关机
- shutdown -h now:立即关机
- shutdown -h 1:一分钟后关机
- shutdown -r now:立即重启
- halt:关机
- reboot:重启
- sync:把内存的数据同步到磁盘(防止没有保存数据丢失)
当我们关机或重启时,都应 sync 一下
用户登录与注销
登录时,一般不使用root账户登录,因为它权限太高了,你可能会将内核的一些东西弄坏。一般都是先使用普通用户登录,然后在切换到root用户。
- 注销登录,使用
logout
命令。logout在图形界面上运行无效(在本机上运行),在运行级别3下运行才有效。运行级别3是远程登录的级别
用户管理
用户、组、home目录之间的关系
切换到root用户:
sudo su
添加用户:
useradd 用户名
,添加用户名的用户,如果不指定组默认创建一个新组(组名与用户名相同),会自动创建一个与用户名相同的家目录名。useradd -d /home/家目录名 用户名
,添加用户,指定家目录位置useradd -g 组名 用户名
,添加用户指定组
如果创建用户的时候,能设置密码啥的。但是在home文件下就是找不到对应用户的家目录,可以使用命令useradd -m username
或adduser username
修改用户的组:
usermod -g 用户组 用户名
修改密码:
passwd 用户名
,为用户名指定密码,使用命令后会让你输入密码
删除用户:
userdel 用户名
,删除用户,但是保留家目录userdel -r 用户名
,删除用户,并且也删除家目录
删除用户的时候如果没有家目录是删不了的!
如果删除用户的时候用户被进程占用,可以先查看哪些进程正在占用。kill掉,再删
ps -u username
# 查看username用户正在被哪些进程占用
kill -9 pid
# 使用 -9 参数强制删除pid的进程
userdel -f username
# 然后使用-f参数删除用户
查询用户:
id username
# id 查询用户命令
# username 用户名
查询用户username是否存在,如果存在则返回一个字符串
uid=xxx(username) gid=xxx(username) 组=xxx(username)
# uid为用户id
# gid为所在组的id号
# 组为所在组的名称
切换用户:
使用su命令切换到更高级的用户
# 切换到root用户
sudo su
或 su
# 切换到另一个用户
su - username
从高级用户切换到低级用户不需要密码,但是低级转高级需要密码。
组
创建组
groupadd 组名
删除组
groupdel 组名
用户与组相关信息的文件(查看组)
用户信息:
/etc/passwd
# 在该用户配置文件下
组信息:
/etc/group
# 在该组配置文件下
用户密码和登录信息:
/etc/shadow
# 在该口令配置文件中
该文件是加密文件
linux常用指令
指定运行级别
linux共有七个运行级别
- 关机
- 单用户(找回登录密码时有用)
- 多用户无网络服务
- 多用户有网络服务(XShell连接时就是3运行级别的)
- 保留
- 图形界面
- 重启
系统的运行级别配置文件在/etc/inittab
# 切换指定运行级别的指令
init 运行级别
忘记了 root 密码怎么找回:
首先进入单用户模式,然后修改 root 密码。因为在单用户状态下,root 不需要密码就能登录,然后在root用户下改密码。
在开机进入引导的时候按enter
,然后看到一个界面,输入一个e,然后又看到一个界面,选择第二行编辑内核,输入一个e,在这样最后输入1,再按enter
,然后输入b。这时就会进入到单用户模式,进入就是root用户下,使用passwd指令修改 root 密码。
帮助指令
当我们对某个指令不熟悉时,可以使用帮助指令了解该指令的使用方法。
man [命令或配置文件]
可以得到命令或配置文件的信息。
文件目录类
pwd 显示当前路径
pwd
ls 显示当前目录中的文件
ls [参数] [目录/文件]
参数有:
- -a:显示当前目录中所有文件和目录,包括隐藏的
- -l:以列表的方式显示信息(显示文件的一些详细信息)
cd 切换目录
cd [路径]
路径有:
- ~:用户家目录
- …:所在目录的上一级目录
- /:根目录
mkdir 创建目录
mkdir [参数] [目录]
参数有:
- -p:创建多级目录
rmdir 删除空目录
rmdir [目录]
rm -rf 强制删除非空目录
rm -rf [目录]
touch 创建空文件
touch [文件] [多个文件]
touch 可以一次创建一个文件,也可以一次创建多个文件。
cp 拷贝
cp [参数] [原文件路径] [目标目录]
cp aaa.txt bbb/
# 将当前目录下的文件aaa.txt拷贝到当前目录下的bbb文件夹中(使用相对路径绝对路径都可以)
- -r:递归复制整个文件夹(如果拷贝文件夹必须加参数 -r )
如果原目录与目标目录中有相同,就会提示你是否覆盖。如果不想提示强制执行可以使用下面命令
\cp -r [原文件路径] [目标目录]
rm 删除文件、目录
rm [参数] [要删除的文件或目录]
参数有:
- -r:递归的删除整个目录
- -f:强制删除不提示
如果目录中有文件,则rm不能删除,除非使用-r递归的删除整个目录(或者使用rm -rf命令)
mv 移动文件、目录或重命名
# 保持在同一个目录中,就是重命名
mv 原文件名 新文件名
# 就像上面那个,如果新文件名存在于当前目录中,就是移动(这就是移动、重命名的区别)
mv 原文件/目录 目标目录
cat 查看文件内容
cat [参数] [查看的文件] | [管道参数]
参数有:
- -n:显示行号
管道参数有:
-
| more:分页查看
cat -n /etc/perofile | more
more 查看文件
more是基于全屏的方式按页显示文件,也就是cat+more管道。
more [文件]
快捷键:
- 空格:下一页
- enter:下一行
- q:退出显示文本
- ctrl+F:下一页
- ctrl+B:上一页
less 查看文件
less也是分屏查看文件内容,但是比more更强大。它并不是一次将整个文件加载后再显示,而是根据显示需要加载内容,对大文本文件友好。
less [文件]
> 输出重定向,>> 追加
文件如果不存在的话,自动生成一个文件再写入。
ls -l > [文件] (将列表显示的内容写入文件中,覆盖写)
ls -al >> [文件] (将列表显示的内容追加到文件末尾)
cat [文件1] > [文件2] (将文件1的内容覆盖到文件2中)
cat [文件1] >> [文件2] (将文件1的内容追加到文件2中)
echo "内容" > [文件] (将内容写入文件中,覆盖写)
echo "内容" >> [文件] (将内容写入文件中,追加写)
echo 输出内容到控制台
echo [参数] [内容]
# echo "xxx"
# echo $PATH # 输出环境变量
head 查看文件头部内容
head [参数] [文件]
默认查看文件前10行内容
参数可以是:
- -n:
head -n 5 file
,查看文件前5行
tail 查看文件尾部内容
tail [参数] [文件]
默认查看文件后10行内容
参数可以是:
- -n:查看文件后自定义行
- -f:动态实时查看文件尾部更新。重要!
history 查看执行过的历史指令
history
时间日期类指令
date 显示当前日期
# 显示当前时间
date
# 显示当前年份
date+%Y
# 月
date+%m
# 日
date+%d
# 显示年月
date "+%Y %m"
date -s 设置时间
date -s "2018-10-11 11:22:22"
cal 查看日历
cal [参数]
不写参数,显示本月日历
搜索查询类指令
find 查找指令
find [搜索范围] [参数] [查找内容]
find指令向从指定目录递归向下遍历各个子目录,将满足条件的文件显示在终端。
参数有:
-
-name:按照名字查找,
find /home -name hello.txt
-
-user:查找文件拥有者的文件,
find /home -user hello.txt
-
-size:按照文件大小查找文件
# 查找home目录中大小大于20兆的文件 find /home -size +20M # 小于20兆的 find /home -size -20M # 等于20兆的 find /home -size 20M
locate 查找指令
locate指令可以快速定位文件路径,locate指令事先利用建立好的系统中所有文件名称及路径的locate数据库,事先快速定位文件,locate指令无需遍历整个文件系统,查询较快。为了保证查询的准确度,管理员必须定期更新locate数据库。
在使用前,必须使用updatedb
指令创建locate数据库。
updatedb
locate hello.txt
grep查找指令与管道符号 |
grep 过滤查找,可以在文件内部查找关键词。
管道表示将前一个命令处理结果输出传递给后面的命令处理。
grep [参数] 查找内容 源文件
参数有:
- -n:查看匹配行及行号
- -i:忽略大小写
或者可以这样写:
cat hello.txt | grep -n yes
cat会查看文件内容,将文件内容送到grep指令中,查找关键字yes,所在行及行号。
压缩解压缩指令
gzip / gunzip 指令
gzip:用于压缩文件
gunzip:用于解压
# 将文件压缩成.gz的压缩包。压缩完文件过后,原文件就不在了,只有压缩文件
gzip [文件]
# 多个文件压缩
gzip [文件1] [....文件n]
# 将.gz的压缩包进行解压到当前目录
gunzip [.gz文件]
zip / unzip 指令
zip:用于压缩文件
unzip:用于解压
zip [参数] [xxx.zip] [文件或目录]
参数可以是:
- -r:递归压缩(多层级文件目录压缩)
将文件或目录中的所有文件压缩为 xxx.zip 压缩包
unzip [参数] [解压目的地] [xxx.zip]
参数可以是:
- -d:递归解压(多用于层级文件目录)
将压缩包 xxx.zip 解压到目的地路径
tar 压缩解压
tar 指令是打包指令,最后打包后的文件是 .tar.gz
文件。
tar [参数] [xxx.tar.gz] [打包的内容]
参数可以是:
- -c:产生
.tar
打包文件 - -v:显示详细信息
- -f:指定压缩后的文件名
- -z:打包同时压缩
- -x:解包
.tar
文件
tar -zcvf h.tar.gz hello1.txt hello2.txt
将hello1.txt和hello2.txt压缩成h.tar.gz
tar -xcvf h.tar.gz -C /opt/tem2/
将 h.tar.gz 解压到指定目录中,指定目录时 -C 必须写。
组管理和权限管理
组管理
一个用户他的用户信息存在/etc/passwd
中,他的口令(密码)存在/etc/shadow
中,他的组信息存在/etc/group
中。
在linux中每个用户必须属于一个组。
在linux中每个文件都有以下属性:
- 所有者(一般来说文件的创建者就是文件的所有者)
- 所在组(一般来说文件的所在组就是拥有者的所在组)
- 其他组
- 改变用户所在组
查看文件所有者
ls -ahl
可查看隐藏文件的
修改文件所有者
chown 用户名 文件名
将文件的所有者改成用户名为拥有者,但是所在组不会变。
注意!在 root 用户权限下才可以修改!
修改文件所在组
chgrp 组名 文件名
将文件所在组修改成组名的组,但是拥有者不会变。
注意!在 root 用户权限下才可以修改!
改变用户所在组
usermod -g 组名 用户名
将用户名的用户修改成组为组名的组。
注意!在 root 用户权限下才可以修改!
权限管理
文件显示的基本介绍
文件和目录的权限管理
文件的解释:
$ls -l
[文件↓大小]
-rw-r--r--, 1 tom police 6 3月 18:22:22 ok.txt
[拥有者][所在组][创建/修改时间][文件名]
1表示:
- 如果是文件,表示硬链接的数
- 如果是目录,表示该目录中子目录的个数
对于-rw-r--r--
这个内容:
- 第一个
-
为文件类型,共有5种文件类型- -:普通文件
- d:目录
- l:软连接
- c:字符设备(键盘、鼠标等)
- b:块文件,硬盘
rw-
,表示文件所有者的权限。r表示读的权限,w表示写的权限,-是个占位符占够3个权限位置。权限一共有三种- r:读权限
- w:写权限
- x:代表是可执行文件
- -:是个占位符
- 第一个
r--
,表示文件所在组的用户的权限。表示文件所在组的用户只有读的权限。 - 第二个
r--
,表示文件其他组的用户的权限。
rwx权限
rwx作用于文件
r:表示刻度
w:表示可以修改,但是不表示可以删除
x:代表该文件可以被执行
rwx作用于目录
r:表示文件被查看(ls查看目录内容)
w:表示文件可以修改(目录内创建、删除、重命名目录)
x:代表可执行(可以进入该目录)
chmod 修改文件/目录权限
通过 chmod 可以修改文件或目录权限
通过+、-、=变更权限
u:拥有者,g:拥有组,0:其他人,a:所有人(u、g、o的总和)
# 使用=变更权限
chmod u=rwx,g=rx,o=x 文件/目录名
# 使用+添加权限(给文件拥有者添加写的权限)
chmod u+w 文件/目录名
# 使用-删除权限(给文件拥有者删除写的权限)
chmod u-w 文件/目录名
chown 修改文件所有者
# 修改文件所有者
chown [newowner] [file]
# 修改文件的拥有者与拥有组
chown [newowner]:[newgroup] [file]
# 修改目录及目录中所有文件的所有者(必须切换到root用户才可以做这个操作)
sudo su
chown -R [newowner] [dir]
任务调度
crond 任务调度
使用 crontab 进行定时任务调度。
- 任务调度:是指系统在某个时间执行的特定命令或程序。
- 任务调度的分类:
- 系统工作,有些重要工作必须周而复始的执行
- 个别用户工作,个别用户可能希望执行某些程序,比如 mysql 的备份。
crontab [参数]
参数有:
- -e:编辑crontab定时任务
- -l:查询crontab任务
- -f:删除当前用户所有的crontab任务
快速入门:
# 设置任务调度文件,/etc/crontab
# 设置个人任务调度,执行 crontab -e 命令
# 接着输入任务到调度文件
# 如:*/1****ls -l /etc/>tem/to.txt
# 实现每分钟将命令 ls -l /etc/ 的结果写到 tem/to.txt 中
crontab -e
# 接下来会让你编辑写入定时任务
*/1****ls -l /etc/>tem/to.txt
*/1****
参数说明:
- 第一个
*
表示一小时当中的第几分钟 - 第二个
*
表示一天当中的第几个小时 - 第三个
*
表示一月当中的第几天 - 第四个
*
表示一年当中的第几月 - 第五个
*
表示一周当中的星期几
特殊符号说明:("*" “,” “-” " */n")
案例:每个1分钟,将当前日期信息追加到 /tem/mydata
文件中
# 首先编写一个sh脚本文件
touch mytask1.sh
vim mytask1.sh
# 写入 data >> /tem/mydata
# 给mytask1.sh一个可执行权限
chmod u=rwx,g=r-x,o=r-w mytask1.sh
# 编辑crontab
crontab -e
写入 */1**** /home/mytask1.sh
每个一分钟执行这个shell脚本。
磁盘
查询磁盘整体磁盘使用情况
df -h
df -l
df -lh
查询指定目录的磁盘占用情况
du -h [/目录]
查询指定目录的磁盘占用情况,默认为当前目录。
参数可以有:
- -s:指定目录占用大小总汇
- -h:带计量单位
- -a:含文件
- -max-depth=1:子目录深度
- -c:列出明细的同时,增加汇总值
进程管理
进程的基本介绍:
- 在linux中,每个执行的程序都被称为一个进程,每个进程都分配一个进程ID号
- 每个进程,都会对应一个父进程,而这个父进程可以复制多个子进程。
- 每个进程可能以两种方式存在。前台与后台,前台进程就是用户可以在屏幕上操作的进程。后台进程是实际上在运行,但是在屏幕上看不到的。
- 一般系统的服务都是以后台进程的方式存在的,而且都会常驻在系统中。直到关机才结束。
显示系统执行的进程
ps 查看进程列表
ps命令可以查看当前系统中有哪些进程。
ps显示的信息:
- PID:进程号
- TTY:终端机号
- TIME:此进程所消耗的 CPU 时间
- CMD:正在执行的命令或进程名
可以添加参数:
# 显示当前终端的所有进程信息
ps -a
# 显示用户的进程信息
ps -u
# 查看用户处于哪些进程中
ps -u [用户名]
# 显示后台进程运行的参数
ps -x
# 带父进程信息的查看进程信息,ppid就是父进程
ps -ef
aux可以进行组合。例如:
# 显示当前所有进程,包含进程信息,进程所属用户信息,后台进程的参数信息
ps -aux
# | 是管道,grep是筛选,sshd是按照当前登录用户的方式进行筛选
ps -aux | grep sshd
pstree 查看进程树
pstree [选项]
参数有:
- -p:显示进程的PID
- -u:显示进程的所属用户
使用进程树查看进程,可以更好的理清进程之间的关系,它的父进程啥的都可以很清晰的看到。
终止进程的两种方式
kill
kill 通过进程号杀死进程。
kill [参数] [进程号]
参数有:
- -9:强制杀死一个进程(有的进程只使用kill杀不死)
案例:
# 杀死某个用户登录进程
# 首先查看有哪些用户登录
ps -aux | grep sshd
# 然后杀死某个用户进程
kill 2021
# 终止远程服务sshd,在适当的时候再次重启sshd
# 直接删除 sshd 服务即可
# 查找sshd
ps -aux | grep sshd
# 删除第一个文件地址为 /usr/sbin/sshd 的进程
kill 3008
# 开启sshd服务
service sshd start
# 强制杀死某个终端
# 首先查找所有终端进程
ps -aux | grep bash
kill -9 4115
killall
killall 会杀死所有进程,但是它支持通配符来杀死指定的进程。
# 通过进程名称终止进程
# 例如打开了多个gedit编辑器,我们如果一个一个进程关太慢,所以使用名字终止所有进程。
killall gedit
服务管理
服务[service]的本质就是进程,但是是运行在后台的进程,通常都会监听某个端口,等待其他程序的请求。例如(mysql、sshd等),因此服务又称为守护进程。
service 服务名 [start | stop | restart | reload | status]
在远程终端,可以使用 telnet ip地址 端口号
指令来查看linux的某个端口是否在监听。
查看linux中有哪些服务:
# 第一种方式使用 setup -> 系统服务 就可以看到
# 第二种方式在 /etc/init.d/ 目录下可以看到
监控进程指令
动态监控进程
使用 top 命令进行动态监控进程,top 与 ps 命令很相似。他们都用来显示正在执行的进程。top 与 ps 最大的不同之处在于 top 在执行一段时间可以更新正在运行的进程。
top [参数]
参数有:
-
-d:指定 top 命令每隔几秒更新,默认是 3 秒在 top 命令的交互模式当中可以执行的命令
# 每隔10秒刷新一次 top -d 10
-
-i:使 top 不显示任何闲置或者僵死进程
-
-p:通过指定监控进程ID来仅仅监控某个进程状态
监控网络状态指令
netstat [参数]
# 一般常写成。
netstat -anp
参数可以是:
- -an:按一定顺序排列输出
- -p:显示哪个进程在调用
RPM包与YUM包的管理
RPM包管理
RPM:RedHad Package Manager(RedHet软件包管理工具),类似于 windows 的 setup.txt。
RPM包是一种用户互联网下载包的打包及安装工具,它生成具有.RPM
扩展名的文件。(就是安装上的软件包)
查询RPM包
# 查询已安装的rpm列表
rpm -qa | grep [包名]
# 例如,查询linux中有没有安装firefox
rpm -qa | grep firefox
# 一个rpm包的基本格式
包名:firefox-45.0.1-1 el6.centos.x86_64.rpm
名称:firefox
版本号:45.0.1-1
使用操作系统:el6.centos.x86_64
表示centos6.x的64位系统
如果是i686、i386表示32位系统,noarch表示通用。
其他查询指令:
rpm -qa:查询所安装的所有rpm软件杯
rpm -qa | more
rpm -qa | grep [xxx]
rpm -q [软件包名]:查询软件包是否安装
# 例如 rpm -q firefox
rpm -qi [软件包名]:查询软件包信息
rpm -qi file
## 查询软件包中的文件(有时候我们需要查询软件包安装到那个文件中了)
rpm -ql [软件包名]:查询软件包中的文件
# 例如:rpm -ql firefox
## 查询文件所属的软件包(有时候我们知道一个文件,但我们想知道这个文件是属于哪个软件包的)
rpm -qf [文件全路径名]:查询文件所属的软件包
# 例如:rpm -qf /etc/passwd
# 例如:rpm -qf /root/install.log
卸载 rpm 包
rpm -e [rpm包的名称]
安装 rpm 包
rpm -ivh [rpm包全路径名称]
参数说明:
- i:install 安装
- v:verbose 提示
- h:hash 进度条
# 例如
rpm -ivh /opt/firefoxxxx.rpm
YUM包管理
Yum 是一个 Shell 前端软件包管理器。基于 RPM 包管理,能够从指定的服务器自动下载 RPM 包并安装(类似于anaconda、pip),可以自动处理依赖关系,并且一次安装所有依赖的软件包。
查询yum服务器是否有需要安装的软件
yum list | grep [软件名]
安装指定的yum包
yum install [软件包名]
默认安装最新版本的软件