第一章 文件和目录管理
绝对路径
一定是从根目录开始
例如:/dev/bus/usb ,/dev/bus/usb 是usb的绝对路径
相对路径
不从根目录开始
例如:/dev/bus/usb ,bus是usb的相对路径
ls
ls指出目录或文件 不加任何东西 列出当前目录和文件(不包含隐藏文件)
-a 列出当前所有文件或目录,包含隐藏文件
-l 列出当前目录文件外的所有文件和目录的详细信息权限、所属主、所属组及文件创建日期和时间
--ld 查看指定目录属性
后面不加选项、只跟文件名会列出该文件
后面不加选项、只跟目录名会列出指定目录下的文件和目录
cd
切换目录 直接cd切换到当前用户的根目录 cd后只能加目录路径 不可是文件 cd ..回到上一目录
mkdir
创建目录 -m 创建目录权限 -p 创建连串目录
rmdir
删除目录
只能删除空目录 -p 删除连串空目录
rm
删除文件
-r可以删除目录 并会询问是否删除Y/N
-f 强制删除 强制删除目录要和-r同用
环境变量
因为/bin目录在PATH的设定中,所以自然可以找到ls ,由于PATH里没有/root目录如果你将ls移到/root目录下,当执行ls命令时,系统自然就找不到可执行文件了
# PATH=$PATH:/root
# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/root
# ls
anaconda-ks.cfg
将root 加入到$PATH 中
which
用于查找某个命令的绝对路径
例如:[cfx@localhost root]$ which cd
/usr/bin/cd
echo
标准输出或文件写入
echo 内容 > 文件名 > :重定向 >>:追加不覆盖
cp
复制文件 cp [选项][来源文件][目的文件]
例如复制test1 复制成test2 可用cp test1 test2
-r 复制目录
mv
移动文件和目录 mv[选项][源文件和目录][目标文件和目录]
目标目录若存在直接放入,如不存在自动创建新目录
cat
显示文件内容(不能翻页) 直接加文件名
-n 可显示行号 -A 显示所有内容(包括特殊字符) tac 顺序相反
tac
命令cat一样,显示文件内容tac(是命令cat的反序写法),只不过是先显示最后一行,然后显示倒数第二行,最后才显示第一行
more
查看文件内容(Ctrl➕d上翻)(空格或Ctrl➕f下翻) q 退出 / 输入字符串可查找
less
查看文件内容 一行一行 j下翻 k上翻
head
默认显示前十行 -n 可选择显示到第几行 后加文件名
tail
默认显示后十行 -n 可选择显示到最后几行 后加文件名
文件属性
ls -l
例如 -rw-rw-r--. 1 cfx cfx 大小 0 9月 12 18:51 bb
第一位为文件类型
d :为目录
:普通文件
b:设备
c:字符设备文件 如(鼠标.外接设备)
9位字母 3位一组,r:可读(4) w: 可写(2) x: 可执行(1) 前三位代表所有者(user)的权限, 中间三位代表所属组(group)的权限,最后三位代表非本群组用户的权限(others)
第二列为节点,第三列为文件所有者,第四列为文件所属组,第五列为文件大小,第六七八列为文件最后一次被修改日期,第九列为文件名称
find
搜索文件 [路径][参数]
find . –name “xx*,*xx,通配符”
更改文件权限
chgrp
更改文件的所属组
# groupadd group1
# mkdir /tmp/111
# cd /tmp/111
# touch test1
# ls -l test1
-rw-r--r--. 1 root root 0 12月 31 14:16 test1
# chgrp group1 test1
# ls -l test1
-rw-r--r--. 1 root group 1 0 12月 31 14:16 test1
更改目录用户的所属组,示例命令如下:
# mkdir dir2
# touch dir2/test2
# ls -ld dir2
drwxr-xr-x. 2 root root 19 12月 31 14:27 dir2
# chgrp testgroup dir2
# ls -ld dir2
drwxr-xr-x. 2 root testgroup 19 12月 31 14:27 dir2
# ls -l dir2
总用量 0
-rw-r--r--. 1 root root 0 12月 31 14:27 test2
上例中,chgrp命令只更改了目录本身,而目录下的文件并没有更改。如果要想级联更改子目录以及子文件,加-R选项可以实现,示例命令如下:
# chgrp -R testgroup dir2
# ls -l dir2
总用量 0
-rw-r--r--. 1 root testgroup 0 12月 31 14:27 test2
chown
chown命令可以更改文件的所有者,其格式为:chown [-R] [账户名] [文件名]或者chown [-R] [账户名组名] [文件名]。这里的-R选项只适用于目录,作用是级联更改,即不仅更改当前目录,连目录里的目录或者文件也全部更改。示例命令如下:
# mkdir dir3
# useradd user1
# touch dir3/test3
# chown user1 dir3
# ls -ld dir3
drwxr-xr-x. 2 user1 root 19 12月 31 14:37 dir3
# chown -R user1:testgroup dir3
# ls -l dir3/test3
-rw-r--r--. 1 user1 testgroup 0 12月 31 14:37 dir3/test3
chmod
格式为:chmod [-R] xyz文件名(这里的xyz表示数字)。其中,-R选项的作用等同于chown命令的-R选项,也表示级联更改。在Linux系统中,目录的默认权限为755,文件的默认权限为644
chmod还支持使用rwx的方式来设置权限,从之前的介绍中可以发现,基本上就9个属性。我们可以使用u、g和o来分别表示user、group和others的属性,用a代表al1(即全部)
例如:
# chmod u=rwx,og=rx dir3/test3
# ls -l dir3/test3
-rwxr-xr-x. 1 user1 testgroup 0 12月 31 14:37 dir3/test3
此外,我们还可以针对u、g、o和a,增加或者减少它们的某个权限(读、写或执行),示例命令如下:
# chmod u-x dir3/test3
# ls -l dir3
总用量 0
-rw-r-xr-x. 1 user1 testgroup 0 12月 31 14:37 test3
# chmod a-x dir3/test3
# ls -l dir3/test3
-rw-r--r--. 1 user1 testgroup 0 12月 31 14:37 dir3/test3
# chmod u+x dir3/test3
# ls -l dir3/test3
-rwxr--r--. 1 user1 testgroup 0 12月 31 14:37 dir3/test3
umask
umask用于改变文件的默认权限,其格式为:umask xxx(这里的xxx代表3个数字)。如果要查看umask的值,只要在命令行输入umask,然后回车即可,如下所示:
# umask
0022
第二章 用户与用户组管理
/etc/passwd 用户账号文件
/etc/shadow 用户密码文件
/etc/group 组账号文件
/etc/gshadow 组账号密码文件
/etc/passwd(用户信息文件)
/etc/passwd的内容如下:
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
●第1个字段为用户名,它是代表用户账号的字符串。用户名中的字符可以是大小写字母、数字、减号(不能出现在首位)、点或下划线,其他字符不合法。
●第2个字段存放的是该账号的口令。早期的Unix系统口令确实存放在这里,但基于安全因素,后来就将其存放到/etc/shadow中了,这里只用一个x代替
●第3个字段为一个数字,这个数字代表用户标识号,也称为uid。系统就是通过这个数字识别用户身份的。这里的0就是root,也就是说我们可以修改test用户的uid为0,那么系统会认为root和test为同一个账户。uid的取值范围是0~65535(但实际上已经可以支持到4294967294),0是超级用户(root)的标识号,CentOs7的普通用户标识号从1000开始。如果我们自定义建立一个普通用户,你会看到该账户的标识号是大于或等于1000的
●第4个字段也是数字,表示组标识号,也称为gid。这个字段对应着/etc/group中的一条记录,其实/etc/group和/etc/passwd基本类似。
●第5个字段为注释说明,没有实际意义。通常记录该用户的一些属性,例如姓名、电话、地址等。我们可以使用chfn命令来更改这些信息,这在精后会介绍
●第6个字段为用户的家日录,当用户登录时,就处在这个目录下。root的家目录是root,普通用户的家目录则为home/username,用户家目录是可以自定义的。比如,建立一个普通用户test1,要想让testl的家目录在/data日录下,只要将/etc/passwd文件中对应该用户那行中的本字段修改为/data即可。
●最后一个字段为用户的shell。用户登录后,要启动一个进程,用来将用户下达的指令传给内核,这就是shell。Linux的shell有sh、csh、ksh、tcsh、bash等多种,而RedHat/CentOS的shell就是bash。查看etc/passwd文件,该字段中除了/bin/bash,还有很多/sbin/nologin,它表示不允许该账号登录。如果想建立一个不允许登录的账号,可以把该字段改成/sbin/nologin,默认是/bin/bash。
/etc/shadow(用户密码文件)
/etc/shadow和/etc/passwd类似,分割成9个字段,示例命令如下:
●第1个字段为用户名,与/etc/passwd对应
●第2个字段为用户密码,是该账号的真正密码。这个密码已经加密,但是有些黑客还是能够解密的。所以,将该文件属性设置为000,但root账户是可以访问或更改的。
●第3个字段为上次更改密码的日期,这个数字以1970年1月1日和上次更改密码的日期为基准计算而来。
●第4个字段为要过多少天才可以更改密码,默认是0,即不受限制
●第5个字段为密码多少天后到期,即在多少天内必须更改密码。例如,这里设置成30,则30天内必须更改一次密码:否则,将不能登录系统。默认是99999,可以理解为永远不需要改
●第6个字段为密码到期前的警告期限。若这个值设置成7,则表示当7天后密码过期时,系统就发出警告,提醒用户他的密码将在7天后到期
●第7个字段为账号失效期限。如果这个值设置为3,则表示密码已经到期,然而用户并没有在到期前修改密码,那么再过3天,这个账号便失效,即锁定。
●第8个字段为账号的生命周期。跟第3个字段一样,这个周期是按距离1970年1月1日多少天算的。它表示的含义是,账号在这个日期前可以使用,到期后账号将作废。
●最后一个字段作为保留用的,没有什么意义。
groupadd
创建组 groupadd +组名 /etc/group 查看
groupdel
删除组 groupdel+组名
# groupadd group1
groupdel:不能一处用户“group1”的主组
只有删除group1账户后才可以删除组。
useradd
创建用户 -g 添加到已有的用户组中 如果-g选项后面跟一个不存在的组名,则会报错,提示该组不存在 不加选项默认创建一个用户组
加上-M选项后则不建立用户家目录,但在/etc/passwd文件中仍然有这个字段
userdel
命令userdel的格式为userdel [-r] username,其中-r选项的作用是,当删除用户时,一并删除该用户的家目录
pf-es 查看当前所有进程
若删除失败 要停止进程:kill -9 pid(进程标码)重新删除账号即可
chfn
chfn命令用于更改用户的finger,finger其实就是在/etc/passwd文件的第5个字段显示的信息,而chfn就是用来更改这个信息。示例命令如下:
# chfn user11
Changing finger information for user11.
名称 []: user11
办公 []: user home
办公电话 []: 1234567898
住宅电话 []: 987654321
Finger information changed.
# grep 'user11' /etc/passwd
user11:x:1005:1003:user11,user home,1234567898,987654321:/home/user11:/sbin/nologin
passwd
设置密码 root 可更改其他用户密码passwd +用户名 普通用户只可以更改自己密码
身份切换
mkpasswd
命令mkpasswd用于生成密码我们安装的Linux默认是没有这个命令的需要安装一个expect软件包,安装命令如下:
# yum install -y expect
# mkpasswd
oxCS63qh%
有时,我们需要生成指定长度的密码,用mkpasswd命令也可以满足。比如,生成12为长度的密码,示例命令如下:
# mkpasswd -l 12
qMK30xlowwx_
当然,我们还可以指定密码中有几个特属字符或数字,示例命令如下:
# mkpasswd -l 12 -s 0 -d 3
7mb3qqLjqa8R
whoami
命令查看当前用户是什么 普通用户和root用户的shell起始符有些区别,root账户时#,普通用户是$.
su
切换用户 切换root su 即可 ;切换普通用户 su xxx
sudo
普通用户要想使用root权限,需使用sudo如果没有visudo这个命令,请使用命令yum install-y sudo安装
禁止远程登录
vi /etc/ssh/ssh_config
#PermitRootLogin yes
改成:
PermitRootLogin no
保存并退出。
#systemctl restart sshd.service
第三章 磁盘管理
df
查看查看已挂载磁盘的总容量、使用容量、剩余容量等,可以不加参数,默认是按k为单位
-h 使用合适的单位查看 -m k 使用mk 单位显示 -i
df -lh 查看磁盘占用情况,以及挂载位置
du
du 用来查看某个目录或文件所占空间大小.
-a全部文件与目录大小都列出来
fdisk
划分磁盘分区
-l列出系统中所有的磁盘设备及分区
(查看磁盘分区情况)fdisk -l +磁盘名
(划分)fdisk + 磁盘名称
parted
m 获得帮助
p 查看当前磁盘的分区情况
n 建立一个新的分区 p (主分区) e (扩展分区) l(逻辑分区)
w 保存操作。
q 退出
d 删除一个分区
lsblk
查看所有硬盘情况
格式化磁盘
mkfs.xfs /dev/sdbxx
lsblk –f 查看格式化情况
mount
挂载 挂载之前先格式化 直接输入mount 显示当前系统已经挂载的所有分区,以及分区文件系统的类型,挂载点和一些选项等信息
mkdir -p /home/xxx
mount /dev/sd... + xxx
lsblk –f 查看
umount
取消挂载/卸载分区 umount+ /dev/sd…
-l 强制卸载(取消挂载)
自动挂载
vim /etc/fstab
在最后一行添加
/dev/sdb… + /挂在位置 + 格式化文件系统类型(xfs)+ defaults + 0 0
LVM逻辑卷
准备磁盘分区
fdisk /dev/sdb
n 创建三个新分区
t 改变分区类型为8e
准备物理卷
pvcreate /dev/sdb1
pvcreate /dev/sdb2
pvcreate /dev/sdb3
pvdisplay/pvs 列出当前物理卷
pvremove /dev/sdb…
准备卷组
vgcreate vg1 /dev/sdb1 /dev/sdb2 /dev/sdb3
vgdisplay/vgs 列出卷组
vgremove vg1 删除物理卷组
创建逻辑卷
lvcreate + (-L) + 大小 + (-n) +逻辑卷名 +卷组名
lvdisplay 列出逻辑卷
先格式化mkfs.xfs /dev/vg1/lv1,再挂载
mkdir -p /home/xx目录
mount /dev/vg1/lv1 + /home/xx目录
lsblk-f 查看挂载
lvremove /dev/vg1/lv1 删除逻辑卷
扩容逻辑卷
lvcreate -L + 大小 + /dev/vg1/lv1
lvs/lvdisplay 列出查看
扩展卷组
fdisk /dev/sdb 新增 /dev/ sdb5(逻辑分区8e) 2G
pvcreate /dev/sdb5
vgextend vg1 /dev/sdb5
lvresize -L +大小+ /dev/vg1/lv1 (重新设置卷大小)
第四章 文本编辑vim
一般模式
我们可以移动光标的位置
按键 |
作用 |
h或向左的方向键 |
光标向左移动一个字符 |
l或向右的方向键 |
光标向右移动一个字符 |
k或向上的方向键 |
光标向上移动一个字符 |
j或向下的方向键 |
光标向下移动一个字符 |
Ctrl+B |
文本界面向前翻一页 |
Ctrl+F |
文本界面向后翻一页 |
数字0或者Shift+6 |
移动到本行行首 |
Shift+4 |
移动到本行行尾 |
gg |
移动到首行 |
G |
移动到行尾 |
nG(n是任意数字) |
移动到n行 |
yy 复制光标所在行
p 粘贴光标所在行下
P 粘贴光标所在行上
dd 删除光标所在行
u 撤销
编辑模式
按i、I、a、A、o、O、r和R中的某一个键即可
命令模式
输入:或者/即可进入命令模式。在该模式下,我们可以搜索某个字符或字符串,也可以实现保存、替换、退出、显示行号等操作
/ +word 向下查找
?+word 向上查找
:w 保存
:w!强制保存
:q 退出
:q!强制退出
:wq 保存并推出
:set nu 显示行号
:set nonu 不显示行号
第五章 文档的压缩与打包
最常见的压缩文件是.tar.gz 、.tar、.gz、.bz2、.zip格式
Linux的文件后缀名可加可不加,但压缩文件最好加上后缀名,容易区分压缩工具
Linux常见的后缀名对应的压缩工具
.gz:表示由gzip压缩工具压缩的文件。 |
.bz2:表示由bzip2压缩工具压缩的文件。 |
.tar:表示由tar打包程序打包的文件(tar并没有压缩功能,只是把一个目录合并成一个文件)。 |
.tar.gz:可以理解为先由tar打包,然后再由gzip压缩。 |
.tar.bz2:可以理解为先由tar打包,然后再由bzip2压缩。 |
.tar.xz:可以理解成先由tar打包,然后再xz压缩。 |
常见的有三种压缩工具(gzip、bzip2、xz)/ 和tar 打包工具
gzip 压缩工具
gzip [-d#] filename,其中#为1~9的数字。
-d:该参数在解压缩时使用。 |
-#:表示压缩等级,1为最差,9为最好,6为默认。 |
以gzip压缩工具压缩文件
gzip不支持压缩目录,压缩目录时会报错
压缩:gzip + 文件名 ; 解压: gzip + -d + 需解压的文件(加后缀.gz)
实例:
在tmp目录创建一个文档(1.txt)和目录(1) 在1中创建目录(test)
mv /tmp/1.txt test (将tmp目录下1.txt文档移动到test目录下)
cd test ls 1.txt(切换到test 查看 移动成功)
gzip 1.txt (压缩1.txt文档)
ls 1.txt.gz (查看 压缩成功)
例如:
[root@localhost test]# gzip 1.txt
[root@localhost test]# ls
1.txt.gz
[root@localhost test]# gzip -d 1.txt.gz
[root@localhost test]# ls
1.txt
bzip2 压缩工具
bzip2命令的格式为bzip2 [-d z] filename
-z(压缩)有无z都可以 -d(解压缩)
bzip2命令也不可以压缩目录
压缩级别有1〜9,默认级别是9
压缩:bzip2 + (-z)/ + 文件名 ; 解压: bzip2 + -d 需解压文件(加后缀.bz2)
例如:
[root@localhost test]# bzip2 1.txt
[root@localhost test]# ls
1.txt.bz2
[root@localhost test]# bzip2 -d 1.txt.bz2
[root@localhost test]# ls
1.txt
xz 压缩工具
xz命令的格式为xz [-d z] filename,和bzip2类似
-z(压缩)加不加无所谓 -d(解压缩)
压缩:xz + (-z)/ + 文件名 ; 解压: xz + -d 需解压文件名(加后缀.xz)
xz命令同样也不可以压缩目录
例如:
[root@localhost test]# xz 1.txt
[root@localhost test]# ls
1.txt.xz
[root@localhost test]# xz –d 1.txt.xz
[root@localhost test]# ls
1.txt
tar打包工具
tar本身就是一个打包工具,可以把目录打包成一个文件,它把所有文件整合成一个大文件,方便复制或者移动。该命令的格式为tar [-zjxcvfpP] filename tar,它有多个选项。不管是打包还是解包,原来的文件是不会删除
-z:表示同时用gzip压缩。 |
-J:表示同时用XZ压缩。 |
-X:表示解包或者解压缩。 |
-t:表示查看tai包里的文件。 |
-c:表示建立一个ta饱或者压缩文件包。 |
-V:表示可视化。 |
-f :后面跟文件名(即-f filename,表示压缩后的文件名为filename,或者解压文件filename。 需要注意的是,如果是多个参数组合的情况下,请把并参数写到最后面。 |
-p:表示使用原文件的属性,压缩前什么属性压缩后还什么属性。(不常用) |
-P:表示可以使用绝对路径。(不常用) |
--exclude filename:表示在打包或压缩时,不要将filename文件包括在内。(不常用) |
tar命令不仅可以打包目录,也可以打包文件,打包时不加-v选项,表示不可视化。示例如下:
[root@localhost test]# rm -f test11.tar
[root@localhost test]# tar -cf test.tar test11 1.txt
[root@localhost test]# ls
1.txt test11 test.tar
解压包中文件到指定目录
tar -xvf (包名) -C 指定解压目录
追加文件到tar 中
tar -rvf (包名) 要追加文件
列出tar 包中文件列表
tar -tvf (包名)
打包的同时使用gzip压缩
tar -czvf test11.tar.gz test11
tar命令非常好用的一个功能就是可以在打包时直接压缩,它支持gzip压缩、bzip2压缩和xz压缩。使用-z选项,可以压缩成gzip格式的文件
[root@localhost test]#tar -czvf test11.tar.gz test11
1.txt test11 test11.tar.gz test.tar
使用-tf选项,可以查看包或者压缩包的文件列表,示例命令如下:
[root@localhost test]#tar -tf testlll.tar.gz
[root@localhost test]#tar -tf test.tar
1.txt
使用-zxvf选项,可以解压.tar.gz格式的压缩包,示例命令如下:
[root@localhost test]#rm -rf test11
1.txt test11.tar.gz test.tar
[root@localhost test]#tar -zxvf tes11.tar.gz
1.txt test11 test11.tar.gz test.tar
打包的同时使用bzip2压缩
tar -cjvf test11.tar.bz2 test11
和gzip压缩不同的是,这里使用-cjvf选项来压缩,压缩过程如下:
#tar -cjvf test11.tar.bz2 test11
[root@localhost test]#Is
1.txt test11 test11.tar.bz2 test11.tar.gz test.tar
使用-tf选项来查看压缩包的文件列表,示例命令如下:
[root@localhost test]#tar -tf test11.tar.bz2
使用-jxvf选项来解压.tar.bz2格式的压缩包,示例命令如下:
[root@localhost test]#tar -jxvf test11.tar.bz2
zip 压缩工具
zip + 1.txt.zip + 1.txt
zip后面先跟目标文件名,即压缩后的自定义压缩包名,然后跟要压缩的文件或者目录
若你的CentOS没有该命令,需要使用yum工具安装它
yum install -y zip
如果想要一并压缩二级目录下的文件,必须加上-r选项
解压.zip格式文件时并不用zip命令,而是用unzip命令。解压1 .txt.zip的命令为:
[root@localhost test]#unzip l.txt.zip
若系统中没有unzip命令,需要使用yum工具安装它,如下所示:
[root@localhost test]#yum install -y unzip
zcat、bzcat的使用
上面介绍了使用-t选项可以查看tar压缩包的文件列表。对于gzip2或者bzip2压缩格式的文本文档, 我们也可以使用zcat、bzcat命令直接查看文档内容。示例命令如下:
[root@localhost test]# cp /etc/passwd ./11.txt
[root@localhost test]# cp 11.txt 22.txt
[root@localhost test]# gzip 11.txt
[root@localhost test]# bzip2 22.txt
[root@localhost test]# zcat 11.txt.gz
[root@localhost test]# bzcat 22.txt.bz2
第六章 安装RPM包或源码包
RPM 工具
挂载光驱
mount /dev/cdrom /mnt
安装RPM
rpm -ivh vsftpd-3.0.2-22.el7.x86_64.rpm
-V:表示可视化。 |
-h:表示显示安装进度。 |
-force:表示强制安装,即使覆盖属于其他包的文件也要安装。 |
-nodeps:表示当要安装的RPM包依赖于其他包时,即使其他包没有安装,也要安装这个包。 |
升级RPM
rpm -Uvh filename,其中-U选项表示升级
卸载RPM
rpm -e filename,这里的filename是通过rpm的査询功能所查询到的
得到一个已安装的包的信息
rpm -qi包名,这里也不需要加平台信息和后缀名
查询一个包是否已经安装
rpm -q 包名
rpm -qa查询当前系统所有已安装的RPM包
列出包的安装文件
rpm -ql包名
列出文件属于什么RPM包
rpm –qf +文件的绝对路径
yum 工具
列出所有的RPM包资源
yum list
GConf2.x86_64 3.2.6-8.el7 @anaconda
GeoIP.x86_64 1.5.0-14.el7 @anaconda
ModemManager.x86_64 1.6.10-4.el7 @anaconda
左侧是RPM包名,中间是版本信息,最右侧是安装信息。如果已安装,最右侧就显示@base、@updates或者@anaconda,它们前面都会有一个@符号,这很好区分。如果未安装,则显示base或者anaconda;如果RPM包已安装但需要升级,则显示updates
搜索RPM包
yum search +[相关关键词]
安装RPM包
yum install [-y] [RPM包名]
-y 省略询问
rpm -q libjpeg-turbo -devel
查询一个包是否安装
卸载RPM包
yum remove [-y] [RPM包名]
升级RPM包
为yum update [-y] [RPM包]
用本地光盘制作yum源
挂载光盘 mount /dev/cdrom /mnt
删除/etc/yum.repos.d目录下所有的repo文件
cp -r /etc/yum.repos.d/ /etc/yum.repos.d_bak
rm -rf /etc/yum.repos.d/*
创建新文件local.repo
vim /etc/yum.repos.d/local.repo
刷新repos生成缓存
yum makecache
开始安装
yum install -y vsftpd
使用YUM工具下载RPM包
我们需要先恢复之前的yum源,否则后续使用yum还会出现问题
rm -rf /etc/yum.repos.d
mv /etc/yum.repos.d_bak/ /etc/yum.repos.d
yum list
我们有时候需要下载RPM但不安装,
yum install 包名 -y --downloadonly
下载完默认在/var/cache/yum/ x86_64/7/xxx/packages下面
下载到指定目录
yum install 包名 -y --downloadonly --downloaddir=/usr/local/src
安装源码包
没有安装gcc,就无法编译源码,你可以使用命令yum install -y gcc来完成安装
(1)./configure。这一步可以定制功能,加上相应的选项即可,具体有什么选项可以通过命令./configure --help来查看。这一步会自动检测你的Linux系统与相关的套件是否有编译该源码包时 所需要的库,因为一旦缺少某个库,就不能完成编译。只有检测通过后,才会生成Makefile文件。
(2)make。使用这个命令,会根据Makefile文件中预设的参数进行编译,这一步其实就是gcc在工作了。
(3)make install。这步是安装步骤,用于创建相关软件的存放目录和配置文件。
对于以上这3个步骤,并不是所有的源码包软件都一样,也就是说,源码包的安装并没有标准的 安装步骤。这就需要你拿到源码包解压后,进入目录,找到相关的帮助文档(通常,会以INSTALL或 者README为文件名)
下载源码包
cd /usr/local/src/
wget https://ftp.bit.nl/apache/httpd-2.2.29.tar.gz
解压源码包
解压.tar.gz格式的压缩包
tar -zxvf httpd-2.2.29.tar.gz
生成makefile 缓存
cd httpd-2.2.29 首先,进入解压后的源码目录
./configure --prefix=/usr/local/apache2
安装gcc编译器
yum install -y gcc
./configure --prefix=/usr/local/apache2
验证这步是否成功的命令:
echo $?
进行编译
生成Makefile后,需要进行编译
Make
echo $? 查看是否为0
安装
make install
可以使用echo $?验证是否安装成功。执行完这一步,就会在/usr/local/apache2目录下增加很多目录