linux基础命令 head命令(精选10篇)
1.命令格式:
head [参数]... [文件]...
2.命令功能:
head 用来显示档案的开头至标准输出中, 默认head命令打印其相应文件的开头10行。
3.命令参数:
-q 隐 藏文件名
-v 显示文件名
-c<字节> 显示字节数
- n<行数> 显示的行数
4.使用实例:
实例1:显示文件的前 n行
命令:
head -n 5 log.log
输出:
[root@localhost test]# cat log2014.log
2014-01
2014- 02
2014-03
2014-04
2014-05
2014-06
2014 -07
2014-08
2014-09
2014-10
2014- 11
2014-12
==============================
[root@localhost test]# head -n 5 log2014.log
2014- 01
2014-02
2014-03
2014-04
2014-05 [root@localhost test]#
实例2:显示文件前n个字节
命令:
head -c 20 log2014.log
输出:
[root@localhost test]# head -c 20 log2014.log
2014-01
2014- 02
2014
[root@localhost test]#
实例3:文件的除了最后 n个字节以外的内容
命令:
head -c -32 log2014.log
输 出:
[root@localhost test]# head -c -32 log2014.log
2014- 01
2014-02
2014-03
2014-04
2014-05
2014 -06
2014-07
2014-08
2014-09
2014- 10
2014-11
2014-12[root@localhost test]#
实例4:输出 文件除了最后n行的全部内容
命令:
head -n -6 log2014.log
输出:
[root@localhost test]# head -n -6 log2014.log
2014-01
2014-02
2014-03
2014- 04
2014-05
2014-06
学习Linux系统环境下的关机命令首先就要先了解Linux的运行级别, Linux系统有7个运行级别:
#0系统停机, 这个千万不能设置为系统默认的运行级别, 如设为系统默认运行级别, 系统就不能正常启动, 机器关闭。
#1单用户工作状态, 这是root权限, 用于系统维护, 禁止远程登陆。
#2多用户状态, 没有NFS支持。
#3完整的多用户模式, 有NFS, 登陆后进入控制台命令行模式。
#4系统保留一般不用, 在一些特殊情况下可以用它来做一些事情。
#5 X11控制台, 登陆后进入图形GUI模式, X Window系统。
#6系统正常关闭并重启, 不能设为默认运行级别, 否则不能正常启动。
Linux是一种网络操作系统, 所以在其中包含有许多服务器脚本程序, 它们存储于目录/etc/rc.d/init.d中, 我们统称为service。其中有7个以rc N.d为名的目录, 与系统的7个运行级别一一对应。在rc N.d目录中存储的都是指向存储于init.d目录中的service的符号链接文件, 以K+nn+服务名或S+nn+服务名为文件名, nn为两位数字。
Linux操作系统在登录系统或者关闭系统时都要调用系统设置的运行级别, 才能进行相关的操作。Linux系统中有三个与关机相关的命令, 它们分别是shutdown, halt和reboot, 下面我们就分别详细说明一下:
Shutdown:
作用:关闭计算机系统, 并切断计算机电源关机。只有超级用户才能使用。
格式:shutdown[-h][-t][-k][-i][-m]
主要参数:
-h:关机后关闭电源。
-t:在系统运行级别改变以前, 通知init系统关机时间。
-k:只是给每位登录用户送出关机警告信号, 但并不真正关机。
-i:关闭操作系统时显示系统信息。
-time:设定关机前的时间。
-c:取消当前正在执行的关机操作程序。因此这个选项不带时间参数, 但是可以输入信息, 而输入的信息就会送达每位登录者。
-F:强迫系统在重启计算机时进行fsck。
-m:把系统改为单用户模式。
在这里我们需要说明的是Linux操作系统需要安全的关闭, 使用shutdown命令就可以安全地关闭Linux系统。但在实际中, 有些新人会用直接切断电源的方法关闭Linux系统, 长期使用这种方法对Linux系统来讲是十分危险的。因为Linux与Windows不同, 在其运行时后台运行着许多进程, 当关机时这些进程都要把数据回写到硬盘中, 所以切断电源关机就可能会导致进程的数据丢失, 使系统处于崩溃的边缘, 更甚者会直接损坏硬盘。
与shutdown命令作用相似的命令还有halt。
halt
作用:系统关闭命令。只有超级用户能使用
格式:halt[-n][-i][-f][-w][-p][-d]
主要参数
-n:只有在使用fsck程序修补过根分区之后才能用到这个参数, 主要作用就是防止内核用修补之前的超级块覆盖已修补过的超级块。
-i:关机 (或重启) 前, 关掉所有的网络接口。
-f:强迫关机或重启。
-w:并不是真正的重启或关机, 只是往/var/log/wtmp写纪录。
-p:执行关机操作时顺便切断机器电源。
-d:关闭系统时不留下纪录。
其实halt命令执行的操作就是shutdown-h。halt命令执行时, 会杀死应用进程, 执行sync系统调用, 把buffer中的数据强制写入硬盘, 当检测到文件系统写操作完成后就会停止内核。如果这时系统的运行级别为0或6, 就关闭系统;否则就会执行shutdown指令 (加上-h参数) 。
在Linux中的第三个与关机有关的命令就是reboot
Reboot
作用:重新启动计算机。只有超级用户才能使用。
格式:reboot[-n][-w][-d][-i]
主要参数:
-n:在重启计算机时不把内存中的数据写回硬盘。
-w:不是真的重启计算机, 只是把系统重启记录写入/var/log/wtmp文件里。
-d:不把重启记录写入/var/log/wtmp文件里, 其实已经包含在-n这个参数里了。
-i:在重启计算机之前把所有与网络有关的设备停止。
参考文献
懂得网络配置命令是一般技术人员必备的技术,经过一段时间的研究和学习,总结了一些常用的命令和示例以便日后查阅.
懂得网络配置命令是一般技术人员必备的技术,经过一段时间的研究和学习,总结了一些常用的命令和示例以便日后查阅.
传统的在1--3点,ip高级路由命令在4--12点,两者部分可以通用,并达到同样的目的,但ip的功能更强大,可以实现更多的配置目的,
首先,先了解传统的网络配置命令:
1. 使用ifconfig命令配置并查看网络接口情况
示例1: 配置eth0的IP,同时激活设备:
# ifconfig eth0 192.168.4.1 netmask 255.255.255.0 up
示例2: 配置eth0别名设备 eth0:1 的IP,并添加路由
# ifconfig eth0:1 192.168.4.2
# route add –host 192.168.4.2 dev eth0:1
示例3:激活(禁用)设备
# ifconfig eth0:1 up(down)
示例4:查看所有(指定)网络接口配置
# ifconfig (eth0)
2. 使用route 命令配置路由表
示例1:添加到主机路由
# route add –host 192.168.4.2 dev eth0:1
# route add –host 192.168.4.1 gw 192.168.4.250
示例2:添加到网络的路由
# route add –net IP netmask MASK eth0
# route add –net IP netmask MASK gw IP
# route add –net IP/24 eth1
示例3:添加默认网关
# route add default gw IP
示例4:删除路由
# route del –host 192.168.4.1 dev eth0:1
示例5:查看路由信息
# route 或 route -n (-n 表示不解析名字,列出速度会比route 快)
3.ARP 管理命令
示例1:查看ARP缓存
# arp
示例2: 添加
# arp –s IP MAC
示例3: 删除
# arp –d IP
4. ip是iproute2软件包里面的一个强大的网络配置工具,它能够替代一些传统的网络管理工具,
例如:ifconfig、route等,
上面的示例完全可以用下面的ip命令实现,而且ip命令可以实现更多的功能.下面介绍一些示例:
4.0 ip命令的语法
ip [OPTIONS] OBJECT [COMMAND [ARGUMENTS]]
4.1 ip link set--改变设备的属性. 缩写:set、s
示例1:up/down 起动/关闭设备。
# ip link set dev eth0 up
这个等于传统的 # ifconfig eth0 up(down)
示例2:改变设备传输队列的长度。
参数:txqueuelen NUMBER或者txqlen NUMBER
# ip link set dev eth0 txqueuelen 100
示例3:改变网络设备MTU(最大传输单元)的值。
# ip link set dev eth0 mtu 1500
示例4: 修改网络设备的MAC地址。
参数: address LLADDRESS
# ip link set dev eth0 address 00:01:4f:00:15:f1
4.2 ip link show--显示设备属性. 缩写:show、list、lst、sh、ls、l
-s选项出现两次或者更多次,ip会输出更为详细的错误信息统计。
示例:
# ip -s -s link ls eth0
eth0: mtu 1500 qdisc cbq qlen 100
link/ether 00:a0:cc:66:18:78 brd ff:ff:ff:ff:ff:ff
RX: bytes packets errors dropped overrun mcast
2449949362 2786187 0 0 0 0
RX errors: length crc frame. fifo missed
0 0 0 0 0
格式
last [—R] [—n][-f file][-t tty] [—h 节点][-I —IP][—1][-y][ID]
参数说明
NO分类PS1命令名用法及参数功能注解
1文件管理#lsls -a列出当前目录下的所有文件,包括以.头的隐含文件
文件管理#lsls -l或ll列出当前目录下文件的详细信息
文件管理#pwdpwd查看当前所在目录的绝对路经
文件管理#cdcd ..回当前目录的上一级目录
文件管理#cdcd -回上一次所在的目录
文件管理#cdcd ~ 或 cd回当前用户的宿主目录
文件管理#cdcd ~用户名回指定用户的宿主目录
2文件管理#mkdirmkdir 目录名创建一个目录
文件管理#mkdirmkdir –p递归式去创建一些嵌套目录
文件管理#rmdirRmdir 空目录名删除一个空目录
3文件管理#rmrm 文件名 文件名删除一个文件或多个文件
文件管理#rmrm -rf 非空目录名递归删除一个非空目录下的一切,不让提式-f
4文件管理#catcat文件名一屏查看文件内容
5文件管理#moremore文件名分页查看文件内容
6文件管理#lessless 文件名可控分页查看文件内容
7文件管理#grepgrep字符 文件名根据字符匹配来查看文件部分内容
8文件管理#mvmv 路经/文件/经/文件移动相对路经下的文件到绝对路经下
文件管理#mvmv 文件名 新名称在当前目录下改名
9文件管理#cpcp /路经/文件./移动绝对路经下的文件到当前目录下10 文件管理#findfind 路经 -name “字符串”查找路经所在范围内满足字符串匹配的文件和目录
11文件管理#lnln 源文件 链接名创建当前目录源文件的硬链接
ln /home/test /usr/test1在/usr下建立/home/test的硬链接
12文件管理#lnLn -s a b创建当前目录下a的符号链接b
13文件管理#touchtouch file1 file2创建两个空文件
14磁盘管理#dfdf用于报告文件系统的总容量,使用量,剩余容量,
一、全面介绍linux 常用命令
tar打包对于服务器端运维来说是个非常重要的命令,因为很多数据备份都需要先打包,然后在scp或者rsync传送,这里介绍tar的基本命令,方便自己回顾
man tar
linux下学习什么命令都需要先man一下,只有好处没有坏处!
选项
-c : 建立新的归档文件
-x : 从归档文件中解出文件
-v : 处理过程中输出相关信息
-z : 调用gzip来压缩归档,与-x连用时调用gzip完成解压缩
-f : use archive file or device ARCHIVE
-C : change to directory DIR,解压时用于指定解压目录
示例
(1)压缩文件
# wget curl.haxx.se/download/curl-7.20.0.tar.gz
--解压到当前目录
# tar -zxf curl-7.20.0.tar.gz
--进入解压后的目录内
# cd curl-7.17.1
--配置,指定安装的目录,这里是“/usr/local/curl”
# ./configure --prefix=/usr/local/curl
--
# make
--安装
# make install
--安装完毕
使用:
将curl命令加入环境变量,
命令行里执行(仅对本会话起作用,或者在.bash_profile、.bashrc文件里配置环境变量):
# export PATH=$PATH:/usr/local/curl/bin
-c :建立一个压缩文件的参数指令(create 的意思);
-x :解开一个压缩文件的参数指令!
-t :查看 tarfile 里面的文件!
特别注意,在参数的下达中, c/x/t 仅能存在一个!不可同时存在!
因为不可能同时压缩与解压缩,
-z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?
-j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩?
-v :压缩的过程中显示文件!这个常用,但不建议用在背景执行过程!
-f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数!
例如使用『 tar -zcvfP tfile sfile』就是错误的写法,要写成
『 tar -zcvPf tfile sfile』才对喔!
-p :使用原文件的原来属性(属性不会依据使用者而变)
-P :可以使用绝对路径来压缩!
-N :比后面接的日期(yyyy/mm/dd)还要新的才会被打包进新建的文件中!
--exclude FILE:在压缩的过程中,不要将 FILE 打包!
范例:
范例一:将整个 /etc 目录下的文件全部打包成为 /tmp/etc.tar
[root@linux ~]# tar -cvf /tmp/etc.tar /etc
gzip, zcat 命令
[root@linux ~]# gzip [-cdt#] 档名
[root@linux ~]# zcat 档名.gz
参数:
-c :将压缩的资料输出到萤幕上,可透过资料流重导向来处理;
-d :解压缩的参数;
-t :可以用来检验一个压缩档的一致性~看看文件有无错误;
-# :压缩等级,-1 最快,但是压缩比最差、-9 最慢,但是压缩比最好!预设是 -6 ~
范例:
范例一:将 /etc/man.config }制到 /tmp ,并且以 gzip 压缩
[root@linux ~]# cd /tmp
[root@linux tmp]# cp /etc/man.config .
[root@linux tmp]# gzip man.config
# 此时 man.config 会变成 man.config.gz !
范例二:将范例一的文件内容读出来!
[root@linux tmp]# zcat man.config.gz
# 此时萤幕上会显示 man.config.gz 解压缩之后的文件内容!!
范例三:将范例一的文件解压缩
[root@linux tmp]# gzip -d man.config.gz
范例四:将范例三解开的 man.config 用最佳的压缩比压缩,并保留原本的文件
[root@linux tmp]# gzip -9 -c man.config >man.config.gz
bzip2, bzcat 命令
[root@linux ~]# bzip2 [-cdz] 档名
[root@linux ~]# bzcat 档名.bz2
参数:
-c :将压缩的过程产生的资料输出到萤幕上!
-d :解压缩的参数
-z :压缩的参数
-# :与 gzip 同样的,都是在计算压缩比的参数, -9 最佳, -1 最快!
范例:
范例一:将刚刚的 /tmp/man.config 以 bzip2 压缩
[root@linux tmp]# bzip2 -z man.config
# 此时 man.config 会变成 man.config.bz2 !
范例二:将范例一的文件内容读出来!
[root@linux tmp]# bzcat man.config.bz2
# 此时萤幕上会显示 man.config.bz2 解压缩之后的文件内容!!
范例三:将范例一的文件解压缩
[root@linux tmp]# bzip2 -d man.config.bz2
范例四:将范例三解开的 man.config 用最佳的压缩比压缩,并保留原本的文件
[root@linux tmp]# bzip2 -9 -c man.config >man.config.bz2
compress 命令
[root@linux ~]# compress [-dcr] 文件或目录
参数:
-d :用来解压缩的参数
-r :可以连同目录下的文件也同时给予压缩呢!
-c :将压缩资料输出成为 standard output (输出到萤幕)
范例:
范例一:将 /etc/man.config }制到 /tmp ,并加以压缩
[root@linux ~]# cd /tmp
[root@linux tmp]# cp /etc/man.config .
[root@linux tmp]# compress man.config
[root@linux tmp]# ls -l
-rw-r--r-- 1 root root 2605 Jul 27 11:43 man.config.Z
范例二:将刚刚的压缩档解开
[root@linux tmp]# compress -d man.config.Z
范例三:将 man.config 压缩成另外一个文件来备份
[root@linux tmp]# compress -c man.config >man.config.back.Z
[root@linux tmp]# ll man.config*
-rw-r--r-- 1 root root 4506 Jul 27 11:43 man.config
-rw-r--r-- 1 root root 2605 Jul 27 11:46 man.config.back.Z
# 这个 -c 的参数比较有趣!他会将压缩过程的资料输出到萤幕上,而不是写入成为
# file.Z 文件,
所以,我们可以透过资料流重导向的方法将资料输出成为另一个档名。
# 关於资料流重导向,我们会在 bash shell 当中详细谈论的啦!
dd 命令
[root@linux ~]# dd if=“input_file” f=“outptu_file” bs=“block_size”
count=“number”
参数:
if :就是 input file ~也可以是装置喔!
of :就是 output file 喔~也可以是装置;
bs :规划的一个 block 的大小,如果没有设定时,预设是 512 bytes
count:多少个 bs 的意思。
范例:
范例一:将 /etc/passwd 备份到 /tmp/passwd.back 当中
[root@linux ~]# dd if=/etc/passwd f=/tmp/passwd.back
3+1 records in
3+1 records out
[root@linux ~]# ll /etc/passwd /tmp/passwd.back
-rw-r--r-- 1 root root 1746 Aug 25 14:16 /etc/passwd
-rw-r--r-- 1 root root 1746 Aug 29 16:57 /tmp/passwd.back
# 仔细的看一下,我的 /etc/passwd 文件大小为 1746 bytes,因为我没有设定 bs ,
# 所以预设是 512 bytes 为一个单位,因此,上面那个 3+1 表示有 3 个完整的
# 512 bytes,以及未满 512 bytes 的另一个 block 的意思啦!
# 事实上,感觉好像是 cp 这个指令啦~
范例二:备份 /dev/hda 的 MBR
[root@linux ~]# dd if=/dev/hda f=/tmp/mbr.back bs=512 count=1
1+0 records in
1+0 records out
# 这就得好好t解一下~我们知道整颗硬盘的 MBR 为 512 bytes,
# 就是放在硬盘的第一个 sector 啦,因此,我可以利用这个方式来将
# MBR 内的所有资料都纪录下来,真的很厉害吧! ^_^
范例三:将整个 /dev/hda1 partition 备份下来。
[root@linux ~]# dd if=/dev/hda1 f=/some/path/filenaem
# 这个指令很厉害啊!将整个 partition 的内容全部备份下来~
# 后面接的 of 必须要不是在 /dev/hda1 的目录内啊~否则,怎么读也读不完~
# 这个动作是很有效用的,如果改天你必须要完整的将整个 partition 的内容填回去,
# 则可以利用 dd if=/some/file f=/dev/hda1 来将资料写入到硬盘当中。
# 如果想要整个硬盘备份的话,就类似 Norton 的 ghost 软体一般,
# 由 disk 到 disk ,嘿嘿~利用 dd 就可以啦~厉害厉害!
cpio 命令
[root@linux ~]# cpio -covB >[file|device]
[root@linux ~]# cpio -icduv
参数:
-o :将资料 copy 输出到文件或装置上
-i :将资料自文件或装置 copy 出来系统当中
-t :查看 cpio 建立的文件或装置的内容
-c :一种较新的 portable format 方式储存
-v :让储存的过程中文件名称可以在萤幕上显示
-B :让预设的 Blocks 可以增加至 5120 bytes ,预设是 512 bytes !
这样的好处是可以让大文件的储存速度加快(请参考 i-nodes 的观念)
-d :自动建立目录!由於 cpio 的内容可能不是在同一个目录内,
如此的话在反备份的过程会有问题! 这个时候加上 -d 的话,
就可以自动的将需要的目录建立起来了!
-u :自动的将较新的文件覆盖较旧的文件!
范例:
范例一:将所有系统上的资料通通写入磁带机内!
[root@linux ~]# find / -print | cpio -covB >/dev/st0
# 一般来说,使用 SCSI 介面的磁带机,代号是 /dev/st0 喔!
范例二:检查磁带机上面有什么文件?
[root@linux ~]# cpio -icdvt
[root@linux ~]# cpio -icdvt /tmp/content
# 第一个动作当中,会将磁带机内的档名列出到萤幕上面,而我们可以透过第二个动作,
# 将所有的档名通通纪录到 /tmp/content 文件去!
范例三:将磁带上的资料还原回来~
[root@linux ~]# cpio -icduv
# 一般来说,使用 SCSI 介面的磁带机,代号是 /dev/st0 喔!
范例四:将 /etc 底下的所有『文件』都备份到 /root/etc.cpio 中!
[root@linux ~]# find /etc -type f | cpio -o >/root/etc.cpio
使用权限:系统管理者
使用方式:halt [-n] [-w] [-d] [-f] [-i] [-p]
说明:若系统的 runlevel 为 0 或 6 ,则关闭系统,否则以 shutdown 指令(加上 -h 参数)来取代
参数:
-n : 在关机前不做将记忆体资料写回硬盘的动作
-w : 并不会真的关机,只是把记录写到 /var/log/wtmp 档案里
-d : 不把记录写到 /var/log/wtmp 档案里(-n 这个参数包含了 -d) -f : 强迫关机,不呼叫 shutdown 这个指令
-i : 在关机之前先把所有网络相关的装置先停止
-p : 当关机的时候,顺便做关闭电源(poweroff)的动作
范例:
halt -p 关闭系统后关闭电源,
halt -d 关闭系统,但不留下纪录。
linux常用关机命令及其区别:
在linux下一些常用的关机/重启命令有shutdown、halt、reboot、及init,它们都可以达到重启系统的目的,但每个命令的内部工作过程是不同的,通过本文的介绍,希望你可以更加灵活的运用各种关机命令。
1.shutdown
shutdown命令安全地将系统关机。
有些用户会使用直接断掉电源的方式来关闭linux,这是十分危险的。因为linux与windows不同,其后台运行着许多进程,所以强制关机可能会导致进程的数据丢失o使系统处于不稳定的状态o甚至在有的系统中会损坏硬件设备。
而在系统关机前使用shutdown命令o系统管理员会通知所有登录的用户系统将要关闭。并且login指令会被冻结o即新的用户不能再登录。直接关机或者延迟一定的时间才关机都是可能的o还可能重
启。这是由所有进程〔process〕都会收到系统所送达的信号〔signal〕决定的。这让像vi之类的程序有时间储存目前正在编辑的文档o而像处理邮件〔mail〕和新闻〔news〕的程序则可以正常地离开等等。
shutdown执行它的工作是送信号〔signal〕给init程序o要求它改变runlevel。Runlevel 0被用来停机〔halt〕orunlevel 6是用来重新激活〔reboot〕系统o而runlevel 1则是被用来让系统进入管理工作可以进行的状态r这是预设的o假定没有-h也没有-r参数给shutdown,
要想了解在停机〔halt〕或者重新开机〔reboot〕过程中做了哪些动作o你可以在这个文件/etc/inittab里看到这些runlevels相关的资料。
shutdown 参数说明:
[-t] 在改变到其它runlevel之前o告诉init多久以后关机。
[-r] 重启计算器。
[-k] 并不真正关机o只是送警告信号给每位登录者〔login〕。
[-h] 关机后关闭电源〔halt〕。
[-n] 不用inito而是自己来关机。不鼓励使用这个选项o而且该选项所产生的后果往往不总是你所预期得到的。
[-c] cancel current process取消目前正在执行的关机程序。所以这个选项当然没有时间参数o但是可以输入一个用来解释的讯息o而这信息将会送到每位使用者。
[-f] 在重启计算器〔reboot〕时忽略fsck。
[-F] 在重启计算器〔reboot〕时强迫fsck。
[-time] 设定关机〔shutdown〕前的时间。
2.halt—-最简单的关机命令
其实halt就是调用shutdown -h。halt执行时o杀死应用进程o执行sync系统调用o文件系统写操作完成后就会停止内核。
参数说明:
[-n] 防止sync系统调用o它用在用fsck修补根分区之后o以阻止内核用老版本的超级块〔superblock〕覆盖修补过的超级块。
[-w] 并不是真正的重启或关机o只是写wtmp〔/var/log/wtmp〕纪录。
[-d] 不写wtmp纪录〔已包含在选项[-n]中〕。
[-f] 没有调用shutdown而强制关机或重启。
[-i] 关机〔或重启〕前o关掉所有的网络接口。
[-p] 该选项为缺省选项。就是关机时调用poweroff。
3.reboot
reboot的工作过程差不多跟halt一样o不过它是引发主机重启o而halt是关机。它的参数与halt相差不多。
4.init
*可以同时配置多个资源库(Repository)
*简洁的配置文件(/etc/yum.conf)
*自动解决增加或删除rpm包时遇到的倚赖性问题
*使用方便
*保持与RPM数据库的一致性
yum,是Yellow dog Updater Modified的简称,起初是由yellow dog这一发行版的开发者Terra Soft研发,用python写成,那时还叫做yup(yellow dog updater),后经杜克大学的Linux@Duke开发团队进行改进,遂有此名,yum的宗旨是自动化地升级,安装/移除rpm包,收集rpm包的相 关信息,检查依赖性并自动提示用户解决。yum的关键之处是要有可靠的repository,顾名思义,这是软件的仓库,它可以是http或ftp站点, 也可以是本地软件池,但必须包含rpm的header, header包括了rpm包的各种信息,包括描述,功能,提供的文件,依赖性等.正是收集了这些 header并加以分析,才能自动化地完成余下的任务。
1.yum的一切配置信息都储存在一个叫yum.conf的配置文件中,通常位于/etc目 录下,这是整个yum系统的重中之重:
对yum配置文件的简单解析:
cachedir:yum缓存的目录,yum在此存储下载的rpm包和数据库,一般是/var/cache/yum。
debuglevel:除错级别,0──10,默认是2
logfile:yum的日志文件,默认是/var/log/yum.log。
exactarch,有两个选项1和0,代表是否只升级和你安装软件包cpu体系一致的包,如果设为1,则如你安装了一个i386的rpm,则yum不会用686的包来升级。
gpgchkeck= 有1和0两个选择,分别代表是否是否进行gpg校验,如果没有这一项,默认好像也是检查的。
2.常用命令:
1.列出所有可更新的软件清单 命令:yum check-update 2.安装所有更新软件(更新所有可以升级的rpm包,包括kernel) 命令:yum update 3.仅安装指定的软件 命令:yum install 4.仅更新指定的软件 命令:yum update packagename 5.查找软件包 命令:yum search 6.列出所有可安b的软件包 命令:yum list 7.列出所有可更新的软件包 命令:yum list updates 8.列出所有已安装的软件包 命令:yum list installed 9.列出所有已安装但是不在Yum Repository 内的软件包信息 命令:yum list extras 10.列出指定的软件包 命令:yum list packagename 11.列出指定软件包信息 命令:yum info packagename 12.列出所有软件包信息 命令:yum info 13.列出所有可更新的软件包信息 命令:yum info updates 14.列出所有已安装的软件包信息 命令:yum info installed 15.列出所有已安b但不在 Yum Repository 鹊娜砑包信息 命令:yum info extras 16.列出软件包提供哪些文件 命令:yum provides packagename 17.删除软件包 命令:yum remove 18.清除缓存目录(/var/cache/yum)下的软件包 命令:yum clean packages 19.清除缓存目录(/var/cache/yum)下的 headers 命令:yum clean headers 20.清除缓存目录(/var/cache/yum)下旧的 headers 命令:yum clean oldheaders 21.清除缓存目录(/var/cache/yum)下的软件包及旧的headers 命令:yum clean, yum clean all (= yum clean packages; yum clean oldheaders) 22.大规模的版本升级,与yum update不同的是,连旧的淘汰的包也升级 命令:yum upgrade
每天定期执行系统更新#chkconfig yum on#service yum start
3.yum命令补充:
1.关于yum update命令:
yum update,yum会从服务器的header目录下载rpm的header,放在本地的缓存中,这可能会花费一定的时间,
header下载完毕,yum会判断是否有可更新的软件包,如果有,它会询问你的意见,是否更新。当同意更新后,yum开始下载软件包并调用rpm安装,这可能要一定时间,取决于要更新软件的数目和网络状况,万一网络断了,也没关系,再进行一次就可以了。
yum update packagename 对某个单独包进行升级。
2.关于yum安装和删除命令:
安装的命令是,yum install xxx,yum会查询数据库,有无这一软件包,如果有,则检查其依赖冲突关系,如果没有依赖冲突,那么最好,下载安装;如果有,则会给出提示,询问是否要同时安装依赖,或删除冲突的包,你可以自己作出判断。
删除的命令是,yum remove xxx,同安装一样,yum也会查询数据库,给出解决依赖关系的提示。
3.关于yum查询命令:
我们常会碰到这样的情况,想要安装一个软件,只知道它和某方面有关,但又不能确切知道它的名字。这时yum的查询功能就起作用了。你可以用 yum search keyword这样的命令来进行搜索,比如我们要则安装一个Instant Messenger,但又不知到底有哪些,这时不妨用 yum search messenger这样的指令进行搜索,yum会搜索所有可用rpm的描述,列出所有描述中和messeger有关的rpm包,于是我们可能得到 gaim,kopete等等,并从中选择。
有时我们还会碰到安装了一个包,但又不知道其用途,我们可以用yum info packagename这个指令来获取信息。
4.关于yum缓存命令:
yum 会把下载的软件包和header存储在cache中,而不会自动删除。如果我们觉得它们占用了磁盘空间,可以使用yum clean指令进行清除,更精确的用法是yum clean headers清除header,yum clean packages清除下载的rpm包,yum clean all 清除所有。
4.yum配置:
注:修改和增加配置文件中的资源库,加快下载速度和拥有更多可更新的rpm包将/etc/yum.conf的内容全部替换为[main]cachedir=/var/cache/yumdebuglevel=2logfile=/var/log/yum.logpkgpolicy=newestdistroverpkg=fedora-releasetolerant=1exactarch=1[fedora-us-1]name=Fedora Core 1 -- Fedora US mirrorbaseurl=ftp://mirrors.kernel.org/fedora.us/fedora/fedora/1/i386/yum/os[fedora-us-1-updates]name=Fedora Core 1 updates -- Fedora US mirrorbaseurl=ftp://mirrors.kernel.org/fedora.us/fedora/fedora/1/i386/yum/updates[fedora-us-1-stable]name=Fedora Linux (stable) for Fedora Core 1 -- Fedora US mirrorbaseurl=ftp://mirrors.kernel.org/fedora.us/fedora/fedora/1/i386/yum/stable[freshrpms]name=Fedora Linux $releasever - $basearch - freshrpmsbaseurl=ayo.freshrpms.net/fedora/linux/$releasever/$basearch/freshrpms
5.安全的更新freshrpms.net的rpm包
安装freshrpms.net的GPG key
rpm --import freshrpms.net/packages/RPM-GPG-KEY.txt
编辑/etc/yum.conf,增加以下信息到尾部
[freshrpms]
name=Fedora Linux $releasever - $basearch - freshrpms
baseurl=ayo.freshrpms.net/fedora/linux/$releasever/$basearch/freshrpms
gpgcheck=1
注:
检查GPG Key
# rpm -qa gpg-pubkey*
显示Key信息
#rpm -qi gpg-pubkey-e42d547b-3960bdf1
删除Key
【linux基础命令 head命令】推荐阅读:
linux命令总结12-22
linux常用命令总结01-29
Linux 中 RPM 命令参数使用详解Linux12-06
电脑运行命令10-03
命令公文范文11-04
菜单命令总结11-04
部队任职命令01-17
任职命令格式02-28
公文命令04-10
命令公文的范文06-03