当前位置: 代码迷 >> 综合 >> linux之rpm,yum,tree,wget,df,du,fdisk,ifconfig命令
  详细解决方案

linux之rpm,yum,tree,wget,df,du,fdisk,ifconfig命令

热度:70   发布时间:2024-02-19 09:39:49.0

linux下软件的安装与管理
1.rpm包
在 Linux 操作系统下,几乎所有的软件均通过RPM 进行安装、卸载及管理等操作。
RPM 的全称为Redhat Package Manager ,是由Redhat 公司提出的,用于管理Linux下软件包的
软件。Linux安装时,除了几个核心模块以外,其余几乎所有的模块均通过RPM 完成安装。

RPM 有五种操作模式:分为安装、查询、验证、更新、删除等操作

1)rpm包的安装
rpm -i[辅助选项] package1.rpm package2.rpm package3.rpm

选项 说 明
-i install的意思,就是安装软件,也可以使用"–install"
-v 显示安装过程的详细处理过程
-h 显示安装进度

用RPM安装软件包,最简单的命令如下:
#rpm -i example.rpm 安装 example.rpm 包;
#rpm -iv example.rpm 安装 example.rpm 包并在安装过程中显示正在安装的文件信息;
#rpm -ivh example.rpm 安装 example.rpm 包并在安装过程中显示正在安装的文件信息及安装进度;

2)rpm软件包的查询
rpm -[辅助选项] package1…packageN
参数说明: package1…packageN 为已经安装的软件包名称
辅助选项含义如下:
选项 说 明
-q query的意思,也可以使用"–query" 对已安装的包进行简单查询
-f 查询操作系统中某个文件属于哪个对应的rpm软件名
-p 查询以".rpm" 为后缀的软件包安装后对应的包名称

rpm -qi packagename 对已安装的包进行详细信息查询
rpm -qa packagename 显示已经安装的所有rpm包
rpm -qa | grep linux 显示已经安装的所有包含linux字段的包

例:
[crx@master jdk]$ rpm -qa | grep java

管道 |
Linux允许将一个命令的输出 可以通过管道 做为另一个命令的输入
常用的管道命令有:
more : 分屏显示内容
grep : 在命令执行结果的基础上查询指定的文本

rpm包的卸载(删除软件包)
命令格式:
rpm -e [辅助选项] package1…packageN

选项 说 明
-e erase的意思,也可以用-erase代替
–test 只执行删除的测试
–nodeps 不检查依赖性
参数说明 : package1…packageN表示已经安装的软件包名

rpm -e packagename 卸载已安装的rmp包(可以,以空格隔开同时删除多个包)

例1:查找包含java的软件包
[crx@master tmp]$ rpm -qa | grep java
tzdata-java-2016c-1.el6.noarch

例2:要删除example软件包,使用如下命令
#>rpm -q example
#>rpm -e example
#>rpm -q example

例3:
系统有时候会默认使用OpenJDK版本,需要卸载后,重新安装自己需要的JDK版本
以下操作,请切换至root权限进行操作
1)查询OpenJDK,发现有两个openJDK版本
rpm -qa|grep java

2)删除openJDK版本
rpm -e --nodeps java-1.7.0-openjdk-1.7.0.9-2.3.4.1.el6_3.i686

2.srpm包
srpm包为未编译过的rpm包,需要以rpm管理的方式编译,然后以rpm的安装方式安装

2.1 srpm包的安装’
源代码RPM包的结尾通常是.src.rpm
使用方法
rpm -i rpmpackage.src.rpm

yum的特点与基本用法

1.yum的特点
安装方便,自动解决添加或删除rpm包时遇到的依赖性问题
可以同时配置多个资源库
配置文件简单明了(/etc/yum.conf、/etc/yum.repos.d/CentOS-ase.repo)
保持与RPM数据库的一致性

yum会自动下载所需的升级资源包并默认放置在/var/cache/yum目录下,
当第一次使用yum或yum资源库更新时,软件升级所需的时间可能较长.

2.yum的基本用法
1)通过yum安装和删除RPM包
需要安装rpm包,如dhcp,命令如下:
#>yum install dhcp

要删除rpm包,包括与该包有依赖性的包,命令如下:
#>yum remove licq

***同时会提示删除 licq-gnome、licq-qt、licq-text
$>yum remove java-1.7.0-openjdk-1.7.0.99-2.6.5.1.el6.x86_64

2)通过yum工具更新软件包
要检查可更新的rpm包,命令如下:
#> yum check-update

更新所有的rpm包,命令如下:
#>yum update

要更新指定的rpm包,如更新kernel和kernel-source命令如下:
#>yum update kernel kernel-source

要大规模地升级版本,与yum update不同的是,陈旧的包也会升级,命令如下:
#>yum upgrade

3)通过yum查询RPM包信息
要列出资源库中所有可以安装或更新的rpm包的信息,命令如下:

#>yum info

要列出资源库中所有可以更新的rpm包的信息,命令如下:
#>yum info updates

要列出已经安装的所有rpm包的信息,命令如下:
#>yum info installed

tree工具
功能说明:以树状图列出目录的内容,让你一目了然
1.tree作用
tree命令以树状图列出目录的内容。
2.tree命令的使用格式
tree [-option] [dir] 备注,tree命令中,dir缺省为当前目录。
3.tree命令的一些常用选项
选项
含义
-a
显示所有文件和目录
-d
只显示目录名称,不显示文件
-D
列出文件或目录的更改时间
-L num
显示num层目录结构,深度大禹num层的目录和文件将不会显示

4.使用举例
tree -d #只显示目录
tree -L 2 #显示2层内容
tree /home/work #显示/home/work目录中的内容

[crx@master ~]$ rpm -qa | grep tree
[crx@master ~]$ sudo yum install tree
[crx@master ~]$ tree ~/Desktop/

[root@master Desktop]# rpm -qa | grep tree
tree-1.5.3-3.el6.x86_64

rpm方式卸载
[root@master Desktop]# rpm -e tree-1.5.3-3.el6.x86_64
[root@master Desktop]# rpm -qa | grep tree

yum方式安装
$>sudo yum install tree
yum方式卸载
[root@master Desktop]# rpm -qa | grep tree
[root@master Desktop]# yum remove tree-1.5.3-3.el6.x86_64
[root@master Desktop]# rpm -qa | grep tree

wget命令
1.功能说明
wget命令用来从网络上下载某个软件,这个命令对于能够连接到互联网的Linux系统用处非常大,
可以直接从网络下载自己需要的软件。
格式如下:
wget 【要下载软件的网址】

[crx@slave1 Desktop]$ wget http://archive.apache.org/dist/hadoop/common/hadoop-2.7.3/hadoop-2.7.3.tar.gz

df命令
linux中df命令的功能是用来检查linux服务器的文件系统的磁盘空间占用情况。
可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。

1.命令格式
df [选项] [文件]

命令:
df
-h 人性化的显示

Shell
输出:

[crx@master ~]$ df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/cl-root 40137576 1652412 38485164 5% /
devtmpfs 488988 0 488988 0% /dev
tmpfs 499968 0 499968 0% /dev/shm
tmpfs 499968 6860 493108 2% /run
tmpfs 499968 0 499968 0% /sys/fs/cgroup
/dev/sda1 1038336 141652 896684 14% /boot
/dev/mapper/cl-home 19593216 33404 19559812 1% /home
tmpfs 99996 0 99996 0% /run/user/0
tmpfs 99996 0 99996 0% /run/user/1000

Shell
说明:
linux中df命令的输出清单
第1列是代表文件系统对应的设备文件的路径名(一般是硬盘上的分区);
第2列给出分区包含的数据块(1024字节)的数目;
第3,4列分别表示已用的和可用的数据块数目。用户也许会感到奇怪的是,
第3,4列块数之和不等于第2列中的块数。这是因为缺省的每个分区都留了少量空间供系统管理员
使用。即使遇到普通用户空间已满的情况,管理员仍能登录和留有解决问题所需的工作空间。
清单中Use% 列表示普通用户空间使用的百分比,即使这一数字达到100%,分区仍然留有系统管
理员使用的空间。最后,Mounted on列表示文件系统的挂载点。

Linux中的du命令也是查看使用空间的,与df命令不同的是,Linux du命令是对文件和目录磁盘使
用的空间的查看,所以它和df命令还是有一些区别的。

命令格式
du [选项][文件]
du -sh 文件名 #统计当前目录的大小

1.统计当前目录的大小,以直观方式展现
[crx@master Desktop]$ du -sh jdk1.8.0_172/
374M jdk1.8.0_172/

2. 要显示一个目录树及其每个子树的磁盘使用情况
du /home/crx

linux的硬件管理

在linux下,计算机所有设备是以文件的形势存在的。
在linux下查看硬件信息
1.lspci 列出所有的PCI设备
lspci,顾名思义,就是显示所有的pci设备信息。pci是一种总线,而通过pci总线连接的设备就是pci设备了。
如今,我们常用的设备很多都是采用pci总线了,如:网卡、存储等。下面就简单介绍下该命令。
lspci:显示所有的pci设备信息。包括设备的BDF,设备类型,厂商信息等。

2.fdisk -l 查看存储设备信息,显示磁盘分区信息

3.查看/proc目录下相应的文件来查看一些设备信息
cat /proc/cpuinfo 查看CPU的信息

4.mount 磁盘分区的挂载 挂载使用光驱
mount /dev/cdrom

ifconfig命令
许多windows非常熟悉ipconfig命令行工具,它被用来获取网络接口配置信息并对此进行修改。
Linux系统拥有一个类似的工具,也就是ifconfig(interfaces config)。
通常需要以root身份登录或使用sudo以便在Linux机器上使用ifconfig工具。
依赖于ifconfig命令中使用一些选项属性,
ifconfig工具不仅可以被用来简单地获取网络接口配置信息,还可以修改这些配置。

1.命令格式
ifconfig [网络设备] [参数]

2.命令功能
ifconfig 命令用来查看和配置网络设备。当网络环境发生改变时可通过此命令对网络进行相应的配置。

3.命令参数
up 启动指定网络设备/网卡。
down 关闭指定网络设备/网卡。该参数可以有效地阻止通过指定接口的IP信息流,
如果想永久地关闭一个接口,我们还需要从核心路由表中将该接口的路由信息全部删除。
arp 设置指定网卡是否支持ARP协议。
-promisc 设置是否支持网卡的promiscuous模式,如果选择此参数,网卡将接收网络中发给它所有的数据包
-allmulti 设置是否支持多播模式,如果选择此参数,网卡将接收网络中所有的多播数据包
-a 显示全部接口信息
-s 显示摘要信息(类似于 netstat -i)
add 给指定网卡配置IPv6地址
del 删除指定网卡的IPv6地址
mtu<字节数> 设置网卡的最大传输单元 (bytes)
netmask<子网掩码> 设置网卡的子网掩码。掩码可以是有前缀0x的32位十六进制数,也可以是用点分开的4个十进制数。如果不打算将网络分成子网,可以不管这一选项;如果要使用子网,那么请记住,网络中每一个系统必须有相同子网掩码。
tunel 建立隧道
dstaddr 设定一个远端地址,建立点对点通信
-broadcast<地址> 为指定网卡设置广播协议
-pointtopoint<地址> 为网卡设置点对点通讯协议
multicast 为网卡设置组播标志
address 为网卡设置IPv4地址
txqueuelen<长度> 为网卡设置传输列队的长度

实例1:显示网络设备信息(激活状态的)
命令:

ifconfig
Shell
输出:

[crx@master ~]$ ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.0.197 netmask 255.255.255.0 broadcast 192.168.0.255
inet6 fe80::da2d:9b2b:7f35:dd8c prefixlen 64 scopeid 0x20
ether 00:0c:29:11:29:4a txqueuelen 1000 (Ethernet)
RX packets 368 bytes 32960 (32.1 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 120 bytes 20969 (20.4 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10
loop txqueuelen 1 (Local Loopback)
RX packets 4 bytes 340 (340.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 4 bytes 340 (340.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

Shell
说明:
ens33 表示第一块网卡,
ether 表示网卡的物理地址,可以看到上面输出信息中,这个网卡的物理地址(MAC地址)是 00:0c:29:11:29:4a
inet 用来表示网卡的IP地址,此网卡的 IP地址是 192.168.0.197,广播地址,
掩码地址 Mask: 255.255.255.0
lo 是表示主机的回坏地址,这个一般是用来测试一个网络程序,
但又不想让局域网或外网的用户能够查看,只能在此台主机上运行和查看所用的网络接口。
比如把 HTTPD服务器的指定到回坏地址,在浏览器输入 127.0.0.1 就能看到你所架WEB网站了。
但只是您能看得到,局域网的其它主机或用户无从知道。

第一行:连接类型:Ethernet(以太网)HWaddr(硬件mac地址)
第二行:网卡的IP地址、子网、掩码
第三行:UP(代表网卡开启状态)RUNNING(代表网卡的网线被接上)MULTICAST(支持组播)MTU: 1500(最大传输单元):1500字节
第四、五行:接收、发送数据包情况统计
第七行:接收、发送数据字节数统计信息。

案例:
关闭与启动网卡
ifdown 网卡设备名 #禁用该网卡设备
ifup 网卡设备名 #启用该网卡设备

eg:
ifdown eth0
ifup eth0

ifdown lo
ifconfig查看 lo网卡没了

ifup lo
ifconfig查看 lo来了

***作用如果我们增加了一个网卡它不生效,这个时候可以禁用然后开启

  相关解决方案