运维培训2.28

---目录处理命令---

(34)gzip *:对目录中的文件进行压缩;压缩后文件格式:gz。

(35)gunzip:解压缩.gz的压缩文件。

(36)tar:打包目录;-c,打包;-v,显示详细信息;-f,指定文件名;-z,打包同时压缩;压缩后文件格式:.tar.gz。| -x,解包;-z,解压缩。

(37)bzip2:压缩文件;-k,产生压缩文件后保留原文件;-j,压缩;压缩后文件格式:.bz2。| -x,解包;-j,解压缩。

(38)wall:发广播信息。

(39)ping:测试网络连接性;-c,指定发送次数。

(40)ifconfig(ip addr):查看和设置网卡信息。

(41)last:列出目前与过去登入系统的用户信息。

(42)lastlog:检查某特定用户上次登录的时间。

(43)netstat:显示网络相关信息;-t,TCP协议;-u,UDP协议;-l,监听;-p,显示相关链接的程序名;-n,显示IP地址和端口号,能显示数字的都转换为数字;-a,显示所有网络连接。

(44)setup:配置网络。(界面)

(45)shutdown:关机重启命令;-c,取消前一个关机命令;-h,关机;-r,重启;+m,相对时间表示法,从命令提交开始多少分钟之后;hh:mm,绝对时间表示,指明具体时间。

---重定向符号---

(1)>,输出重定向到一个文件或设备,覆盖原文件;>>,追加;<,输入重定向。

(2)<,(标准输入)代码为0;1>,(标准输出)代码为1;2>,(错误输出)代码为2,覆盖原件;2>>,追加标准输出。

(3)2>&1(>&),将一错误输出重定向到标准输出。

3. VI/VIM编辑器使用

(1)查找:/word,从上而下查找字符串“”“word”;?word,从下而上查找字符串“”“word”;n,定位下一个匹配的被查找字符串;N,定位上一个匹配的被查找字符串。

(2)保存文件及退出编辑器::w,保存;:w/root/newfile,另存为其他文件;:q,未修改退出;:q!,放弃修改并退出;:wq,保存退出;:x,若有修改存盘退出;ZZ,存盘并退出。

(3)替换::%s/old/new/g,在整个文件范围内替换所有的字符串“old”为“new”;:%s/old/new/gc,在替换命令末尾加入c命令,将对每个替换动作提示用户进行确认。

(4)0,移动到该行首;$,移动到该行末;G,移至文件最后行;nG,移至文件第n行。

(5)dd,删除光标所在的行;ndd,删除包括光标所在行的n行文本;u,恢复刚才被修改的文本;U,恢复光标所在行的所
有修改;Y,复制到当前行的编辑缓冲区;nY,复制当前行开始的n行至编辑缓冲区;p,将编辑缓冲区的内容粘贴到光标后的一行;P,将编辑缓冲区的内容粘贴到光标前的一行;:set nu,显示行号;:set nonu 不显示行号。

4. RPM软件包管理

软件包分源码包(脚本安装包)、二进制包(RPM包、系统默认包)。

源码包优点:可以修改源代码;可以自由选择所需功能;软件是编译安装,更适合自己操作;更稳定也效率更高;卸载方便。

源码包缺点:安装过程步骤较多,尤其安装较大的软件集合时(如LAMP环境搭建),容易出现拼写错误;编译过程时间较长,安装比二进制安装时间长;因为是编译安装,安装过程中一旦报错新手很难解决。

RPM源码包: *.src.rpm结尾的这类软件包是包含了源代码的rpm包,使用rpm -ivh来进行安装,生成源程序和SPEC文件,能够
直接生成RPM包。

RPM二进制包优点:包管理系统简单,只通过几个命令就可以实现包的安装、升级、查询和卸载;安装速度比源码包安装快的多。

二进制包缺点:经过编译,不再可以看到源代码;功能选择不如源码包灵活;依赖性。

RPM包命名原则:(例:httpd-2.2.15-15.el6.centos.1.i686.rpm)—httpd,软件包名;2.2.15,软件版本号(主版本.次版本.修正号);15,软件发布的次数;el6.centos ,适合的Linux平台;i686,适合的硬件平台;rpm,包扩展名。

RPM包依赖性:树形依赖: a->b->c;环形依赖: a->b->c->a;模块依赖,模块依赖查询网站(www.rpmfind.net)。

包全名:操作的包是没有安装的软件包时,使用包全名。包名: 操作已经安装的软件包时,使用包名;其实是搜索/var/lib/rpm/中的数据库。

(1)RPM安装:rpm -ivh 包全名;-i(install),安装;-v(verbose),显示详细信息;-h(hash),显示进度。

(2)RPM包升级:rpm -Uvh 包全名;-U(upgrade),升级。

(3)卸载:rpm -e 包名;-e(erase ) 卸载;--nodeps 不检查依赖性;若有依赖关系:先卸载后安装的rpm。

(4)查询是否安装:rpm -qa 包名;-q,查询(query);-a,所有包(all)。

(5)查询软件包详细信息:rpm –qi 包名(已安装的软件信息);-i,查询软件信息(information)。

(6)查询包中文件安装位置:rpm –ql 包名;-l,列表(list)。

(7)查询系统文件属于哪个RPM包:rpm –qf 系统文件名;-f,查询系统文件属于哪个软件包(file)。

(8)查询软件包的依赖性: rpm –qR 包名;-R,查询软件包的依赖性(requires)。

5. YUM仓库配置

yum:使用中心仓库的概念来自动计算各种安装包的依赖关系,能够自动查询并安装用户请求安装的软件包所依赖的其他软件包。1)搜索命令:yum search 关键字;2)安装命令:yum install packages;3)升级命令:yum update packages;4)查询命令:yum info / list packages;5)卸载命令:yum remove/erase packages;6)清理缓存命令:yum clean packages。

中心仓库repository的配置:yum通过指定网络中的软件包更新源或者软件包服务器来实现对yum中心仓库的定义,中心仓库repository配置文件在/etc/yum.repos.d目录中。

全局管理man的配置:yum通过对下载的软件包的存储目录、软件包是否保存、日志记录等进行定义,实现Linux系统yum命令全局管理的配置,全局管理man的配置文件在/etc/yum.conf目录中。

[main]

cachedir=/var/cache/yum #yum下载的RPM包的缓存目录

keepcache=0 #缓存是否保存,1保存,0不存

debuglevel=2 #调试级别(0-10),默认为2

logfile=/var/log/yum.log #yum的日志文件所在位置

exactarch=1 #更新时,是否允许更新不同版本的RPM包

obsoletes=1 #update参数,是否允许更新陈旧RPM包

gpgcheck=1 #是否检查GPG(秘钥签名)

plugins=1 #是否允许使用插件,默认是0不允许

installonly_limit=3 #允许保留几个内核包

exclude=selinux* #屏蔽不更新的RPM包可用通配符,多个RPM包之间使用空格分离

6. 源码包的安装

RPM包默认安装路径:/etc/,配置文件安装目录;/usr/bin/,可执行的命令安装目录;/usr/lib/,程序所使用的函数库保存位置;/usr/share/doc/,基本的软件使用手册保存位置;/usr/share/man,帮助文件保存位置。

RPM包安装的服务可以使用系统服务管理命令(service)来管理,而源码包安装的服务则不能被服务管理命令管理,因为没有安装到默认路径中,所以只能用绝对路径进行服务的管理。

源码包安装位置:一般是 /usr/local/软件名/;源代码保存位置:/usr/local/src/;软件安装位置:/usr/local/ 。

软件配置与检查:./configure;定义需要的功能选项,及安装位置;检测系统环境是否符合安装要求;把定义好的功能选项和检测系统环境的信息都写入Makefile文件,用于后续的编译。

./configure的常见参数

--prefix=PREFIX #把所有文件安装在PREFIX中而不是默认的路径(如 /usr/local/xxx 中)。默认是"/"或者是"/usr/local"等

--exec-prefix=EXEC-PREFIX #指定体系相关的文件的安装位置,默认是PREFIX

--bindir=DIRECTORY

--sbindir=SBINDIR #可执行文件的安装位置。默认是PREFIX/bin和PREFIX/sbin

--datadir=DIRECTORY #指定所安装的只读文件的目录,默认是PREFIX/share

--sysconfdir=SYS-CONFDIR #用于各种配置文件,默认是PREFIX/etc,也可能是PREFIX/var

--libdir=LIBDIR #库文件目录,默认EXEC-PREFIX/lib

--includedir=INCLUDEDIR #C/C++头文件的目录,默认是PREFIX/include

--docdir=DOCDIR #文档文件(除了man)被安装的路径,默认PREFIX/doc

--mandir=MANDIR #Manual为之,默认是PREFIX/man

--with-includes=WITH-INC #一系列冒号分割的目录,这些会被加入-I选项中

--with-libraries=WITH-LIB #一系列冒号分割的目录,指定编译时搜索的库的位置

CC=... #指定编译器,默认为gcc、cc或者HOST-gcc