- Linux和Unix的关系
- 虚拟机安装Linux
- CentOS没有分配IP吗?
- centos目录结构介绍:目录树、一切皆文件
- 远程连接centos
- Vim编辑器: 3种模式
- 开机重启、用户登陆注销
- 用户管理:
- Linux实用指令
- 运行级别指令-init
- Linux系统的6个运行级别,对应/etc/inittab文件。
- init 3
- init 5
- 如何找回root密码?(如何进入单用户级别)
- man ls
- help ls
- 文件目录指令
- pwd
- ls
- ls -a
- ls -l
- ls -lh
- ls -l log.txt
- cd
- mkdir -p /home/animal/cat
- rmdir -rf /home/animal/cat
- touch hello.txt
- touch hello1.txt hello2.txt
- cp -r source dest
- \cp -r source dest
- rm
- mv
- cat
- cat -n
- cat /etc/profile | more
- more /etc/profile
- less /etc/profile
- 重定向>和追加>>
- >和>>案例
- echo “hello”
- echo $PATH
- head -n 5 log.txt
- tail -n 5 log.txt
- tail -f log.txt (重要)
- ln
- history
- date
- date “+%Y-%m-%d”
- date -s “2020-11-11 11:22:22”
- cal
- cal 2020
- find
- find案例
- locate
- grep 和 |
- cat log.txt | grep -ni hello
- 压缩解压(gzip,zip),打包(tar)
- gzip log.txt
- gunzip log.txt.gz
- zip -r mypackage.zip /home/
- zip -d /opt/tmp mypackage.zip
- tar -zcvf package.tar.gz log1.txt log2.txt
- tar -zcvf package.tar.gz /home/
- tar -zxvf package.tar.gz
- tar -zxvf package.tar.gz /opt/tmp
- 组管理和权限管理
- crontab 任务调度
- 磁盘分区和挂载(root权限下)
- ">分区格式:mbr分区、gtp分区(更好)

- Linux分区的思想(挂载)
- 分区标识:IDE硬盘、SCSI硬盘(常见)
- lsblk -f 查看文件系统信息
- 挂载:如何增加一个硬盘?(root权限下)
- 撤销挂载: umount 挂载的目录文件路径 或 磁盘文件
- 统计文件数量、空间占用
- 统计磁盘的空间使用 df -lh
- 统计目录的空间占用 du -ach /home/
- 统计目录下的文件数量:ls -l /lib64 | grep “^-“ | wc -l
- 统计目录下的目录数量:ls -l /lib64 | grep “^d” | wc -l
- 递归统计目录下的文件数量 ls -l R/lib64 | grep “^-“ | wc -l
- 显示目录的树状结构 tree指令 (先安装:yum install tree)
- ">分区格式:mbr分区、gtp分区(更好)
- 网络配置
- 进程管理
- 服务管理 service指令(cenos7后是systemctl指令)、chkconfig指令
- 动态监控进程 top
- 监控网络状态 netstat
- iotop 监控查看io读写
- rpm包的管理
- yum包管理 - 基于rpm
- 面试题
Linux和Unix的关系

虚拟机安装Linux
虚拟机资源分配
硬盘20gb
内存2gb
处理器数量-母机的处理器数量+母鸡的处理器核心数。
虚拟机硬件设置
虚拟机CD/DVD-挂靠centos系统安装映像文件
网络适配器-虚拟机的网络连接的3种方式(Brige、NAT、Only Host), 一般采用NAT模式
图注:教室局域网的网段是192.168.14.xx,张三、王五、李四的母机ip都同属于该网段,但张三和王五的子机采用不同的网络连接方式。
- 张三的虚拟机采用Brige桥接模式。子机的ip直接占用一个母机ip所在局域网的网段。
- 好处是同属局域网的设备能直接相互通讯。
- 坏处是同网段可容纳的ip数量有限,所以子机占用局域网网段ip可能造成ip冲突。
- 王五的虚拟机采用NAT网络转换模式。母机ip是局域网ip,采用NAT模式时,虚拟机会创建一个局域网的内网(内网的ip在同一个网段,但并不同于局域网网段,所以内网ip不占用局域网ip),并分配不同的内网的ip给母机和子机(此时母机有两个ip,即局域网ip(对应真实网卡)和内网ip(对应虚拟网卡))。母机的局域网ip则作为代理ip,以帮助内网的设备和外界通讯。
- 好处是子机ip不占用局域网网段内的ip,不会造成ip冲突。
- 坏处是子机ip属于在局域网的内网,它可以通过代理ip来和局域网网段ip通讯,但是其他局域网网段ip则无法直接与处于内网的子机通讯,只能转发给代理ip,再由代理ip转发给内网的子机。
Nat网络连接模式补充
NAT模式借助虚拟NAT设备和虚拟DHCP服务器,使得虚拟机可以联网。
在NAT模式中,主机网卡直接与虚拟NAT设备相连,然后虚拟NAT设备与虚拟DHCP服务器一起连接在虚拟交换机VMnet8上,这样就实现了虚拟机联网。
那么我们会觉得很奇怪,为什么需要虚拟网卡VMware Network Adapter VMnet8呢?
原来我们的VMware Network Adapter VMnet8虚拟网卡主要是为了实现主机与虚拟机之间的通信。
https://blog.51cto.com/u_13648313/2164309
centos安装过程(centos6.8为例):
语言:中文简体
键盘:美国英语
时区:中国上海
主机名:自定义,比如hadoop01
centos磁盘分区(“创建自定义布局”选项): boot,swap,root

- boot分区:存放系统启动文件。
挂载点/boot,文件系统类型ext4,固定大小200mb。
- swap分区:内存不够用时,分配磁盘空间作为虚拟内存。
无需挂载点,文件系统类型swap,大小固定为和虚拟机分配物理内存一致
- root分区:
自定义额外软件安装
默认为最小安装,即不附带额外的软件。
这里建议自定义安装,仅需要勾选如下软件:
CentOS没有分配IP吗?
背景知识: hw 代表hardware ether 代表ethernet ,eth0,eth1,eth2,代表网卡一,网卡二,网卡三 lo代表127.0.0.1,即localhost
网络连接一般为NAT方式。
- 没有ip是这样的:输入
ifconfig命令显示网络设备,除了lo之外,找不到ether(网卡),也不看见ip地址。
- 没有ip是这样的:输入

- 确认是否挂载了网卡:输入
ifconfig -a 命令,下方应该有ether(见图即eth0)。记录下ether序号和网卡地址,即图中,eth0和
。- 注:如果没有ether的话,说明没有网卡,该情况在虚拟机设置中应该可以解决。
- 确认是否挂载了网卡:输入

- 修改已挂载的网卡的配置文件(以网卡序号eth0为例子,可类推):
- 修改
/etc/sysconfig/network-scripts/ifcfg-eth0配置文件,修改选项为ONBOOT=yes。 - 退出文件修改后,使用
service network restart命令来重启网络服务。即可!
- 修改
- 修改已挂载的网卡的配置文件(以网卡序号eth0为例子,可类推):
上述ifcfg-eth0配置文件不存在,若按下图内容可自行创建该文件。
重启网络服务后
centos目录结构介绍:目录树、一切皆文件
不要轻易修改 /proc,/srv,/sys 三个目录,可能引发系统奔溃。





远程连接centos
前提:确保Linux服务器开启sshd服务(该服务监听22号端口): setup命令 -> 系统服务-> sshd
其他:
- 获取服务器ip:
ifconfig命令-> inet addr: xxxx 。默认为动态分配ip,后续会讲到如何指定ip。- 注意:ifconfig命令后,在网卡名和”lo”下都有inet addr字段,请忽略”lo”(它表示回环地址127.0.0.1),我们需要网卡下的ip地址。
- 连接成功但中文乱码:确认远程shell客户端的字符编码是否和linux服务器字符编码一致(linux默认采用utf-8字符编码)

Vim编辑器: 3种模式

正常模式下常见操作命令
- yy 拷贝光标所在行, 5yy拷贝光标及下的5行,p粘贴拷贝。
- dd 删除光标所在行,5dd删除光标及下的5行。
- : 进入命令行模式, 在命令行中输入
- q退出文件, wq 保持并退出文件,q! 强制退出文件, wq!强制保存并退出文件。
- set nu 显示行号, set nonu关闭行号显示
- /关键字 来查找 关键字,输入n查找下一个。
- u 撤销上一步内容修改
- 行号跳转:
- 跳转到第5行:首先确保行号显示已打开,然后在命令行模式中输入5
- 跳转到首行:正常模式下,键入gg命令
- 跳转到尾行:正常模式下,键入G命令
开机重启、用户登陆注销
关机重启: halt 、reboot
halt 等价于 shutdown -h now reboot 等价于 shutdown -r now
用户登陆注销:logout、exit

用户管理:
概念:用户、用户组、家目录
Linux的用户至少要属于一个组。
3个配置文件

- 用户配置文件/etc/passwd ,内容如: xj:x:500:500::/home/xj:/bin/bash
- 用户组配置文件/etc/group,内容如:dev:x:502:,涉及 groupname,x,gid。
- 口令配置文件/etc/shadow
用户
useradd xj
操作涉及用户、用户组、家目录:
- 创建名为xj的用户
- 创建名为xj用户组
- 创建地址为/home/xj的目录。
- xj用户归属到xj用户组中
- xj用户的家目录指定为/home/xj
创建xj用户,且家目录指定为/home/catuseradd -d /home/cat xj
创建xj用户,且归属到dev用户组useradd -g dev xj
为xj用户修改登陆密码passwd xj
切换到xj用户su xj
删除xj用户,但保留家目录。userdel xj
删除xj用户,并删除家目录。userdel -r xj
查询root用户的 “uid gid 组名”,结果如下:uid=500(xj) gid=500(xj) 组=500(xj)id root
即who am i,查看当前登陆用户。whoami用户组
创建名为dev的用户组groupadd dev
删除dev用户组groupdel dev
将xj用户修改到dev用户组usermod -g dev xj
Linux实用指令
运行级别指令-init
Linux系统的6个运行级别,对应/etc/inittab文件。
类比windows的安全模式。

init 3
切换到系统运行级别3。(是一般shell模式下需要的系统级别)
等价于/etc/inittab文件的如下行id:3:initdefault:
init 5
切换到系统运行级别5。 (图形界面模式需要的系统级别)
如何找回root密码?(如何进入单用户级别)
关键:在单用户级别,登陆root用户不需要密码。
前提:必须在本机操作。远程shell下无法进入单用户级别。
下面是进入单用户模式的方法:
- 关机重启机器,在linux进入系统引导界面时,按回车键进入GNU界面。如下图,并按e键来编辑启动前的命令:

- 选择kernel选项,按e键来编辑关于它的启动前命令。 如下图:

- 如下图,进入命令编辑界面后,在命令末尾添加1(即单用户级别),并按回车键确认并返回GUN界面。

- 回到如下GUN界面中。 按b键来启动系统,且为单用户系统级别,可无需密码直接登陆root,登陆后使用passwd root命令来修改root密码即可。

见下图: Telling INIT to go to single user mode , 即标识了单用户系统级别。

man ls
help ls
文件目录指令
pwd
ls
ls -a
ls -l
ls -lh
-h “—human”,更友好地显示文件信息,比如文件大小以M为单位显示等。
ls -l log.txt
cd
mkdir -p /home/animal/cat
rmdir -rf /home/animal/cat
touch hello.txt
touch hello1.txt hello2.txt
cp -r source dest
\cp -r source dest
rm
mv
cat
cat -n
cat /etc/profile | more
more /etc/profile
less /etc/profile
重定向>和追加>>
将内容写入目标文件,文件不存在则创建。
> 覆盖写
>> 追加写
>和>>案例
ls -l > log.txt 将列表内容覆盖写入log.txt文件
ls -l >> log.txt 将列表内容追加写入log.txt文件
cat log.txt > log2.txt 将log.txt文件内容覆盖写入log2.txt文件
echo “hello world” >> log.txt 将字段追加写入log.txt文件
cal >> log.txt 将当前日历信息追加写入log.txt文件中。
date >> log.txt 将当前日期信息追加写入log.txt文件中。
echo “hello”
echo $PATH
head -n 5 log.txt
tail -n 5 log.txt
tail -f log.txt (重要)
ln
- ln -s /home homelink 为目录或文件新建软连接。注意:源需要绝对路径
-
history
history 查看执行指令的历史。
- history 10 查看最近10个执行指令的历史
- !4 执行第4个历史执行指令。
date
当前日期date “+%Y-%m-%d”
指定日期格式。再比如”+%m月%d日”date -s “2020-11-11 11:22:22”
设置系统时间cal
显示当月日历cal 2020
显示一年日历find
find [搜索范围] [选项]
find案例
find /home -name log.txt 查找/home目录下名为log.txt的文件
find /home -name *.txt 按照通配符查找文件
find /opt -user xj 查找/opt目录下属于xj用户的文件
find / -size +20M 查找根目录下大于20Mb的文件。 单位: k,M,G
find / -size 20M … 等于…
find / -size -20M … 小于…locate
local指令可以事先建立文件索引,以实现快速查找。
为保证查询结果的准确度,需要定期更新locate索引。
案例:
updatedb 更新locate索引
locate log.txt 查找log.txt文件grep 和 |
grep按关键字过滤查找: grep [选项] 查找内容 源文件。 -n 显示行号, -i 忽略大小写。
“|” 管道符,表示将前一个指令的处理结果传递给后面的指令处理。cat log.txt | grep -ni hello
匹配log.txt文件中hello关键字
-n 显示所在行号
-i 忽略大小写压缩解压(gzip,zip),打包(tar)
gzip log.txt
转化log.txt文件为log.txt.gz文件。注:不保留源文件gunzip log.txt.gz
转化log.txt.gz文件为log.txt文件zip -r mypackage.zip /home/
-r 递归压缩,即压缩目录。
将home目录压缩为mypackage.zip文件。zip -d /opt/tmp mypackage.zip
-d 指定解压目录
将mypackage.zip解压到/opt/tmp目录下tar -zcvf package.tar.gz log1.txt log2.txt
tar打包指令。
将多个文件打包并压缩为package.tar.gz文件
-c 产生.tar打包文件
-v 可视化打包过程
-f 指定压缩后的文件名
-z 打包同时压缩
-x 解包.tar文件。
tar -zcvf package.tar.gz /home/
tar -zxvf package.tar.gz
tar -zxvf package.tar.gz /opt/tmp
指定解包目录
组管理和权限管理
文件归属:所有者,所在组,其他组。
组管理
查看文件所有者和所在组 ls -ahl log.txt
文件的所有者默认是其创建者。
文件的所在组默认是其创建者所在的用户组。
修改文件所有者 chown xj log.txt
change owner
修改log.txt文件所有者为xj用户。
注:文件的所在组并不会发生变化。(不会修改为新主人所在的用户组)
修改文件所在组 chgrp dev log.txt
change group
修改log.txt文件所在组为dev组
修改用户所在组 usermod -g dev xj
修改用户的家目录 usermod -d /home/cat xj
-d, —home “HOME_DIR”
递归操作: chown -R xj cat/
递归操作: chgrp -R dev cat/
文件属性:5种文件类型、所有者权限、所在组权限、其他组权限、文件名、表文件的硬连接符号1或表目录的子目录个数、所有者、所在组、文件大小或4096的目录固定大小、最后修改时间、文件名
权限管理(rwx,r=4,w=2,x=1):
文件的rwx权限、目录的rwx权限
注意:rwx可用数字表示,r=4,w=2,x=1,rwx=4+2+1=7。
特别注意:文件(包括目录文件)的删除权限对应的是对文件所在目录的可写权限,而非对文件本身的可写权限。
修改文件权限 chmod
修改指定对象的文件权限:u:所有者 g:所在组 o:其他组 a:所有人
chmod u=rwx,g=rx,o=rx log.txt
修改文件权限,所有者rwx权限,所在组rx权限,其他组rx权限
chmod u-x,g+w log.txt
chmod a+r log.txt
chmod 755 log.txt
rwx=4+2+1=7
rx=4+1=5
755简洁表示了所有者、所在组、其他组的文件权限,755分别表示 rwx,rx,rx 权限。
递归操作: chmod -R 755 cat/
递归地将目录及其中所有文件的所有者修改为xj用户
crontab 任务调度
crontab指令

使用说明:
- crontab -e
上述指令后出现用户的任务编辑窗口!比如 /1 * date >> /home/date.log 每个一分钟记录一次日期到文件中,如下关于时间的占位符。
- crontab -l
列出所有任务
- contab -r
终止任务调度。
- service crond restart
重启任务调度
crontab + shell文件
下面是先写好shell文件,再使用crontab -e 来编辑定时任务来执行shell文件。 注意:给shell文件确保可执行权限。
磁盘分区和挂载(root权限下)
分区格式:mbr分区、gtp分区(更好)
Linux分区的思想(挂载)
Linux只有一个独立且唯一的文件结构,它只有一个更目录。任何分区都是只是整个文件系统的一部分(将它们挂载到指定的目录文件)
分区标识:IDE硬盘、SCSI硬盘(常见)
lsblk -f 查看文件系统信息

解释:磁盘分区编号、分区类型、磁盘唯一标识、挂载的目录文件。
lsblk指令 - 老师不离开
挂载:如何增加一个硬盘?(root权限下)
5个步骤:
- 虚拟机添加硬盘
- 分区
- 格式化
- 挂载
- 设置可以自动挂载(永久挂载)。
步骤1: 为虚拟机添加一个2gb新硬盘,并重启虚拟机。

执行lsblk指令,如图,有个2gb的sdb标识的硬盘。 注:sdb标识表示“是基本从属盘的scsi硬盘”。
如下,新硬盘对应的路径为/dev/sdb,注意:还无法访问它,需要接下来的步骤。
注:/dev是linux的设备分区目录
步骤2:执行fdisk /dev/sdb指令将分区信息到磁盘/dev/sdb。
该指令后是一系列询问指令。先输入n表示增加新分区,在输入p表示主分区(或e表示扩展分区),输入分区编号(默认即可),输入柱面大小(cylinders)(默认即可),最后w表示写入分区信息到磁盘并退出。
操作正确的提示如下:
下面可见,sdb1就是刚才创建的编号为1的磁盘。但还没有磁盘唯一标识,需要接下来的步骤。
步骤3: 格式化磁盘 mkfs -t ext4 /dev/sdb1
步骤4: 将磁盘分区挂载到指定目录 mount /dev/sdb1 /home/newdisk 。 (磁盘可被访问了)
注意: 此时挂载是临时的。永久挂载?见接下来步骤。
如下:sdb1、ext4 、磁盘唯一标识、挂载的目录文件。
步骤5: 自动挂载(永久挂载) 修改/etc/fstab文件 (注:确保挂载目录提前创建)
原文件内容
修改后的文件内容
重启系统后,挂载依然存在,见下sdb1,已被挂载到/home/newdisk目录文件上。
撤销挂载: umount 挂载的目录文件路径 或 磁盘文件
umount /home/newdisk 或 umount /dev/sdb1
注:先退出挂载目录文件,再执行撤销挂载指令
统计文件数量、空间占用
统计磁盘的空间使用 df -lh
统计目录的空间占用 du -ach /home/

统计目录下的文件数量:ls -l /lib64 | grep “^-“ | wc -l
“^-“ 匹配以-为开头的一行。注:ls指令的输出中, -开头标识文件,d开头标识目录
wc -l : —lines 打印行的统计。
统计目录下的目录数量:ls -l /lib64 | grep “^d” | wc -l
递归统计目录下的文件数量 ls -l R/lib64 | grep “^-“ | wc -l
显示目录的树状结构 tree指令 (先安装:yum install tree)
网络配置
虚拟网卡、真实网卡
- 母机的真实网卡对应的ip是属于局域网的网段,该局域网可以通过网关来访问因特网。
当子机与母机网络连接时采用NAT模式时,虚拟机创建一块虚拟网卡,并给虚拟网卡分配了同一个网段下的不同ip(该网段不同于局域网的网段,所以不占用局域网ip)。由此,子机和母机通过虚拟网卡对应的ip建立了直接连接。而子机与局域网内或因特网其他设备则是借由母机的真实网卡对应的ip来进行间接连接(代理连接)。
创建虚拟网络NAT
1. VMware-mac版的创建一个虚拟网络。如下vmnet2。
2. 在mac上配置该虚拟网络(子网\mask\网关)
配置子网ip和mask
cd /Library/Preferences/VMware\ Fusion/sudo vim networking

见下是文件中的VNET_2开头的配置就是我们创建虚拟网络。注:默认的子网地址和掩码正是我们自定义的。
配置网关和mask
cd /Library/Preferences/VMware\ Fusion/sudo vim vmnet2/

3. 使用虚拟网络。见下子机中的设置。
linux中:查看ip、网关、dns、主机名
下面是dhcp自动获取的ip、网关、dns。查看它们可以作为配置静态ip的参考。
ifconfig -a ip=172.16.133.128
用route -n指令。 网关=172.16.133.2
cat /etc/resov.conf指令来查看域名服务器: dns=172.16.133.2
hostname 指令,查看主机名
母机(mac为例):查看ip、网关等
配置静态ip(/etc/sysconfig/network-scripts/ifcfg-eth0文件)
/etc/sysconfig/network-scripts/ifcfg-eth0文件 (如果是eth0网卡的话,其他网卡对应的配置文件类推)
另外:centos7以上版本为/etc/sysconfig/network-scripts/ifcfg-ens33文件
该文件的关键配置项:ONBBOT=yes, BOOTPROTO=static。IPADDR, GATEWAY, DNS1 是指定的ip、网关、dns。
文件修改前,eth0网卡通过dhcp自动获取ip、网关、dns。
查看/etc/sysconfig/network-scripts/ifcfg-eth0 ,可见BOOTPROTO=dhcp。
文件修改后,1. eth0网卡指定为静态的ip、网关、dns。 2. service network restart重启网络服务。
- 可以参考dhcp自动获取的ip、网关、dns等可用的配置进行修改。或者见下创建虚拟网络NAT来自定义设置子网ip等。
- 修改后dns不行可以尝试增加DNS2=114.114.114.114

测试结果:下面可见已被修改为指定ip,且可以ping通互联网。 重启linux也是一样的。
重启网络服务:service network restart指令
修改主机名
注意重启linux
hosts文件:域名与ip的映射
比如www.baidu.com域名,若hosts中存在ip映射,那么直接使用该ip,否则去dns服务器查询域名对应的ip。
hosts文件:主机名映射本机ip

进程管理


ps -aux
ps -aux | more
ps -aux | grep sshd
ps -ef
pstree -pu
查看进程树
-p 显示pid
-u 显示uid
kill 进程id
killall 名称,可带通配符
kill -9 进程id
kill案例:终止sshd、终止非法登陆
ps -aux | grep sshd 找到非法用户的sshd进程id
kill pidp
killall案例:终止父进程和所有子进程
killall jupyter
服务管理 service指令(cenos7后是systemctl指令)、chkconfig指令
- 服务本质是进程,但是运行在后台,通常会监听某个端口,等待其他程序的请求,因此又被称为守护进程。
- 服务运行级别与服务之间的关系:每个服务都设定了在xx运行级别下是否自启动。
service指令:即时生效且临时有效
service iptables status 查看防火墙(即开放的端口)
service iptables start 启动防火墙
service iptables stop 停止防火墙
talent 192.168.184.13:22 查看22端口是否被监听且可访问
/etc/init.d/ 目录下存放了所有服务
ls -l /etc/init.d/
ls -l /etc/init.d/sshd
chkconfig指令:为服务设置运行级别(重启生效,且永久有效)
服务运行级别与服务之间的关系:每个服务都设定了在xx系统运行级别下是否自启动。
修改默认系统运行级别 vim /etc/inittab

chkconfig —list
查看所有服务在xx系统运行级别是否自启动
chkconfig —list | grep sshd
chkconfig —level 5 sshd off
设置sshd服务在系统运行级别5下不自启动。
service和chkconfig重要案例

动态监控进程 top
top -u root
top -d 10
top的互动指令:k、P、M、N、q
k,输入要kill的目标pid
P - 按cpu使用率排序
M - 按内存占用排序
N - 以PID排序
q - 退出top
监控网络状态 netstat
netstat -anp | more 查看所有网络服务
netstat -anp | grep sshd 查看指定网络服务
netstat -tunlp
iotop 监控查看io读写
rpm包的管理


rpm -qa 查询已安装软件包
rpm -q firefox 查询指定包是否安装
rpm -qi firefox 查询指定包信息
rpm -ql firefox 查询指定包的下所有文件的安装路径
rpm -qf 文件路径 查询指定文件属于那个包
rpm -e firefox 卸载指定软件包
rpm -e —nodeps firefox 忽略依赖,强制卸载指定包(不推荐)
rpm -ivh xxx.rpm 离线安装包

yum包管理 - 基于rpm

yum install firefox
默认安装最新版本的指定包
yun常用命令
- 列出所有可更新的软件清单命令:yum check-update
- 更新所有软件命令:yum update
- 仅安装指定的软件命令:yum install
- 仅安装指定的软件命令:yum install
- 仅更新指定的软件命令:yum update
- 仅更新指定的软件命令:yum update
- 列出所有可安裝的软件清单命令:yum list
- 删除软件包命令:yum remove
- 删除软件包命令:yum remove
- 查找软件包命令:yum search
- 查找软件包命令:yum search
- 清除缓存命令:
安装步骤:
首先备份/etc/yum.repos.d/CentOS-Base.repo
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
下载对应版本 repo 文件, 放入 /etc/yum.repos.d/ (操作前请做好相应备份)
- CentOS5 :http://mirrors.163.com/.help/CentOS5-Base-163.repo
- CentOS6 :http://mirrors.163.com/.help/CentOS6-Base-163.repo
- CentOS7 :http://mirrors.163.com/.help/CentOS7-Base-163.repo
wget http://mirrors.163.com/.help/CentOS6-Base-163.repo mv CentOS6-Base-163.repo CentOS-Base.repo
运行以下命令生成缓存
yum clean all yum makecache
除了网易之外,国内还有其他不错的 yum 源,比如中科大和搜狐。
中科大的 yum 源,安装方法查看:https://lug.ustc.edu.cn/wiki/mirrors/help/centos
sohu 的 yum 源安装方法查看: http://mirrors.sohu.com/help/centos.html
yum provides libstdc++.so.6
对于 Linux 软件安装时提示缺失库的,可以使用 yum 的 provides 参数查看 libstdc++.so.6 的库文件包含在那个安装包中只需要执行:
yum provides libstdc++.so.6
然后按查询到安装包包名,使用 yum install 安装即可。
面试题









