linux基础

文章目录

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 compatibleset 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的三种模式

  1. 正常模式

    在正常模式下我们可以使用快捷键,在该模式下我们可以使用删除字符、删除整行、复制粘贴等

  2. 插入模式

    按下 i 进入插入模式

  3. 命令行模式

    在该模式下我们可以完成存盘、读取、替换、离开等操作

    • :q 退出
    • :q! 强制退出,不保存
    • :w 写入
    • :wq 写入并退出

vi与vim的快捷键

在正常模式下才可以使用快捷键

  • 拷贝当前行 yy

    • 拷贝当前行下5行 5yy
  • 粘贴 p

  • 删除当前行 dd

    • 删除当前行下5行 5dd
  • 在当前文件中查找某个单词,**在命令行下输入 /关键词 **就可以查找到所有的关键词。绿标在第一个关键词处,如果要往下找按 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 usernameadduser 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共有七个运行级别

  1. 关机
  2. 单用户(找回登录密码时有用)
  3. 多用户无网络服务
  4. 多用户有网络服务(XShell连接时就是3运行级别的)
  5. 保留
  6. 图形界面
  7. 重启

系统的运行级别配置文件在/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 进行定时任务调度。

  • 任务调度:是指系统在某个时间执行的特定命令或程序。
  • 任务调度的分类:
    1. 系统工作,有些重要工作必须周而复始的执行
    2. 个别用户工作,个别用户可能希望执行某些程序,比如 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 [软件包名]

默认安装最新版本的软件

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值