Linux常用命令用法

第一章  文件和目录管理

绝对路径

一定是从根目录开始

         例如:/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个属性。我们可以使用ugo来分别表示usergroupothers的属性,用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:表示同时用bzip2压缩tree。

-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

 [root@localhost test]#Is

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

[root@localhost test]#Is

1.txt test11.tar.gz test.tar

[root@localhost test]#tar -zxvf tes11.tar.gz

 [root@localhost test]#Is

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

-i:表示安装。

-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目录下增加很多目录

猜你喜欢

转载自blog.csdn.net/2301_79739036/article/details/134499208