Linux基础之命令练习Day4-fdisk,mkfs,mlabel,mount,umount,mkswap,swapon,dd,top,free,ps,kill,rpm,yum,make,mkswapswapon


一. 硬盘分区、格式化及文件系统的管理

1. 在Linux系统中,一切皆文件。每个设备都被当作一个文件来对待。

  常见的存储设备在Linux系统中的文件名如下表所示:

2. 对硬盘进行分区有以下优点:

  a. 更容易管理和控制系统,因为相关的文件和目录都放在一个分区中;
  b. 系统效率更高;
  c. 可以限制用户使用硬盘的份额(磁盘空间的大小);
  d. 更容易备份和恢复。

3. Linux系统中硬盘的分区:

  a. 硬盘的分区有主分区,扩展分区和逻辑分区三种;

  b. 一块硬盘最多可以分4个主分区;

  c. Linux操作系统的内核支持每个硬盘上的分区数量还是有一定限制的,视硬盘类型而不同。

4. 使用fdisk和partprobe命令来管理硬盘分区:

 a. fdisk 

语法

fdisk [必要参数][选择参数]

必要参数:

  • -l 列出素所有分区表
  • -u 与"-l"搭配使用,显示分区数目

选择参数:

  • -s 指定分区
  • -v 版本信息

菜单操作说明

  • m :显示菜单和帮助信息
  • a :活动分区标记/引导分区
  • d :删除分区
  • l :显示分区类型
  • n :新建分区
  • p :显示分区信息
  • q :退出不保存
  • t :设置分区号
  • v :进行分区检查
  • w :保存修改
  • x :扩展应用,高级功能

  b. partprobe,重新初始化内存中内核的分区表。

5. 创建文件系统:
  a. 所谓的格式化就是将分区中的硬盘空间划分成大小相等的一些数据块(Blocks),以及设定这个分区中有多少个i节点可以使用等;

  b. 文件系统是操作系统用于明确磁盘或分区上的文件的方法和数据结构;即在磁盘上组织文件的方法;

  c. 常用的文件系统类型:ext2:Linux系统中标准的文件系统;ext3:一种日志式文件系统;ext4:一种针对ext3系统的扩展日志式文件系统;lvm:逻辑盘卷管理 ;iso9660:目前唯一通用的光盘文件系统

  d. mkfs命令用于在特定的分区上建立 linux 文件系统:

使用方式 : mkfs [-V] [-t fstype] [fs-options] filesys [blocks]

Linux mkfs命令用于在特定的分区上建立 linux 文件系统

参数

  • device : 预备检查的硬盘分区,例如:/dev/sda1
  • -V : 详细显示模式
  • -t : 给定档案系统的型式,Linux 的预设值为 ext2
  • -c : 在制做档案系统前,检查该partition 是否有坏轨
  • -l bad_blocks_file : 将有坏轨的block资料加到 bad_blocks_file 里面
  • block : 给定 block 的大小

例子:将sda6分区格式化为ext3格式:a. mfks -t ext3 /dev/sda6;b. mfks.ext3 /dev/sda6

  e. mlabel,设定或查看一个设备的label名称。如果磁盘上设定过标签,mlabel 会将他显示给使用者。如果没有指定新标签并且没有指定 c 或 s 选项,mlabel 会提示使用者输入新的标签。如果直接按下 Enter ,就会将原本的标签删除。

语法

mlabel [-vcs] drive:[new_label]

参数说明

  • -v 更多的讯息。
  • -c 清除原有的标签,不出现提示讯息。
  • -s 显示目前的标签,不出现提示讯息。

实例

将 A 盘的标签更改为 newlabel。

mlabel a:newlabel  

6. 文件系统的挂载与卸载(mount,umount):

  挂载指将一个设备(通常是存储设备)挂接到一个已存在的目录上

 

语法

 

mount [-hV]
mount -a [-fFnrsvw] [-t vfstype]
mount [-fnrsvw] [-o options [,...]] device | dir
mount [-fnrsvw] [-t vfstype] [-o options] device dir

 

参数说明:

 

  • -V:显示程序版本
  • -h:显示辅助讯息
  • -v:显示较讯息,通常和 -f 用来除错。
  • -a:将 /etc/fstab 中定义的所有档案系统挂上。
  • -F:这个命令通常和 -a 一起使用,它会为每一个 mount 的动作产生一个行程负责执行。在系统需要挂上大量 NFS 档案系统时可以加快挂上的动作。
  • -f:通常用在除错的用途。它会使 mount 并不执行实际挂上的动作,而是模拟整个挂上的过程。通常会和 -v 一起使用。
  • -n:一般而言,mount 在挂上后会在 /etc/mtab 中写入一笔资料。但在系统中没有可写入档案系统存在的情况下可以用这个选项取消这个动作。
  • -s-r:等于 -o ro
  • -w:等于 -o rw
  • -L:将含有特定标签的硬盘分割挂上。
  • -U:将档案分割序号为 的档案系统挂下。-L 和 -U 必须在/proc/partition 这种档案存在时才有意义。
  • -t:指定档案系统的型态,通常不必指定。mount 会自动选择正确的型态。
  • -o async:打开非同步模式,所有的档案读写动作都会用非同步模式执行。
  • -o sync:在同步模式下执行。
  • -o atime、-o noatime:当 atime 打开时,系统会在每次读取档案时更新档案的『上一次调用时间』。当我们使用 flash 档案系统时可能会选项把这个选项关闭以减少写入的次数。
  • -o auto、-o noauto:打开/关闭自动挂上模式。
  • -o defaults:使用预设的选项 rw, suid, dev, exec, auto, nouser, and async.
  • -o dev、-o nodev-o exec、-o noexec允许执行档被执行。
  • -o suid、-o nosuid:
  • 允许执行档在 root 权限下执行。
  • -o user、-o nouser:使用者可以执行 mount/umount 的动作。
  • -o remount:将一个已经挂下的档案系统重新用不同的方式挂上。例如原先是唯读的系统,现在用可读写的模式重新挂上。
  • -o ro:用唯读模式挂上。
  • -o rw:用可读写模式挂上。
  • -o loop=:使用 loop 模式用来将一个档案当成硬盘分割挂上系统。

 

实例

 

将 /dev/hda1 挂在 /mnt 之下。

 

#mount /dev/hda1 /mnt

 

将 /dev/hda1 用唯读模式挂在 /mnt 之下。

 

#mount -o ro /dev/hda1 /mnt

 

将 /tmp/image.iso 这个光碟的 image 档使用 loop 模式挂在 /mnt/cdrom之下。用这种方法可以将一般网络上可以找到的 Linux 光 碟 ISO 档在不烧录成光碟的情况下检视其内容。

 

#mount -o loop /tmp/image.iso /mnt/cdrom

 

 

语法

 

umount [-ahnrvV][-t <文件系统类型>][文件系统]

 

参数

 

  • -a 卸除/etc/mtab中记录的所有文件系统。
  • -h 显示帮助。
  • -n 卸除时不要将信息存入/etc/mtab文件中。
  • -r 若无法成功卸除,则尝试以只读的方式重新挂入文件系统。
  • -t<文件系统类型> 仅卸除选项中所指定的文件系统。
  • -v 执行时显示详细的信息。
  • -V 显示版本信息。
  • [文件系统] 除了直接指定文件系统外,也可以用设备名称或挂入点来表示文件系统。

 

实例

 

下面两条命令分别通过设备名和挂载点卸载文件系统,同时输出详细信息:

 

# umount -v /dev/sda1          通过设备名卸载  
/dev/sda1 umounted  
# umount -v /mnt/mymount/      通过挂载点卸载  
/tmp/diskboot.img umounted 

 

如果设备正忙,卸载即告失败。卸载失败的常见原因是,某个打开的shell当前目录为挂载点里的某个目录:

 

# umount -v /mnt/mymount/  
umount: /mnt/mymount: device is busy  
umount: /mnt/mymount: device is busy 

 

7. 虚拟内存的概念以及设置与管理:

  a. 所谓虚拟内存就是一块硬盘空间被当做内存使用,也被称为交换分区(swap);

  b. Linux交换分区的类型为:0x82

  c. mkswap,将磁盘分区或文件设为Linux的交换区

语法

mkswap [-cf][-v0][-v1][设备名称或文件][交换区大小]

参数

  • -c 建立交换区前,先检查是否有损坏的区块。
  • -f 在SPARC电脑上建立交换区时,要加上此参数。
  • -v0 建立旧式交换区,此为预设值。
  • -v1 建立新式交换区。
  • [交换区大小] 指定交换区的大小,单位为1024字节。

  d. swapon,激活Linux系统中交换空间,Linux系统的内存管理必须使用交换区来建立虚拟内存

 

语法

 

/sbin/swapon -a [-v]
/sbin/swapon [-v] [-p priority] specialfile ...
/sbin/swapon [-s]

 

参数说明:

 

  • -h 请帮帮我
  • -V 显示版本讯息
  • -s 显示简短的装置讯息
  • -a 自动启动所有SWAP装置
  • -p 设定优先权,你可以在0到32767中间选一个数字给他。或是在 /etc/fstab 里面加上 pri=[value] ([value]就是0~32767中间一个数字),然后你就可以很方便的直接使用 swapon -a 来启动他们,而且有优先权设定。

 

swapon 是开启swap.

 

相对的,便有一个关闭swap的指令,swapoff。

 

 

练习项目:

 

1. 开启Linux系统前添加一块大小为20G的SCSI硬盘
2. 开启系统,右击桌面,打开终端
3. 为新加的硬盘分区,一个主分区大小为10G,剩余空间给扩展分区,在扩展分区上划分1个逻辑分区,大小为5G
4. 格式化主分区为ext3系统
5. 将逻辑分区设置为交换分区
6. 启用上一步的交换分区
7. 查看交换分区的状态

 

8. 使用”dd“命令来测试硬盘读写速度

  dd命令用于读取、转换并输出数据。dd可从标准输入或文件中读取数据,根据指定的格式来转换数据,再输出到文件、设备或标准输出。

参数说明:

    • if=文件名:输入文件名,缺省为标准输入。即指定源文件。
    • of=文件名:输出文件名,缺省为标准输出。即指定目的文件。
    • ibs=bytes:一次读入bytes个字节,即指定一个块大小为bytes个字节。
      obs=bytes:一次输出bytes个字节,即指定一个块大小为bytes个字节。
      bs=bytes:同时设置读入/输出的块大小为bytes个字节。
    • cbs=bytes:一次转换bytes个字节,即指定转换缓冲区大小。
    • skip=blocks:从输入文件开头跳过blocks个块后再开始复制。
    • seek=blocks:从输出文件开头跳过blocks个块后再开始复制。
    • count=blocks:仅拷贝blocks个块,块大小等于ibs指定的字节数。
    • conv=<关键字>,关键字可以有以下11种:--help:显示帮助信息
      • conversion:用指定的参数转换文件。
      • ascii:转换ebcdic为ascii
      • ebcdic:转换ascii为ebcdic
      • ibm:转换ascii为alternate ebcdic
      • block:把每一行转换为长度为cbs,不足部分用空格填充
      • unblock:使每一行的长度都为cbs,不足部分用空格填充
      • lcase:把大写字符转换为小写字符
      • ucase:把小写字符转换为大写字符
      • swab:交换输入的每对字节
      • noerror:出错时不停止
      • notrunc:不截短输出文件
      • sync:将每个输入块填充到ibs个字节,不足部分用空(NUL)字符补齐。
    • --version:显示版本信息

二. 系统监控

1. top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。

语法

top [-] [d delay] [q] [c] [S] [s] [i] [n] [b]

参数说明

  • d : 改变显示的更新速度,或是在交谈式指令列( interactive command)按 s
  • q : 没有任何延迟的显示速度,如果使用者是有 superuser 的权限,则 top 将会以最高的优先序执行
  • c : 切换显示模式,共有两种模式,一是只显示执行档的名称,另一种是显示完整的路径与名称S : 累积模式,会将己完成或消失的子行程 ( dead child process ) 的 CPU time 累积起来
  • s : 安全模式,将交谈式指令取消, 避免潜在的危机
  • i : 不显示任何闲置 (idle) 或无用 (zombie) 的行程
  • n : 更新的次数,完成后将会退出 top
  • b : 批次档模式,搭配 "n" 参数一起使用,可以用来将 top 的结果输出到档案内

2. free指令会显示内存的使用情况,包括实体内存,虚拟的交换文件内存,共享内存区段,以及系统核心使用的缓冲区等。

语法

free [-bkmotV][-s <间隔秒数>]

参数说明

  • -b  以Byte为单位显示内存使用情况。
  • -k  以KB为单位显示内存使用情况。
  • -m  以MB为单位显示内存使用情况。
  • -o  不显示缓冲区调节列。
  • -s<间隔秒数>  持续观察内存使用状况。
  • -t  显示内存总和列。
  • -V  显示版本信息。

3. 系统中进程的监控与管理—ps,pstree,kill,pkill,pgrep

  a. 进程是程序的一次动态执行;

  b. 守护进程是在后台运行并提供系统服务的一些进程;

  c. 当一个进程创建另一个进程时,第1个进程被称为新进程的父进程,而新进程被称为子进程;

  d. ps命令用于显示当前进程 (process) 的状态

语法

ps [options] [--help]

参数

  • ps 的参数非常多, 在此仅列出几个常用的参数并大略介绍含义
  • -A 列出所有的行程
  • -w 显示加宽可以显示较多的资讯
  • -au 显示较详细的资讯
  • -aux 显示所有包含其他使用者的行程
  • au(x) 输出格式 :
  • USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
  • USER: 行程拥有者
  • PID: pid
  • %CPU: 占用的 CPU 使用率
  • %MEM: 占用的记忆体使用率
  • VSZ: 占用的虚拟记忆体大小
  • RSS: 占用的记忆体大小
  • TTY: 终端的次要装置号码 (minor device number of tty)
  • STAT: 该行程的状态:
  • D: 不可中断的静止 (通悸□□缜b进行 I/O 动作)
  • R: 正在执行中
  • S: 静止状态
  • T: 暂停执行
  • Z: 不存在但暂时无法消除
  • W: 没有足够的记忆体分页可分配
  • <: 高优先序的行程
  • N: 低优先序的行程
  • L: 有记忆体分页分配并锁在记忆体内 (实时系统或捱A I/O)
  • START: 行程开始时间
  • TIME: 执行的时间
  • COMMAND:所执行的指令


  e. pstree命令将所有行程以树状图显示,树状图将会以 pid (如果有指定) 或是以 init 这个基本行程为根 (root),如果有指定使用者 id,则树状图会只显示该使用者所拥有的行程

语法

pstree [-a] [-c] [-h|-Hpid] [-l] [-n] [-p] [-u] [-G|-U] [pid|user]

pstree -V

参数说明

  • -a 显示该行程的完整指令及参数, 如果是被记忆体置换出去的行程则会加上括号
  • -c 如果有重覆的行程名, 则分开列出(预设值是会在前面加上 *)

  f. kill命令用于删除执行中的程序或工作,kill可将指定的信息送至程序。预设的信息为SIGTERM(15),可将指定程序终止。若仍无法终止该程序,可使用SIGKILL(9)信息尝试强制删除程序。程序或工作的编号可利用ps指令或jobs指令查看

语法

kill [-s <信息名称或编号>][程序] 或 kill [-l <信息编号>]

参数说明

  • -l <信息编号>  若不加<信息编号>选项,则-l参数会列出全部的信息名称。
  • -s <信息名称或编号>  指定要送出的信息。
  • [程序]  [程序]可以是程序的PID或是PGID,也可以是工作编号。

  g.  pkill,通过名称或其他属性发信号给进程,例如:杀死名为firefox的进程的命令为:pkill firefox;

  h. pgrep,通过名称或其他属性查找进程,例如:查找名为firefox的进程的命令为:pgrep firefox。

三. 软件包管理

1. 使用rpm安装及移除软件

  a. RPM就是Red Hat Package Manger(红帽软件包管理工具)的缩写;

  b. rpm的文件名分为5部分;name(软件包名称)-version(版本编号)-release(发布次数,修正号码)-architectures(适用平台)-rpm(文件格式,有时会隐藏掉)

语法

rpm [-acdhilqRsv][-b<完成阶段><套间档>+][-e<套件挡>][-f<文件>+][-i<套件档>][-p<套件档>+][-U<套件档>][-vv][--addsign<套件档>+][--allfiles][--allmatches][--badreloc][--buildroot<根目录>][--changelog][--checksig<套件档>+][--clean][--dbpath<数据库目录>][--dump][--excludedocs][--excludepath<排除目录>][--force][--ftpproxy<主机名称或IP地址>][--ftpport<通信端口>][--help][--httpproxy<主机名称或IP地址>][--httpport<通信端口>][--ignorearch][--ignoreos][--ignoresize][--includedocs][--initdb][justdb][--nobulid][--nodeps][--nofiles][--nogpg][--nomd5][--nopgp][--noorder][--noscripts][--notriggers][--oldpackage][--percent][--pipe<执行指令>][--prefix<目的目录>][--provides][--queryformat<档头格式>][--querytags][--rcfile<配置档>][--rebulid<套件档>][--rebuliddb][--recompile<套件档>][--relocate<原目录>=<新目录>][--replacefiles][--replacepkgs][--requires][--resign<套件档>+][--rmsource][--rmsource<文件>][--root<根目录>][--scripts][--setperms][--setugids][--short-circuit][--sign][--target=<安装平台>+][--test][--timecheck<检查秒数>][--triggeredby<套件档>][--triggers][--verify][--version][--whatprovides<功能特性>][--whatrequires<功能特性>]

参数说明

  • -a  查询所有套件。
  • -b<完成阶段><套件档>+或-t <完成阶段><套件档>+  设置包装套件的完成阶段,并指定套件档的文件名称。
  • -c  只列出组态配置文件,本参数需配合"-l"参数使用。
  • -d  只列出文本文件,本参数需配合"-l"参数使用。
  • -e<套件档>或--erase<套件档>  删除指定的套件。
  • -f<文件>+  查询拥有指定文件的套件。
  • -h或--hash  套件安装时列出标记。
  • -i  显示套件的相关信息。
  • -i<套件档>或--install<套件档>  安装指定的套件档。
  • -l  显示套件的文件列表。
  • -p<套件档>+  查询指定的RPM套件档。
  • -q  使用询问模式,当遇到任何问题时,rpm指令会先询问用户。
  • -R  显示套件的关联性信息。
  • -s  显示文件状态,本参数需配合"-l"参数使用。
  • -U<套件档>或--upgrade<套件档> 升级指定的套件档。
  • -v  显示指令执行过程。
  • -vv  详细显示指令执行过程,便于排错。
  • -addsign<套件档>+  在指定的套件里加上新的签名认证。
  • --allfiles  安装所有文件。
  • --allmatches  删除符合指定的套件所包含的文件。
  • --badreloc  发生错误时,重新配置文件。
  • --buildroot<根目录>  设置产生套件时,欲当作根目录的目录。
  • --changelog  显示套件的更改记录。
  • --checksig<套件档>+  检验该套件的签名认证。
  • --clean  完成套件的包装后,删除包装过程中所建立的目录。
  • --dbpath<数据库目录>  设置欲存放RPM数据库的目录。
  • --dump  显示每个文件的验证信息。本参数需配合"-l"参数使用。
  • --excludedocs  安装套件时,不要安装文件。
  • --excludepath<排除目录>  忽略在指定目录里的所有文件。
  • --force  强行置换套件或文件。
  • --ftpproxy<主机名称或IP地址>  指定FTP代理服务器。
  • --ftpport<通信端口>  设置FTP服务器或代理服务器使用的通信端口。
  • --help  在线帮助。
  • --httpproxy<主机名称或IP地址>  指定HTTP代理服务器。
  • --httpport<通信端口>  设置HTTP服务器或代理服务器使用的通信端口。
  • --ignorearch  不验证套件档的结构正确性。
  • --ignoreos  不验证套件档的结构正确性。
  • --ignoresize  安装前不检查磁盘空间是否足够。
  • --includedocs  安装套件时,一并安装文件。
  • --initdb  确认有正确的数据库可以使用。
  • --justdb  更新数据库,当不变动任何文件。
  • --nobulid  不执行任何完成阶段。
  • --nodeps  不验证套件档的相互关联性。
  • --nofiles  不验证文件的属性。
  • --nogpg  略过所有GPG的签名认证。
  • --nomd5  不使用MD5编码演算确认文件的大小与正确性。
  • --nopgp  略过所有PGP的签名认证。
  • --noorder  不重新编排套件的安装顺序,以便满足其彼此间的关联性。
  • --noscripts  不执行任何安装Script文件。
  • --notriggers  不执行该套件包装内的任何Script文件。
  • --oldpackage  升级成旧版本的套件。
  • --percent  安装套件时显示完成度百分比。
  • --pipe<执行指令>  建立管道,把输出结果转为该执行指令的输入数据。
  • --prefix<目的目录>  若重新配置文件,就把文件放到指定的目录下。
  • --provides  查询该套件所提供的兼容度。
  • --queryformat<档头格式>  设置档头的表示方式。
  • --querytags  列出可用于档头格式的标签。
  • --rcfile<配置文件>  使用指定的配置文件。
  • --rebulid<套件档>  安装原始代码套件,重新产生二进制文件的套件。
  • --rebuliddb  以现有的数据库为主,重建一份数据库。
  • --recompile<套件档>  此参数的效果和指定"--rebulid"参数类似,当不产生套件档。
  • --relocate<原目录>=<新目录>  把本来会放到原目录下的文件改放到新目录。
  • --replacefiles  强行置换文件。
  • --replacepkgs  强行置换套件。
  • --requires  查询该套件所需要的兼容度。
  • --resing<套件档>+  删除现有认证,重新产生签名认证。
  • --rmsource  完成套件的包装后,删除原始代码。
  • --rmsource<文件>  删除原始代码和指定的文件。
  • --root<根目录>  设置欲当作根目录的目录。
  • --scripts  列出安装套件的Script的变量。
  • --setperms  设置文件的权限。
  • --setugids  设置文件的拥有者和所属群组。
  • --short-circuit  直接略过指定完成阶段的步骤。
  • --sign  产生PGP或GPG的签名认证。
  • --target=<安装平台>+  设置产生的套件的安装平台。
  • --test  仅作测试,并不真的安装套件。
  • --timecheck<检查秒数>  设置检查时间的计时秒数。
  • --triggeredby<套件档>  查询该套件的包装者。
  • --triggers  展示套件档内的包装Script。
  • --verify  此参数的效果和指定"-q"参数相同。
  • --version  显示版本信息。
  • --whatprovides<功能特性>  查询该套件对指定的功能特性所提供的兼容度。
  • --whatrequires<功能特性>  查询该套件对指定的功能特性所需要的兼容度。

实例

安装软件

# rpm -hvi dejagnu-1.4.2-10.noarch.rpm 
警告:dejagnu-1.4.2-10.noarch.rpm: V3 DSA 签名:NOKEY, key ID db42a60e
准备...           
########################################### [100%]

显示软件安装信息

# rpm -qi dejagnu-1.4.2-10.noarch.rpm

练习项目:

1. 挂载光盘文件到/media目录
2. 进去/media目录下的Packages目录
3. 查看系统已安装的所有rpm包
4. 查看系统是否安装dhcp软件包
5. 安装dhcp软件包
6. 查看dhcp软件包的信息
7. 查看dhcp软件包中所包含的所有文件
8. 查看/bin/ls文件是由哪个软件包产生
9. 卸载dhcp软件包

 

2. yun管理rpm软件包

  a. yum是Yellow dog Updater, Modified的缩写,目的就是为了解决RPM的依赖关系的问题,方便使用者进行软件的安装、升级等等工作;

  b. yum的配置一般有两种方式,一种是直接配置/etc目录下的yum.conf文件,另外一种是在/etc/yum.repos.d目录下增加.repo文件;

  c. 本地仓库配置

[root@localhost ~]# mount /dev/cdrom /mnt #挂载光盘到/mnt目录
[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# ls
rhel-source.repo
[root@localhost yum.repos.d]# cp rhel-source.repo rhel.repo #拷贝一份配置文件
[root@localhost yum.repos.d]# vi rhel.repo #编辑配置文件如下[rhel-local] #模块名称,须修改不能与其他.repo文件中的重名name=Red Hat Enterprise Linux 6 local repo #名称随便起baseurl=file:///mnt #指定rpm仓库的位置
enabled=1 #1开启该配置,0为关闭
gpgcheck=1 #1为校对软件
[root@localhost ~]# yum install vsftpd httpd #安装vsftpd及httpd服务

  d. yum( Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。

yum 语法

yum [options] [command] [package ...]
  • options:可选,选项包括-h(帮助),-y(当安装过程提示选择全部为"yes"),-q(不显示安装的过程)等等。
  • command:要进行的操作。
  • package操作的对象。

yum常用命令

  • 1.列出所有可更新的软件清单命令:yum check-update
  • 2.更新所有软件命令:yum update
  • 3.仅安装指定的软件命令:yum install <package_name>
  • 4.仅更新指定的软件命令:yum update <package_name>
  • 5.列出所有可安裝的软件清单命令:yum list
  • 6.删除软件包命令:yum remove <package_name>
  • 7.查找软件包 命令:yum search <keyword>
  • 8.清除缓存命令:
    • yum clean packages: 清除缓存目录下的软件包
    • yum clean headers: 清除缓存目录下的 headers
    • yum clean oldheaders: 清除缓存目录下旧的 headers
    • yum clean, yum clean all (= yum clean packages; yum clean oldheaders) :清除缓存目录下的软件包及旧的headers

练习项目:

1. 自定义yum仓库:createrepo
2. 自定义repo文件
3. 使用yum命令安装httpd软件包
4. 卸载httpd软件包:yum –y remove 软件名
5. 使用yum安装组件'KDE 桌面':yum –y groupinstall 组件名
6. 掌握使用yum删除组件‘KDE 桌面’:yum –y groupremove 组件名
7. 掌握清除yum缓存:yum clean all
8. 使用yum查找软件包:yum search 软件包名

 

3. 源码安装软件包

  a. 计算机里面运行的所有东西都是用程序编出来的(包括操作系统,如Windows,还有Word等,网络游戏也一样),而编写程序要用到计算机语言,用计算机语言直接编出来的程序就叫源码,比如用VisualBasic编写的源码文件一般为.bas文件,而用C++编写的一般为.cpp文件,源代码不能直接运行,必须编译后才能运行。源码经过编译处理后就可以直接在操作系统下运行了;

  b. 源码软件未经编译,方便人们修改;

  c. 本实例为安装“Python3.6”源码软件包,需要Linux安装开发工具;

 

 

 

参考资料:

1. http://www.cnblogs.com/linhaifeng/articles/6045600.html#_label16

2. http://www.w3cschool.cn/linux/linux-command-manual.html

相关内容